diff --git a/src/router/index.js b/src/router/index.js index fef53cbb..2b9f8e5d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -48,6 +48,11 @@ const constantRoutes = [ name: 'editCreative', component: () => import(/* webpackChunkName: 'creative' */ '@views/Creative/Creation.vue') }, + { + path: '/ring360-preview', + name: 'editCreative', + component: () => import(/* webpackChunkName: 'creative' */ '@views/Creative/Ring360Preview.vue') + }, { path: '/luck', name: 'luck', diff --git a/src/views/Creative/MyCreation.vue b/src/views/Creative/MyCreation.vue index c4cbfbbb..3b681473 100644 --- a/src/views/Creative/MyCreation.vue +++ b/src/views/Creative/MyCreation.vue @@ -42,6 +42,9 @@ @@ -115,11 +119,14 @@ import { currentMock } from "./creation.mock"; import { CREATIVE_TYPE, CREATIVE_TYPE_S } from "./components/Create3D.constant"; import { getMaterials, delMaterialCenter } from "./api"; import { useRouter } from "vue-router"; +import Previewer3D from "./components/Previewer3D/Index.vue" const router = useRouter(); const renameCreationRef = ref(); +const previewer3DRef = ref(); + const create3DRef = ref(); const current = ref([0]); diff --git a/src/views/Creative/Ring360Preview.vue b/src/views/Creative/Ring360Preview.vue new file mode 100644 index 00000000..332f8c07 --- /dev/null +++ b/src/views/Creative/Ring360Preview.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/views/Creative/components/Create3D.constant.js b/src/views/Creative/components/Create3D.constant.js index 525c5007..2b2a15cd 100644 --- a/src/views/Creative/components/Create3D.constant.js +++ b/src/views/Creative/components/Create3D.constant.js @@ -952,7 +952,9 @@ const factorys = [ { type: CREATIVE_TYPE.RING_360, build: (data) => { - + return { + imgs: data.data.fileList.map(x => ({name: x.name, url: x.response.url})) + }; } }, { diff --git a/src/views/Creative/components/Create3D.vue b/src/views/Creative/components/Create3D.vue index c0880ccb..ea8ee75b 100644 --- a/src/views/Creative/components/Create3D.vue +++ b/src/views/Creative/components/Create3D.vue @@ -31,6 +31,28 @@ +
+ + + + + + + 上传 + + +

+ 图片格式、大小、数量要求:jpg、png格式,分辨率需保持一致,单个环物素材包最大支持上传500M,不多于40张。建议上传30~40张图片,单个环物素材包50M效果更佳。图片命名:图片名称后缀按照字母/数字升序命名(如,01、02、03…,以此类推,单反拍摄素材名可自动识别)。 +

+
+
+ + +
+
+
+
+
@@ -40,6 +62,7 @@ import { CREATIVE_TYPE_S, CREATIVE_TYPE, buildData } from "./Create3D.constant"; import { THREE_D_TYPE } from "./CreateMaterial.constant"; import ChooseMarerial from "./ChooseMarerial.vue" const { ref, reactive }=require("@vue/reactivity"); +import common from "@/api/common.js"; import { createMaterialCenter } from "../api"; const emit = defineEmits(["complete"]); @@ -57,10 +80,16 @@ const formData = ref({ data: { panorama: [], shelves: [], - wares: [] + wares: [], + fileList: [], } }); +const onCustomRequest = async (upload) => { + const data = await common.cosUpload3D(upload.file); + upload.onSuccess(data); +} + const show = (type) => { const obj = CREATIVE_TYPE_S.find(x => x.type == type); @@ -74,7 +103,8 @@ const show = (type) => { target.data = { panorama: [], shelves: [], - wares: [] + wares: [], + fileList: [], }; target.version = new Date().getTime(); formData.value = target; diff --git a/src/views/Creative/components/Previewer3D/Index.vue b/src/views/Creative/components/Previewer3D/Index.vue new file mode 100644 index 00000000..eaf07186 --- /dev/null +++ b/src/views/Creative/components/Previewer3D/Index.vue @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/src/views/Creative/components/Previewer3D/Ring360Previewer.vue b/src/views/Creative/components/Previewer3D/Ring360Previewer.vue new file mode 100644 index 00000000..a667a33c --- /dev/null +++ b/src/views/Creative/components/Previewer3D/Ring360Previewer.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file