Files
medical-mall/docs/ops/2026-02-16__admin__decoration-module-repaired-full.md

2.7 KiB
Raw Permalink Blame History

装修模块 (Decoration) 全量集成与数据库构建报告

摘要

本次对 Admin 侧装修模块Decoration Module进行了深度的端到端修复。补齐了该模块完全缺失的数据库表结构用于存储 DIY 布局 JSON、行级安全策略RLS以及 4 个管理端 RPC 接口。同时重构了前端 3 个核心页面,实现了从 Mock 数据到真实数据库持久化的闭环。

动机

装修模块允许管理员自定义商城的视觉表现(首页、专题页、个人中心风格)。此前该功能仅有 UI 静态模拟,无法保存任何配置。为了支撑个性化商城运营,必须补齐底层存储架构,并按照项目规范落地管理端接口。

影响范围

  • 模块:后台管理系统 - 装修模块
  • 页面:首页装修、商品分类装修、个人中心装修
  • 接口:新增 4 个 rpc_admin_... 接口
  • 权限:增加了 DIY 页面表的 RLS 策略,消费者端仅允许读取已启用配置

变更清单

数据库 SQL

  • 新增 Schema (docs/sql/10_schema/decoration/):
    • ak_diy_pages_v1.sql (核心配置表)
  • 新增 RLS (docs/sql/20_rls/decoration/):
    • ml_decoration_rls_v1.sql
  • 新增 RPC (docs/sql/30_rpc/decoration/):
    • rpc_admin_get_diy_page_list_v1.sql
    • rpc_admin_save_diy_page_v1.sql
    • rpc_admin_delete_diy_page_v1.sql
    • rpc_admin_set_home_page_v1.sql

前端代码

  • 新增服务层services/admin/decorationService.uts (封装全量 DIY 接口)
  • 重构页面
    • pages/mall/admin/decoration/home.uvue (接入分页列表、删除及设为首页逻辑)
    • pages/mall/admin/decoration/user.uvue (接入样式持久化存取)
    • pages/mall/admin/decoration/category.uvue (接入样式持久化存取)

兼容性与风险

  • 配置格式config 字段采用 JSONB 存储,前端 UTS 解析时需确保类型强制转换正确(使用 UTSJSONObject)。
  • 首页约束:数据库侧实现了原子切换逻辑,确保同类型页面(如 home)全局仅有一个生效项。

回滚方案

  1. 数据库:依次 DROP ak_diy_pages 表及相关 4 个 RPC 函数。
  2. 代码:使用 git checkout 恢复重构的 3 个 .uvue 页面,并删除 decorationService.uts

验证方式

  1. 功能验证
    • 首页切换:在“首页装修”列表中将另一个模板设为首页,确认移动端展示内容实时变更。
    • 样式保存:在“个人中心装修”切换样式并点击保存,刷新页面后确认选中状态保持一致。
  2. 安全验证:确认非 admin 角色无法通过接口修改 DIY 配置。

关联规范

  • 遵循 AGENT_PROJECT_SPEC.md 规范。
  • 遵循统一的 RPC 入口鉴权admin 角色)。