feat(admin): 广告位管理页——上传/链接/绑定相册/开关/排序
Task 11(广告位轮播):admin 后台广告位治理页。 - utils/ads/adsLogic:scopeKind/normalizeAlbumIds/isValidAdLinkUrl 纯逻辑 (与服务端 dto LINK_URL_PATTERN、albumIds 归一语义同源)+ vitest 6 例 - api/ads + types/api/ads.d.ts:list/create/update/delete/initUpload 五端点 (对照 embedSlots.ts 逐字风格;列表全量不分页、imageUrl 现签) - views/system/ads:列表(缩略图/备注名/链接截断/投放范围标签/启停开关 失败重拉回滚/上移下移 sortOrder 互换/硬删确认)+ 新建编辑对话框 (staging 直传 init→裸 fetch PUT、Content-Type 与申明一致;相册多选 远程搜索复用 /v1/albums 分页+本地过滤,绑定 ID 超限/失效以裸 ID 兜底; 编辑换图才带 image 三字段;albumIds 归一空→null 转全局) - 路由/菜单:system 组 ads 页(ri:advertisement-line,workspace 分组); locales zh/en 补 menus.system.ads + adsManage 子树(键集一致入单测) Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* 账号治理路由(P4a Task 8:账号管理 + 用户同步;Task 9:用量统计;
|
||||
* P4b Task 5:展示位管理)
|
||||
* P4b Task 5:展示位管理;广告位轮播 Task 11:广告位管理)
|
||||
*/
|
||||
import { AppRouteRecord } from '@/types/router'
|
||||
|
||||
@@ -58,6 +58,18 @@ export const systemRoutes: AppRouteRecord = {
|
||||
keepAlive: false,
|
||||
menuGroup: 'workspace'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'ads',
|
||||
name: 'SystemAds',
|
||||
component: '/system/ads',
|
||||
meta: {
|
||||
title: 'menus.system.ads',
|
||||
// ri:advertisement-line(Remix 基础集广告语义图标,同 embed-slots 坑位避雷)
|
||||
icon: 'ri:advertisement-line',
|
||||
keepAlive: false,
|
||||
menuGroup: 'workspace'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user