实现敏感词检测后,失败发生邮箱

This commit is contained in:
2025-11-22 14:03:40 +08:00
parent c2cac51762
commit f3a9926caf
35 changed files with 1233 additions and 43916 deletions

View File

@@ -223,7 +223,7 @@ async function handlePublish() {
await formRef.value?.validate();
publishing.value = true;
// 新建或立即发布时,明确标记为已发布
// 新建或"立即发布"时,明确标记为已发布
// 对新建文章status 没有值,这里设为 1
// 对草稿->发布:也会变成 1
articleForm.value.resource.status = 1;
@@ -233,18 +233,26 @@ async function handlePublish() {
if (props.collectionItemId) {
await handleConvertFromCollection();
} else {
const result = await resourceApi.createResource(articleForm.value);
let result;
if (isEdit.value) {
// 编辑模式:调用更新接口
result = await resourceApi.updateResource(articleForm.value);
} else {
// 新建模式:调用创建接口
result = await resourceApi.createResource(articleForm.value);
}
if (result.success) {
const resourceID = result.data?.resource?.resourceID || '';
ElMessage.success('发布成功');
const resourceID = result.data?.resource?.resourceID || articleForm.value.resource.resourceID || '';
ElMessage.success(isEdit.value ? '更新成功' : '发布成功');
emit('publish-success', resourceID);
} else {
ElMessage.error(result.message || '发布失败');
ElMessage.error(result.message || (isEdit.value ? '更新失败' : '发布失败'));
}
}
} catch (error) {
console.error('发布失败:', error);
ElMessage.error('发布失败');
console.error(isEdit.value ? '更新失败:' : '发布失败:', error);
ElMessage.error(isEdit.value ? '更新失败' : '发布失败');
} finally {
publishing.value = false;
}
@@ -287,13 +295,29 @@ async function handleSaveDraft() {
savingDraft.value = true;
try {
// TODO: 调用API保存草稿
console.log('保存草稿:', articleForm);
// 设置为草稿状态
articleForm.value.resource.status = 0;
let result;
if (isEdit.value) {
// 编辑模式:调用更新接口
result = await resourceApi.updateResource(articleForm.value);
} else {
// 新建模式:调用创建接口
result = await resourceApi.createResource(articleForm.value);
}
await new Promise(resolve => setTimeout(resolve, 1000));
ElMessage.success('草稿已保存');
emit('save-draft-success');
if (result.success) {
// 如果是新建模式,需要更新为编辑模式
if (!isEdit.value && result.data?.resource?.resourceID) {
isEdit.value = true;
articleForm.value.resource.resourceID = result.data.resource.resourceID;
}
ElMessage.success('草稿已保存');
emit('save-draft-success');
} else {
ElMessage.error(result.message || '保存失败');
}
} catch (error) {
console.error('保存失败:', error);
ElMessage.error('保存失败');

View File

@@ -17,9 +17,10 @@
<select v-model="searchForm.status" class="form-select">
<option :value="undefined">请选择状态</option>
<option :value="0">未上线</option>
<option :value="1">上线</option>
<option :value="2">下架</option>
<option :value="3">审核失败</option>
<option :value="1">发布</option>
<option :value="2">下架</option>
<option :value="3">审核</option>
<option :value="4">敏感词未通过</option>
</select>
</div>
<div class="form-item">
@@ -62,12 +63,13 @@
<el-table-column prop="duration" label="时长(分钟)" width="120" />
<el-table-column prop="learnCount" label="学习人数" width="100" />
<el-table-column prop="viewCount" label="浏览次数" width="100" />
<el-table-column label="状态" width="100">
<el-table-column label="状态" width="120">
<template #default="{ row }">
<el-tag v-if="row.status === 0" type="info">未上线</el-tag>
<el-tag v-else-if="row.status === 1" type="success">上线</el-tag>
<el-tag v-else-if="row.status === 2" type="warning">下架</el-tag>
<el-tag v-else-if="row.status === 3" type="danger">审核失败</el-tag>
<el-tag v-else-if="row.status === 1" type="success">发布</el-tag>
<el-tag v-else-if="row.status === 2" type="warning">下架</el-tag>
<el-tag v-else-if="row.status === 3" type="primary">审核</el-tag>
<el-tag v-else-if="row.status === 4" type="danger">敏感词未通过</el-tag>
</template>
</el-table-column>
<el-table-column prop="orderNum" label="排序" width="80" />
@@ -77,13 +79,13 @@
编辑
</el-button>
<el-button
v-if="row.status === 0 || row.status === 2 || row.status === 3"
v-if="row.status === 0 || row.status === 2 || row.status === 4"
type="success"
size="small"
link
@click="handleUpdateStatus(row, 1)"
>
上线
发布
</el-button>
<el-button
v-if="row.status === 1"