3.1 KiB
3.1 KiB
2026-03-31 工作日志
平台管理功能完善
完成了 /admin 平台管理后台的所有功能页面,基于 Ant Design Vue 组件,与 app/layouts/admin.vue 框架衔接:
新建页面列表
| 路由 | 文件 | 说明 |
|---|---|---|
/admin/apps |
apps.vue |
应用管理(全量应用列表、状态/官方/市场切换、删除) |
/admin/market |
market.vue |
应用市场(市场上架列表、推荐开关、下架操作) |
/admin/users |
users.vue |
用户管理(分页列表、冻结/解冻、重置密码) |
/admin/developers |
developers.vue |
开发者管理(按userId聚合应用,弹窗查看详情) |
/admin/tickets |
tickets.vue |
工单处理(分配、回复、状态更新) |
/admin/articles |
articles.vue |
文章管理(CRUD + 推荐开关) |
/admin/announcements |
announcements.vue |
公告管理(CRUD + 置顶开关,model=announcement区分) |
/admin/settings |
settings.vue |
平台设置(基础/审核/市场/注册/通知/维护共6个tab) |
使用的 API
@/api/cms/cmsWebsite- 应用管理和市场@/api/system/user- 用户管理@/api/ticket- 工单系统@/api/cms/cmsArticle- 文章/公告@/api/system/setting- 平台设置
设计规范
- 统一使用 stat-card 统计卡片 + panel 面板布局
- 深红黑色调侧边栏(配合 admin.vue layout)
- 所有页面支持分页、搜索、状态筛选
平台管理全面检查与完善(09:19)
修复项
- tickets.vue - ticket API 直接返回 axios response(无 ApiResult 包装),所有数据解析改为
(res as any)?.data ?? res,涵盖 loadTickets、loadStats、handleView、handleSubmitReply、handleAssign - market.vue - loadSummary 推荐数查询重复(两个都是
market:true),改为从当前列表 filter 统计;去掉重复的 allSettled 入参 - articles.vue - statCards 全部文章 key 从
undefined改为-1;handleStatFilter 中-1 → undefined;active 高亮判断适配filterStatus === undefined && stat.key === -1
完善项
- index.vue 首页 - 全面重构:加入实时统计数字(应用总数/用户总数/待审核/上架数)、待处理事项面板(带红点提示)、九宫格快速入口(覆盖全部9个页面)
- 公共样式 - 新建
app/assets/css/admin-common.css,提取 stat-card/panel/panel-header/page-header 等通用 class,注册到 nuxt.config.ts css 数组
API 约定
- ticket API:不经过 ApiResult 包装,直接返回 axios response,取值用
res.data或res - cmsWebsite/cmsArticle/user API:经过 ApiResult,返回
res.data.data(已在 API 层封装)
admin 视角迁移收尾(23:00)
完成最后两项任务:
- pages/admin/app-review.vue 已确认存在(此前已完成),包含完整的审核列表、通过/拒绝弹窗、统计卡片功能
- config/console-nav.ts 清理了错误加入的应用审核入口(
console-app-review条目),同步移除了不再使用的AuditOutlinedimport- 应用审核属于平台管理 admin 视角,不应出现在用户控制台导航