调试修改爬虫
This commit is contained in:
@@ -115,6 +115,7 @@ import { RichTextComponent } from '@/components/text';
|
||||
import { FileUpload } from '@/components/file';
|
||||
import { ArticleShow } from '.';
|
||||
import { resourceTagApi, resourceApi } from '@/apis/resource';
|
||||
import { crontabApi } from '@/apis/crontab';
|
||||
import { ResourceVO, Tag, TagType } from '@/types/resource';
|
||||
|
||||
defineOptions({
|
||||
@@ -126,6 +127,7 @@ interface Props {
|
||||
showBackButton?: boolean;
|
||||
backButtonText?: string;
|
||||
initialData?: ResourceVO;
|
||||
collectionItemId?: string;
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
@@ -221,30 +223,61 @@ async function handlePublish() {
|
||||
await formRef.value?.validate();
|
||||
|
||||
publishing.value = true;
|
||||
if (isEdit.value) {
|
||||
const result = await resourceApi.updateResource(articleForm.value);
|
||||
if (result.success) {
|
||||
ElMessage.success('保存成功');
|
||||
emit('publish-success', result.data?.resource?.resourceID || '');
|
||||
} else {
|
||||
ElMessage.error(result.message || '保存失败');
|
||||
}
|
||||
|
||||
// 如果是从数据采集转换过来的,使用转换接口
|
||||
if (props.collectionItemId) {
|
||||
await handleConvertFromCollection();
|
||||
} else {
|
||||
// 普通创建资源
|
||||
const result = await resourceApi.createResource(articleForm.value);
|
||||
if (result.success) {
|
||||
const resourceID = result.data?.resource?.resourceID || '';
|
||||
ElMessage.success('发布成功');
|
||||
emit('publish-success', result.data?.resource?.resourceID || '');
|
||||
emit('publish-success', resourceID);
|
||||
} else {
|
||||
ElMessage.error(result.message || '发布失败');
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('发布失败:', error);
|
||||
ElMessage.error('发布失败');
|
||||
} finally {
|
||||
publishing.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
// 从数据采集转换为资源
|
||||
async function handleConvertFromCollection() {
|
||||
if (!props.collectionItemId) return;
|
||||
|
||||
try {
|
||||
// 1. 先创建资源(使用用户编辑后的内容)
|
||||
const createResult = await resourceApi.createResource(articleForm.value);
|
||||
|
||||
if (!createResult.success) {
|
||||
ElMessage.error(createResult.message || '创建资源失败');
|
||||
return;
|
||||
}
|
||||
|
||||
const resourceID = createResult.data?.resource?.resourceID || '';
|
||||
|
||||
// 2. 更新采集项状态,关联resourceID
|
||||
try {
|
||||
await crontabApi.updateCollectionItemStatus(props.collectionItemId, 1);
|
||||
console.log('采集项状态已更新, resourceID:', resourceID);
|
||||
} catch (error) {
|
||||
console.warn('更新采集项状态失败:', error);
|
||||
// 不影响主流程,资源已经创建成功
|
||||
}
|
||||
|
||||
ElMessage.success('转换成功');
|
||||
emit('publish-success', resourceID);
|
||||
} catch (error) {
|
||||
console.error('转换失败:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
// 保存草稿
|
||||
async function handleSaveDraft() {
|
||||
savingDraft.value = true;
|
||||
|
||||
Reference in New Issue
Block a user