feat: 片头片尾管理、用户请求状态管理功能

This commit is contained in:
2026-01-11 17:18:07 +08:00
parent cb4251eb64
commit 7e77e3e31c
3 changed files with 1491 additions and 2 deletions

View File

@@ -29,6 +29,13 @@ const adminPages = [
path: '/generation/admin/digital-human-train',
color: 'amber',
},
{
title: '片头片尾管理',
description: '管理用户提交的片头片尾制作请求',
icon: 'i-tabler-movie',
path: '/generation/admin/materials',
color: 'green',
},
]
const navigateToPage = (path: string) => {
@@ -66,6 +73,7 @@ const navigateToPage = (path: string) => {
:class="{
'bg-blue-100 dark:bg-blue-900/30': page.color === 'blue',
'bg-amber-100 dark:bg-amber-900/30': page.color === 'amber',
'bg-green-100 dark:bg-green-900/30': page.color === 'green',
}"
>
<UIcon
@@ -74,6 +82,7 @@ const navigateToPage = (path: string) => {
:class="{
'text-blue-600 dark:text-blue-400': page.color === 'blue',
'text-amber-600 dark:text-amber-400': page.color === 'amber',
'text-green-600 dark:text-green-400': page.color === 'green',
}"
/>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -18,8 +18,11 @@ const userPagination = reactive({
pageSize: 15,
})
const { data: systemTitlesTemplate, status: systemTitlesTemplateStatus } =
useAsyncData(
const {
data: systemTitlesTemplate,
status: systemTitlesTemplateStatus,
refresh: refreshSystemTitlesTemplate,
} = useAsyncData(
'systemTitlesTemplate',
() =>
useFetchWrapped<
@@ -93,6 +96,46 @@ const onUserTitlesRequest = (titles: TitlesTemplate) => {
isUserTitlesRequestModalActive.value = true
}
const onSystemTitlesDelete = (titles: TitlesTemplate) => {
useFetchWrapped<
{ title_id: number } & AuthedRequest,
BaseResponse<{ code: 0 | 1 }>
>('App.Digital_Titles.Delete', {
token: loginState.token!,
user_id: loginState.user.id,
title_id: titles.id,
})
.then((res) => {
if (res.ret === 200 && res.data.code === 1) {
toast.add({
title: '删除成功',
description: '已删除系统片头模板',
color: 'green',
icon: 'i-tabler-check',
})
} else {
toast.add({
title: '删除失败',
description: res.msg || '未知错误',
color: 'red',
icon: 'i-tabler-alert-triangle',
})
}
})
.catch((error) => {
toast.add({
title: '删除失败',
description: error instanceof Error ? error.message : '未知错误',
color: 'red',
icon: 'i-tabler-alert-triangle',
})
})
.finally(() => {
systemPagination.page = 1
refreshSystemTitlesTemplate()
})
}
const onUserTitlesDelete = (titles: TitlesTemplate) => {
useFetchWrapped<
Pick<req.gen.TitlesTemplateRequest, 'to_user_id'> & {
@@ -217,6 +260,7 @@ const onUserTitlesSubmit = (event: FormSubmitEvent<UserTitlesSchema>) => {
type="system"
:key="titles.id"
@user-titles-request="onUserTitlesRequest"
@system-titles-delete="onSystemTitlesDelete"
/>
</div>
</div>