初始版本

This commit is contained in:
2026-04-23 16:30:57 +08:00
commit 0d0683a6e6
538 changed files with 113042 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
{
"version": 2,
"sessions": {
"0b38a56de2914c0bb5c07607a738e572": [
{
"expertId": "SeniorDeveloper",
"name": "Will",
"profession": "高级开发工程师",
"avatarUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/avatars/02-Engineering/SeniorDeveloper/SeniorDeveloper.png",
"promptUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/experts/02-Engineering/SeniorDeveloper/SeniorDeveloper_zh.md",
"usedAt": 1774917703744,
"industryId": "all"
}
]
},
"lastUpdated": 1774919990264
}

View File

@@ -0,0 +1,51 @@
# 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
### 修复项
1. **tickets.vue** - ticket API 直接返回 axios response无 ApiResult 包装),所有数据解析改为 `(res as any)?.data ?? res`,涵盖 loadTickets、loadStats、handleView、handleSubmitReply、handleAssign
2. **market.vue** - loadSummary 推荐数查询重复(两个都是 `market:true`),改为从当前列表 filter 统计;去掉重复的 allSettled 入参
3. **articles.vue** - statCards 全部文章 key 从 `undefined` 改为 `-1`handleStatFilter 中 `-1 → undefined`active 高亮判断适配 `filterStatus === undefined && stat.key === -1`
### 完善项
4. **index.vue 首页** - 全面重构:加入实时统计数字(应用总数/用户总数/待审核/上架数、待处理事项面板带红点提示、九宫格快速入口覆盖全部9个页面
5. **公共样式** - 新建 `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
完成最后两项任务:
1. **pages/admin/app-review.vue** 已确认存在(此前已完成),包含完整的审核列表、通过/拒绝弹窗、统计卡片功能
2. **config/console-nav.ts** 清理了错误加入的应用审核入口(`console-app-review` 条目),同步移除了不再使用的 `AuditOutlined` import
- 应用审核属于平台管理 admin 视角,不应出现在用户控制台导航

View File

@@ -0,0 +1,23 @@
# MEMORY.md - 项目长期记忆
## 项目基本信息
- **项目路径**`/Users/gxwebsoft/VUE/nuxt4-5`
- **框架**Nuxt 4 + Ant Design Vue + TypeScript
- **UI风格**:管理后台使用深红黑色调(#1a0f0f),布局文件 `app/layouts/admin.vue`
- **导航配置**`app/config/admin-nav.ts`
## 平台管理后台(/admin
- **已完成页面**index首页、app-review应用审核、apps应用管理、market应用市场、users用户管理、developers开发者管理、tickets工单处理、articles文章管理、announcements公告管理、settings平台设置
- **权限校验**`admin.vue` layout 通过 `isAdmin` 字段校验非管理员看403
- **公告与文章区分**:通过 `model: 'announcement'` 字段区分,共用 `cmsArticle` API
## API 约定
- 应用管理:`pageCmsWebsiteAll` 是管理员专用分页接口
- 用户API`pageUsers` 来自 `@/api/system/user/index`(非 `/api/user`
- 工单APIbase 路径 `/api/app/app//ticket`,返回结构 `{ list, count }`**不经过 ApiResult 包装**,取值用 `(res as any)?.data ?? res`
- 设置APIkey-value存储key格式 `platform_*`
## 设计规范
- stat-card 统计卡片4色系blue/green/orange/red可点击筛选
- panel 面板:白底 + f0f0f0 边框 + 12px border-radius
- 分页统一:`current/pageSize/total/showSizeChanger/showQuickJumper`