|
@@ -419,6 +419,7 @@ const audioInfo = ref<any>(null);
|
|
|
const selectedPlatform = ref<string | null>(null);
|
|
const selectedPlatform = ref<string | null>(null);
|
|
|
const videoInfo = ref<VideoPreview | null>(null);
|
|
const videoInfo = ref<VideoPreview | null>(null);
|
|
|
const projectId = ref<number>(0);
|
|
const projectId = ref<number>(0);
|
|
|
|
|
+const videoUrl = ref<string>(''); // 直接使用视频URL发布
|
|
|
const publishing = ref(false);
|
|
const publishing = ref(false);
|
|
|
|
|
|
|
|
// 发布表单
|
|
// 发布表单
|
|
@@ -628,20 +629,29 @@ async function handlePublish() {
|
|
|
return;
|
|
return;
|
|
|
} else {
|
|
} else {
|
|
|
// 视频发布
|
|
// 视频发布
|
|
|
- if (!projectId.value) {
|
|
|
|
|
|
|
+ // 支持两种方式:projectId 或 videoUrl
|
|
|
|
|
+ if (!projectId.value && !videoUrl.value) {
|
|
|
uni.hideLoading();
|
|
uni.hideLoading();
|
|
|
publishing.value = false;
|
|
publishing.value = false;
|
|
|
- uni.showToast({ title: '项目ID无效', icon: 'none' });
|
|
|
|
|
|
|
+ uni.showToast({ title: '视频信息无效', icon: 'none' });
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- const result = await createAndPublishTask({
|
|
|
|
|
- videoProjectId: projectId.value,
|
|
|
|
|
|
|
+ const publishData: any = {
|
|
|
platform: selectedPlatform.value as any,
|
|
platform: selectedPlatform.value as any,
|
|
|
title: publishTitle.value,
|
|
title: publishTitle.value,
|
|
|
description: publishDesc.value,
|
|
description: publishDesc.value,
|
|
|
tags: publishTags.value,
|
|
tags: publishTags.value,
|
|
|
- });
|
|
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // 如果有 projectId 则使用 projectId,否则使用 videoUrl
|
|
|
|
|
+ if (projectId.value) {
|
|
|
|
|
+ publishData.videoProjectId = projectId.value;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ publishData.videoUrl = videoUrl.value;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const result = await createAndPublishTask(publishData);
|
|
|
|
|
|
|
|
uni.hideLoading();
|
|
uni.hideLoading();
|
|
|
|
|
|
|
@@ -710,6 +720,13 @@ onLoad(async (query: any) => {
|
|
|
publishTitle.value = '音频';
|
|
publishTitle.value = '音频';
|
|
|
publishDesc.value = '';
|
|
publishDesc.value = '';
|
|
|
}
|
|
}
|
|
|
|
|
+ } else if (query?.videoUrl) {
|
|
|
|
|
+ // 直接使用视频URL发布(来自书籍章节)
|
|
|
|
|
+ isAudioPublish.value = false;
|
|
|
|
|
+ videoUrl.value = decodeURIComponent(query.videoUrl);
|
|
|
|
|
+ publishTitle.value = query.title || '视频';
|
|
|
|
|
+ publishDesc.value = '';
|
|
|
|
|
+ console.log('[Publish] 使用视频URL发布:', videoUrl.value);
|
|
|
} else if (query?.projectId) {
|
|
} else if (query?.projectId) {
|
|
|
projectId.value = Number(query.projectId);
|
|
projectId.value = Number(query.projectId);
|
|
|
|
|
|