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

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