fix: 3D环物URL模板算法
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
</a-button>
|
||||
</a-upload>
|
||||
<p class="ant-upload-hint">
|
||||
图片格式、大小、数量要求:jpg、png格式,分辨率需保持一致,单个环物素材包最大支持上传500M,不多于40张。建议上传30~40张图片,单个环物素材包50M效果更佳。图片命名:图片名称后缀按照字母/数字升序命名(如,01、02、03…,以此类推,单反拍摄素材名可自动识别)。
|
||||
图片格式、大小、数量要求:jpg、png格式,分辨率需保持一致,单个环物素材包最大支持上传500M,不多于40张。建议上传30~40张图片,单个环物素材包50M效果更佳。图片命名:图片名称后缀按照字母/数字升序命名(如,00、01、02、03…,以此类推,单反拍摄素材名可自动识别)。
|
||||
</p>
|
||||
<div class="image-list">
|
||||
<div class="image-list-item" v-for="(file, index) in fileListAsc" :key="index">
|
||||
|
||||
@@ -220,7 +220,8 @@ const factorys = [
|
||||
return {
|
||||
...data,
|
||||
data: {
|
||||
imgs: data.fileList.map(x => ({name: x.name, url: x.url}))
|
||||
imgs: data.fileList.map(x => ({name: x.name, url: x.url})),
|
||||
urlTemp: data.urlTempForScene
|
||||
},
|
||||
cover: data.fileList[0].url,
|
||||
fileList: undefined
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</a-button>
|
||||
</a-upload>
|
||||
<p class="ant-upload-hint">
|
||||
图片格式、大小、数量要求:jpg、png格式,分辨率需保持一致,单个环物素材包最大支持上传500M,不多于40张。建议上传30~40张图片,单个环物素材包50M效果更佳。图片命名:图片名称后缀按照字母/数字升序命名(如,01、02、03…,以此类推,单反拍摄素材名可自动识别)。
|
||||
图片格式、大小、数量要求:jpg、png格式,分辨率需保持一致,单个环物素材包最大支持上传500M,不多于40张。建议上传30~40张图片,单个环物素材包50M效果更佳。图片命名:图片名称后缀按照字母/数字升序命名(如,00、01、02、03…,以此类推,单反拍摄素材名可自动识别)。
|
||||
</p>
|
||||
<div class="image-list">
|
||||
<div class="image-list-item" v-for="(file, index) in formData.fileList" :key="index">
|
||||
@@ -62,6 +62,7 @@ const formData = ref({
|
||||
type: 0,
|
||||
title: '',
|
||||
fileList: [],
|
||||
urlTempForScene: "",
|
||||
});
|
||||
|
||||
const cancelText = computed(() => {
|
||||
@@ -95,6 +96,7 @@ const show = (type) => {
|
||||
var target = JSON.parse(JSON.stringify(obj));
|
||||
target.title = "";
|
||||
target.fileList = [];
|
||||
target.urlTempForScene = "";
|
||||
formData.value = target;
|
||||
step.value = 0;
|
||||
visible.value = true;
|
||||
@@ -117,11 +119,49 @@ const onCustomRequest = async (upload) => {
|
||||
// upload.onSuccess(data);
|
||||
}
|
||||
|
||||
const resolveUrlTempForScene = (url) => {
|
||||
|
||||
if(formData.value.urlTempForScene.includes("$2")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!formData.value.urlTempForScene) {
|
||||
formData.value.urlTempForScene = url;
|
||||
}
|
||||
else{
|
||||
|
||||
var arr = [];
|
||||
var start = 0;
|
||||
var end = 0;
|
||||
var i = 0;
|
||||
for(i = 0; i <= formData.value.urlTempForScene.length; i++){
|
||||
|
||||
if(formData.value.urlTempForScene.charAt(i) == url.charAt(i)){
|
||||
end = i;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(end > start) arr.push({start, end});
|
||||
|
||||
start = i + 1;
|
||||
}
|
||||
|
||||
if(end > start) arr.push({start, end});
|
||||
|
||||
var res = arr.map(item => url.substring(item.start, item.end));
|
||||
|
||||
formData.value.urlTempForScene = res.join("$2");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const execUpload = async () => {
|
||||
var dir = new Date().getTime();
|
||||
await Promise.all(formData.value.fileList.map((file) => new Promise((resolve, reject) => {
|
||||
common.cosUpload3D(file.originFileObj, `${dir}/${file.name}`).then(data => {
|
||||
file.url = data.url;
|
||||
resolveUrlTempForScene(data.url);
|
||||
resolve();
|
||||
});
|
||||
})))
|
||||
|
||||
Reference in New Issue
Block a user