Merge remote-tracking branch 'origin/feature/v1.2灵机空间-内容上传审核_rxd' into test

This commit is contained in:
rd
2025-08-13 17:56:03 +08:00
4 changed files with 52 additions and 20 deletions

View File

@ -187,7 +187,7 @@ export default {
action="/"
draggable
customRequest={handleUpload}
accept=".xlsx,.xls,.docx,.doc"
accept=".xlsx,.xls,.docx,.doc,.mp4,.mov,.avi,.flv,.wmv"
show-file-list={false}
>
{{

View File

@ -8,19 +8,20 @@ import UploadSuccessModal from './upload-success-modal.vue';
import { EnumManuscriptType } from '@/views/creative-generation-workshop/manuscript/list/constants';
import { postWorksBatchWriter } from '@/api/all/generationWorkshop-writer.ts';
import { glsWithCatch, rlsWithCatch, slsWithCatch } from '@/utils/stroage.ts';
import { formatDuration, formatFileSize, convertVideoUrlToCoverUrl } from '@/utils/tools';
import icon1 from '@/assets/img/creative-generation-workshop/icon-photo.png';
import icon2 from '@/assets/img/creative-generation-workshop/icon-video.png';
const generateMockData = (count = 4) =>
Array.from({ length: count }, (_, i) => ({
id: `${i + 1}`,
title: `标题${i + 1}`,
content: '挖到宝了!这个平价好物让我素颜出门都自信✨挖到宝了!这个平价好物让我素颜出门都自信✨',
type: i % 2 === 0 ? EnumManuscriptType.Image : EnumManuscriptType.Video,
files: [],
videoInfo: cloneDeep(INITIAL_VIDEO_INFO),
}));
// const generateMockData = (count = 4) =>
// Array.from({ length: count }, (_, i) => ({
// id: `${i + 1}`,
// title: `标题${i + 1}`,
// content: '挖到宝了!这个平价好物让我素颜出门都自信✨挖到宝了!这个平价好物让我素颜出门都自信✨',
// type: i % 2 === 0 ? EnumManuscriptType.Image : EnumManuscriptType.Video,
// files: [],
// videoInfo: cloneDeep(INITIAL_VIDEO_INFO),
// }));
export default {
components: {
@ -183,10 +184,25 @@ export default {
}
};
const getData = () => {
const _works = JSON.parse(glsWithCatch('writerWaitUploadWorks') ?? '[]')?.map((item) => ({
...item,
videoInfo: item?.videoInfo ? cloneDeep(item.videoInfo) : cloneDeep(INITIAL_VIDEO_INFO),
}));
const _works = JSON.parse(glsWithCatch('writerWaitUploadWorks') ?? '[]')?.map((item) => {
const { type, files } = item;
const _data = { ...item, videoInfo: cloneDeep(INITIAL_VIDEO_INFO) };
// 初始化视频数据
if (type === EnumManuscriptType.Video && files.length) {
_data.videoInfo.uploadStatus = 'end';
const { name, size, duration, url } = files[0];
_data.videoInfo.name = name;
_data.videoInfo.size = formatFileSize(size);
_data.videoInfo.time = formatDuration(duration);
_data.videoInfo.poster = convertVideoUrlToCoverUrl(url);
}
return _data
});
works.value = _works;
selectCardInfo.value = cloneDeep(_works[0] ?? {});
};

View File

@ -219,7 +219,7 @@ export default {
action="/"
draggable
customRequest={handleUpload}
accept=".xlsx,.xls,.docx,.doc"
accept=".xlsx,.xls,.docx,.doc,.mp4,.mov,.avi,.flv,.wmv"
show-file-list={false}
>
{{

View File

@ -8,6 +8,7 @@ import UploadSuccessModal from './upload-success-modal.vue';
import { EnumManuscriptType } from '@/views/creative-generation-workshop/manuscript/list/constants';
import { postWorksBatch } from '@/api/all/generationWorkshop.ts';
import { glsWithCatch, rlsWithCatch, slsWithCatch } from '@/utils/stroage.ts';
import { formatDuration, formatFileSize, convertVideoUrlToCoverUrl } from '@/utils/tools';
import icon1 from '@/assets/img/creative-generation-workshop/icon-photo.png';
import icon2 from '@/assets/img/creative-generation-workshop/icon-video.png';
@ -83,7 +84,7 @@ export default {
} else {
AMessage.success('上传成功');
if (action === 'uploadAndCheck') {
slsWithCatch('manuscriptCheckIds',data);
slsWithCatch('manuscriptCheckIds', data);
router.push({ name: 'ManuscriptCheck' });
} else {
router.push({ name: 'ManuscriptList' });
@ -183,10 +184,25 @@ export default {
}
};
const getData = () => {
const _works = JSON.parse(glsWithCatch('waitUploadWorks') ?? '[]')?.map((item) => ({
...item,
videoInfo: item?.videoInfo ? cloneDeep(item.videoInfo) : cloneDeep(INITIAL_VIDEO_INFO),
}));
const _works = JSON.parse(glsWithCatch('waitUploadWorks') ?? '[]')?.map((item) => {
const { type, files } = item;
const _data = { ...item, videoInfo: cloneDeep(INITIAL_VIDEO_INFO) };
// 初始化视频数据
if (type === EnumManuscriptType.Video && files.length) {
_data.videoInfo.uploadStatus = 'end';
const { name, size, duration, url } = files[0];
_data.videoInfo.name = name;
_data.videoInfo.size = formatFileSize(size);
_data.videoInfo.time = formatDuration(duration);
_data.videoInfo.poster = convertVideoUrlToCoverUrl(url);
}
return _data
});
works.value = _works;
selectCardInfo.value = cloneDeep(_works[0] ?? {});
};