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

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

@@ -81,7 +81,7 @@ import { useRouter } from 'vue-router';
import { resourceApi, resourceTagApi } from '@/apis/resource'
import type { PageParam, ResourceSearchParams, Resource, Tag } from '@/types';
import { ArticleShowView } from '@/views/public/article';
import { ArticleStatus } from '@/types/enums';
import { ResourceStatus } from '@/types/enums';
const router = useRouter();
const searchKeyword = ref('');
@@ -166,8 +166,8 @@ function editArticle(row: any) {
async function changeArticleStatus(row: Resource) {
try {
// status: 0-草稿, 1-已发布, 2-已下架
if (row.status === ArticleStatus.DRAFT || row.status === ArticleStatus.OFFLINE) {
// status: 0-草稿, 1-已发布, 2-已下架, 3-审核中, 4-敏感词未通过
if (row.status === ResourceStatus.DRAFT || row.status === ResourceStatus.OFFLINE || row.status === ResourceStatus.SENSITIVE_FAILED) {
// 草稿或下架状态 -> 发布
const res = await resourceApi.publishResource(row.resourceID!);
if (res.success) {
@@ -176,7 +176,7 @@ async function changeArticleStatus(row: Resource) {
} else {
ElMessage.error('发布失败');
}
} else if (row.status === ArticleStatus.PUBLISHED) {
} else if (row.status === ResourceStatus.PUBLISHED) {
// 已发布状态 -> 下架
const res = await resourceApi.unpublishResource(row.resourceID!);
if (res.success) {
@@ -206,40 +206,44 @@ function deleteArticle() {
function getStatusType(status: number) {
const typeMap: Record<number, any> = {
[ArticleStatus.DRAFT]: 'info',
[ArticleStatus.PUBLISHED]: 'success',
[ArticleStatus.OFFLINE]: 'warning',
[ArticleStatus.FAILED]: 'danger'
[ResourceStatus.DRAFT]: 'info',
[ResourceStatus.PUBLISHED]: 'success',
[ResourceStatus.OFFLINE]: 'warning',
[ResourceStatus.REVIEWING]: 'primary',
[ResourceStatus.SENSITIVE_FAILED]: 'danger'
};
return typeMap[status] || 'info';
}
function getStatusText(status: number) {
const textMap: Record<number, string> = {
[ArticleStatus.DRAFT]: '草稿',
[ArticleStatus.PUBLISHED]: '已发布',
[ArticleStatus.OFFLINE]: '已下架',
[ArticleStatus.FAILED]: '审核失败'
[ResourceStatus.DRAFT]: '草稿',
[ResourceStatus.PUBLISHED]: '已发布',
[ResourceStatus.OFFLINE]: '已下架',
[ResourceStatus.REVIEWING]: '审核中',
[ResourceStatus.SENSITIVE_FAILED]: '敏感词未通过'
};
return textMap[status] || '未知';
}
function getActionButtonType(status: number) {
// 草稿下架状态显示主要按钮(发布), 已发布状态显示警告按钮(下架)
if (status === ArticleStatus.DRAFT || status === ArticleStatus.OFFLINE || status === ArticleStatus.FAILED) {
// 草稿下架或敏感词未通过状态显示主要按钮(发布), 已发布状态显示警告按钮(下架)
if (status === ResourceStatus.DRAFT || status === ResourceStatus.OFFLINE || status === ResourceStatus.SENSITIVE_FAILED) {
return 'primary';
} else if (status === ArticleStatus.PUBLISHED) {
} else if (status === ResourceStatus.PUBLISHED) {
return 'warning';
}
return '';
}
function getActionButtonText(status: number) {
// 草稿下架状态显示"发布", 已发布状态显示"下架"
if (status === ArticleStatus.DRAFT || status === ArticleStatus.OFFLINE || status === ArticleStatus.FAILED) {
// 草稿下架或敏感词未通过状态显示"发布", 已发布状态显示"下架", 审核中状态不可操作
if (status === ResourceStatus.DRAFT || status === ResourceStatus.OFFLINE || status === ResourceStatus.SENSITIVE_FAILED) {
return '发布';
} else if (status === ArticleStatus.PUBLISHED) {
} else if (status === ResourceStatus.PUBLISHED) {
return '下架';
} else if (status === ResourceStatus.REVIEWING) {
return '审核中';
}
return '操作';
}