|
|
@@ -15,7 +15,7 @@ import {onMounted, onUnmounted} from 'vue'
|
|
|
import {useFabricStore, useMainStore, useTemplatesStore, useUserStore} from '@/store'
|
|
|
import {useRouter} from 'vue-router'
|
|
|
import {unzip} from "@/utils/crypto"
|
|
|
-import {getDesignTemplateEdit, getPreViewTemplate, getTemplateData, tmpSaveUserDesign, updateDesignTemplate} from '@/api/template'
|
|
|
+import {getDesignTemplateEdit, getPreViewTemplate, getTemplateData, newDesignOrder, tmpSaveUserDesign, updateDesignTemplate} from '@/api/template'
|
|
|
import {contextMenus} from '@/configs/contextMenu'
|
|
|
import {initEditor} from '@/views/Canvas/useCanvas'
|
|
|
import {initPixi} from '@/views/Canvas/usePixi'
|
|
|
@@ -30,8 +30,9 @@ const templatesStore = useTemplatesStore()
|
|
|
const userStore = useUserStore()
|
|
|
const {uuid} = storeToRefs(userStore);
|
|
|
const {wrapperRef, canvasRef} = storeToRefs(fabricStore)
|
|
|
-const {getJSONData} = useCanvasExport()
|
|
|
+const {getJSONData, getSVGData} = useCanvasExport()
|
|
|
let outerSessionId = ""
|
|
|
+let tmpSaveFlag = true
|
|
|
|
|
|
const {drawAreaFocus} = storeToRefs(mainStore)
|
|
|
const {keydownListener, keyupListener, pasteListener} = useCanvasHotkey()
|
|
|
@@ -143,17 +144,19 @@ const initRouter = async (templateId: number, runMode: number, outerSessionId: a
|
|
|
|
|
|
//递归调用的目的是不会导致任务堆积,虽然也没什么可能存一下超过5秒
|
|
|
const tmpSaveCurrentTemplate = () => {
|
|
|
- const tmpTemplate = {
|
|
|
- templateName: outerSessionId,
|
|
|
- jsonContent: getJSONData()
|
|
|
- }
|
|
|
-
|
|
|
- tmpSaveUserDesign(JSON.stringify(tmpTemplate)).then((res) => {
|
|
|
- if (res.httpCode == 200) {
|
|
|
- // ElMessage.success('暂存成功')
|
|
|
- setTimeout(tmpSaveCurrentTemplate, 5000);
|
|
|
+ if (tmpSaveFlag) {
|
|
|
+ const tmpTemplate = {
|
|
|
+ templateName: outerSessionId,
|
|
|
+ jsonContent: getJSONData()
|
|
|
}
|
|
|
- })
|
|
|
+
|
|
|
+ tmpSaveUserDesign(JSON.stringify(tmpTemplate)).then((res) => {
|
|
|
+ if (res.httpCode == 200) {
|
|
|
+ // ElMessage.success('暂存成功')
|
|
|
+ setTimeout(tmpSaveCurrentTemplate, 5000);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
onMounted(async () => {
|
|
|
@@ -190,6 +193,30 @@ onMounted(async () => {
|
|
|
|
|
|
if (message.msgType == "loadTemplate") {
|
|
|
getPreviewTemplateDetail(query.template, message.data, uuid.value)
|
|
|
+ } else if (message.msgType == "submitOrder") {
|
|
|
+ //提交当前设计
|
|
|
+ // const svgData: string[] = []
|
|
|
+ // svgData.push(btoa(unescape(encodeURIComponent(getSVGData()))))
|
|
|
+
|
|
|
+ // exportSVG()
|
|
|
+
|
|
|
+ //先停止自动暂存定时器
|
|
|
+ tmpSaveFlag = false
|
|
|
+
|
|
|
+ const svgHtml = getSVGData()
|
|
|
+ console.log(svgHtml)
|
|
|
+ newDesignOrder(svgHtml, uuid.value).then((response) => {
|
|
|
+ if (response.httpCode == 200) {
|
|
|
+ console.log(response.data)
|
|
|
+
|
|
|
+ //给父页面发送canClose消息,表示可以关掉本页面了
|
|
|
+ const closeMsg = {
|
|
|
+ msgType: 'canClose'
|
|
|
+ }
|
|
|
+ window.parent.postMessage(JSON.stringify(closeMsg), '*');
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
})
|
|
|
|