# 内容管理模块 (CMS) 全量修复与数据库构建报告 ## 摘要 本次对 Admin 侧内容管理模块(CMS)进行了深度的端到端修复,补齐了完全缺失的数据库表结构、行级安全策略(RLS)以及管理端 RPC 接口。同时重构了文章管理和分类管理两个核心页面,彻底解决了该模块此前的全量 Mock 问题。 ## 修复范围 ### 1. 数据库构建 (Schema & RLS) - **核心表创建**:新增了 `ml_article_categories`(文章分类)和 `ml_articles`(文章主表)。 - **安全隔离**:配置了 RLS 策略,确保消费者端仅能查看“已发布”的内容,管理端通过 RPC 拥有全量管理权限。 ### 2. RPC 接口补全 (SECURITY DEFINER) - 实现了 9 个标准 RPC 接口,涵盖: - 文章分类的分页查询、保存、删除及状态切换。 - 文章内容的分页查询、详情获取、内容保存、逻辑删除及发布状态管理。 ### 3. 前端重构 (去 Mock) - **服务层封装**:新建了 `services/admin/cmsService.uts`,统一封装了所有 CMS 相关的真实后端调用。 - **分类管理 (`category/list.uvue`)**:实现了分类的分页列表展示、新增/编辑抽屉、状态切换及物理删除交互。 - **文章管理 (`article/list.uvue`)**:实现了文章的分页列表、分类筛选、关键词搜索、发布状态切换及内容编辑保存。 ## 变更清单 ### 数据库 SQL - `docs/sql/10_schema/cms/ml_cms_tables_v1.sql` (新增) - `docs/sql/20_rls/cms/ml_cms_rls_v1.sql` (新增) - `docs/sql/30_rpc/cms/` 目录下共 9 个接口 SQL 文件。 ### 前端代码 - `services/admin/cmsService.uts` (新增) - `pages/mall/admin/cms/article/list.uvue` (逻辑与 UI 重构) - `pages/mall/admin/cms/category/list.uvue` (逻辑与 UI 重构) ## 验证说明 1. **数据库执行**:需依次执行 `10_schema` -> `20_rls` -> `30_rpc` 下的 CMS 模块脚本。 2. **功能验证**: - 进入文章分类:确认添加分类后,在文章管理中分类下拉列表能正确显示。 - 文章发布:确认在文章列表切换发布开关后,状态能真实同步到数据库。 - 筛选功能:确认分类筛选和标题搜索能过滤出正确的结果。 ## 关联规范 - 遵循 `AGENT_PROJECT_SPEC.md` 规范。 - 遵循统一的 RPC 入口鉴权(admin/analytics 角色)。