调试修改爬虫

This commit is contained in:
2025-11-12 19:16:50 +08:00
parent 675e6da7d7
commit e55a52f20b
27 changed files with 1023 additions and 601 deletions

View File

@@ -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;