feat(admin): 新增后台公告管理与发布归档

This commit is contained in:
yml2213
2026-10-30 13:25:24 +08:00
parent 4239bec519
commit d46636c3d2
8 changed files with 661 additions and 4 deletions
+2 -2
View File
@@ -194,9 +194,9 @@ dist/assets/AdminLayout-*.js 36.87 kB │ gzip 13.02 kB
## 5. 已知限制
1. 移动端订单列表/详情与消息中心已接入真实接口;下单、支付、交接、归还、结账等操作仍待迁移。
2. 后台已完成仪表盘、订单列表/详情、退款审核、提现审核、商品列表/详情与审核、用户列表/详情与人工操作、申诉仲裁、财务看板,其余页面仍为统一占位。
2. 后台已完成仪表盘、订单列表/详情、退款审核、提现审核、商品列表/详情与审核、用户列表/详情与人工操作、申诉仲裁、财务看板、公告管理,其余页面仍为统一占位。
3. 分销后台已完成主题、Logo、登录页与 Shell 轻改,页面结构未重写。
4. 后台菜单权限码按后端逐个核对:订单 `order:list` / `order:view` / `order:close`,商品 `listing:view` / `listing:approve` / `listing:reject` / `listing:offline`,用户 `user:view` / `user:freeze` / `user:unfreeze` / `user:deposit_free` / `user:growth_points` / `user:manual_realname` / `user:revoke_realname` / `user:wallet_adjust`,提现 `withdrawal:list` / `withdrawal:detail` / `withdrawal:review` / `withdrawal:pay`,申诉 `dispute:view` / `dispute:arbitrate`,财务 `wallet:view`;其余页面仍需核对。
4. 后台菜单权限码按后端逐个核对:订单 `order:list` / `order:view` / `order:close`,商品 `listing:view` / `listing:approve` / `listing:reject` / `listing:offline`,用户 `user:view` / `user:freeze` / `user:unfreeze` / `user:deposit_free` / `user:growth_points` / `user:manual_realname` / `user:revoke_realname` / `user:wallet_adjust`,提现 `withdrawal:list` / `withdrawal:detail` / `withdrawal:review` / `withdrawal:pay`,申诉 `dispute:view` / `dispute:arbitrate`,财务 `wallet:view`,公告 `announcement:view` / `announcement:manage`;其余页面仍需核对。
5. SVG 中文尚未转曲。
6. 入口包已降至 495 kB(gzip 161 kB);AntD 共享基础设施仍在入口,后续可拆独立入口。
7. 移动端、订单、分销轻改与首屏优化均已提交;商品管理与审核在本批次提交。
+66
View File
@@ -0,0 +1,66 @@
# Phase 2 验收报告(后台公告管理)
> 日期:2026-10-30
> 项目:解忧商行(hfb_jysh)
> 范围:`/console-jy8k3m/announcements`
> 结论:**本切片通过,公告列表、编辑、发布、归档与删除已接真实接口**
---
## 1. 接口与权限
| 能力 | 接口 | 权限码 |
| --- | --- | --- |
| 公告列表 | `GET /api/admin/announcements` | `announcement:view` |
| 公告详情 | `GET /api/admin/announcements/:id` | `announcement:view` |
| 新建 | `POST /api/admin/announcements` | `announcement:manage` |
| 编辑 | `PUT /api/admin/announcements/:id` | `announcement:manage` |
| 发布 | `POST /api/admin/announcements/:id/publish` | `announcement:manage` |
| 归档 | `POST /api/admin/announcements/:id/archive` | `announcement:manage` |
| 取消归档 | `POST /api/admin/announcements/:id/unarchive` | `announcement:manage` |
| 删除 | `DELETE /api/admin/announcements/:id` | `announcement:manage` |
## 2. 页面
`frontend/src/features/admin/AdminAnnouncementsPage.tsx`
- 筛选:分类(通知/教程/规则/常见问题)、状态(草稿/已发布/已归档)
- 列:公告(标题/置顶/重要/弹窗/优先级)、分类、站点、状态、浏览量、发布时间、更新时间、操作
- 分页 10 / 20 / 50
- 操作按状态与权限显示:
- 草稿:编辑、发布、删除
- 已发布:编辑、归档、删除
- 已归档:编辑、取消归档、删除
- 发布/归档/取消归档/删除均二次确认;删除提示优先使用归档
## 3. 编辑弹窗
- 字段:标题、分类、优先级、归属站点(仅新建)、正文、置顶、重要、弹窗
- 新建默认保存为草稿,发布后前台展示
- 弹窗公告提示「每天只弹一次,需用户手动关闭」
- 正文按纯文本编辑,支持换行
## 4. 验证结果
```text
npx tsc --noEmit 通过
npm run build 通过(入口 496.93 kB,gzip 161.32 kB)
GET /api/admin/announcements?page=1&page_size=5 ok,返回 1 条种子公告
GET /console-jy8k3m/announcements 200
```
列表读取已实测;新建、编辑、发布、归档、删除未执行,避免改动种子公告与前台展示。
## 5. 已知限制
1. 归属分站使用数字 ID 输入,未接分站选择器。
2. 正文无 Markdown 预览,前台渲染效果需发布后核对。
3. 未做公告置顶排序拖拽或批量归档。
4. 未接分站代发公告的 `site_id` 筛选入口(接口已支持)。
## 6. 下一步建议
1. 后台系统配置与审计日志。
2. 分站公告代发入口。
3. 线下出款/运营支出登记。
4. 移动端下单、支付与交接/归还/结账。
+1 -1
View File
@@ -395,7 +395,7 @@ hfb_jysh/
### Phase 4:管理后台核心(4–5 周)
> 状态:**进行中(2026-10-30)**。已完成仪表盘、订单、退款、提现、商品、用户、申诉与财务看板;线下出款/运营支出、系统配置与审计日志待迁移。
> 状态:**进行中(2026-10-30)**。已完成仪表盘、订单、退款、提现、商品、用户、申诉、财务看板与公告管理;线下出款/运营支出、系统配置与审计日志待迁移。
- 后台登录、工作台、订单列表、订单详情。
- 商品列表、商品详情、审核。