Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
65e6340aef
@ -2,17 +2,33 @@ import request from '@/utils/request'
|
|||||||
|
|
||||||
//新增
|
//新增
|
||||||
export function insertScriptEdgeNode(data) {
|
export function insertScriptEdgeNode(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/manage/script/updateScriptEdgeNode',
|
url: '/manage/script/updateScriptEdgeNode',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 话术列表
|
// 话术列表
|
||||||
export function selectScriptEdgeNode(id) {
|
export function selectScriptEdgeNode(id) {
|
||||||
|
return request({
|
||||||
|
url: `/manage/script/selectScriptEdgeNode?id=${id}`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 上传
|
||||||
|
export function uploadScriptInfo(data) {
|
||||||
return request({
|
return request({
|
||||||
url: `/manage/script/selectScriptEdgeNode?id=${id}`,
|
url: '/manage/script/uploadScriptInfo',
|
||||||
method: 'get'
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 修改接口
|
||||||
|
export function edit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/manage/script/edit',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -399,12 +399,12 @@
|
|||||||
<!-- 下载图片 -->
|
<!-- 下载图片 -->
|
||||||
<section class="save-as-image-dialog">
|
<section class="save-as-image-dialog">
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="下载图片"
|
title="生成图片"
|
||||||
:visible.sync="saveAsImageDialogVisible"
|
:visible.sync="saveAsImageDialogVisible"
|
||||||
width="360px"
|
width="360px"
|
||||||
>
|
>
|
||||||
<el-form label-width="100px" label-position="top">
|
<el-form label-width="100px" label-position="top">
|
||||||
<el-form-item label="选择图片格式">
|
<el-form-item label="图片格式">
|
||||||
<el-select v-model="saveAsImageFormat">
|
<el-select v-model="saveAsImageFormat">
|
||||||
<el-option label="jpg" value="jpg">
|
<el-option label="jpg" value="jpg">
|
||||||
<span style="float: left">jpg</span>
|
<span style="float: left">jpg</span>
|
||||||
@ -412,12 +412,12 @@
|
|||||||
>白色背景</span
|
>白色背景</span
|
||||||
>
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
<el-option label="png" value="png">
|
<!-- <el-option label="png" value="png">
|
||||||
<span style="float: left">png</span>
|
<span style="float: left">png</span>
|
||||||
<span style="float: right; color: #8492a6; font-size: 13px"
|
<span style="float: right; color: #8492a6; font-size: 13px"
|
||||||
>透明背景</span
|
>透明背景</span
|
||||||
>
|
>
|
||||||
</el-option>
|
</el-option> -->
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@ -465,9 +465,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import G6Editor from "@antv/g6-editor";
|
import G6Editor from "@antv/g6-editor";
|
||||||
import mixin from "../mianview/mixin";
|
import mixin from "../mianview/mixin";
|
||||||
import { insertScriptEdgeNode, selectScriptEdgeNode } from "@/api/system/preview";
|
import { insertScriptEdgeNode, selectScriptEdgeNode, uploadScriptInfo, edit } from "@/api/system/preview";
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
import { construct } from "netflix-conductor-json-tree/dist/index";
|
import { construct } from "netflix-conductor-json-tree/dist/index";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "VueG6Editor",
|
name: "VueG6Editor",
|
||||||
mixins: [mixin],
|
mixins: [mixin],
|
||||||
@ -787,6 +788,35 @@ export default {
|
|||||||
this.editor.getCurrentPage().hideGrid();
|
this.editor.getCurrentPage().hideGrid();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 将data:image/png;base64,格式的Base64字符串转换为File对象
|
||||||
|
base64ToFile(base64Data, filename) {
|
||||||
|
const now = new Date();
|
||||||
|
const nowdata = now.toTimeString().split(' ')[0]; // 获取时分秒
|
||||||
|
console.log(nowdata,'nowdata')
|
||||||
|
const nowdatanew=nowdata.replace(/:/g, '-')
|
||||||
|
// this.attributeName.replace(/:/g, '-');
|
||||||
|
const name = Cookies.get('username')
|
||||||
|
// 将base64的数据类型前缀去掉(如果有必要)
|
||||||
|
const base64Regex = /^data:([^;]+);base64,/;
|
||||||
|
const matches = base64Data.match(base64Regex);
|
||||||
|
// const mimeType = matches ? matches[1] : '';
|
||||||
|
const mimeType = 'image/jpg';
|
||||||
|
const base64String = base64Data.replace(base64Regex, ''); // 获取去掉前缀的base64字符串
|
||||||
|
// 将base64字符串转换为二进制数据
|
||||||
|
const binaryString = atob(base64String);
|
||||||
|
const len = binaryString.length;
|
||||||
|
const bytes = new Uint8Array(len);
|
||||||
|
for (let i = 0; i < len; i++) {
|
||||||
|
bytes[i] = binaryString.charCodeAt(i);
|
||||||
|
}
|
||||||
|
// 将二进制数据转换为Blob对象
|
||||||
|
const blob = new Blob([bytes], { type: mimeType });
|
||||||
|
// 创建File对象
|
||||||
|
const file = new File([blob], nowdatanew+name + '.jpg', { type: mimeType });
|
||||||
|
return file;
|
||||||
|
},
|
||||||
|
|
||||||
// 保存为图片
|
// 保存为图片
|
||||||
saveAsImage() {
|
saveAsImage() {
|
||||||
let newCanvas;
|
let newCanvas;
|
||||||
@ -804,6 +834,28 @@ export default {
|
|||||||
newCanvas = this.editor.getCurrentPage().saveImage();
|
newCanvas = this.editor.getCurrentPage().saveImage();
|
||||||
}
|
}
|
||||||
let imageDataURL = newCanvas.toDataURL();
|
let imageDataURL = newCanvas.toDataURL();
|
||||||
|
console.log(imageDataURL, 'imageDataURL')
|
||||||
|
const file = this.base64ToFile(imageDataURL);
|
||||||
|
console.log(file, '0000000000')
|
||||||
|
// return
|
||||||
|
let formDatanew = new FormData();
|
||||||
|
formDatanew.append("file", file);
|
||||||
|
console.log(formDatanew, 'formDatanew')
|
||||||
|
uploadScriptInfo(formDatanew).then(response => {
|
||||||
|
if (response.code == 200) {
|
||||||
|
var obj={
|
||||||
|
id:Cookies.get('id'),
|
||||||
|
scriptFilePath:response.imgUrl
|
||||||
|
}
|
||||||
|
|
||||||
|
edit(obj).then(response => {
|
||||||
|
if (response.code == 200) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// return file;
|
||||||
let downloadLink = document.createElement("a");
|
let downloadLink = document.createElement("a");
|
||||||
downloadLink.download = "图片.jpg";
|
downloadLink.download = "图片.jpg";
|
||||||
downloadLink.href = imageDataURL;
|
downloadLink.href = imageDataURL;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user