Files
medical-mall/docs/ops/2026-02-10__admin__user-group-db-and-ui.md

1.5 KiB
Raw Blame History

用户分组数据库设计与 RPC (v1)

摘要

为“用户分组”功能新增数据库表 public.ak_user_groups(支持逻辑删除),并提供管理端 RPC分页列表/保存/删除/状态切换)。同时启用 RLS默认仅允许管理端通过 RPC 访问。

动机

  • 完善用户精细化运营体系,支持对用户进行分组分类。
  • 替换前端 pages/mall/admin/user/group.uvue 中的硬编码 Mock 数据,实现真实数据持久化与完整交互。

影响范围

  • 数据库:新增 ak_user_groups 表及相关索引、RLS 策略、4 个管理端 RPC。
  • 前端:新增 userGroupService.uts,重构 group.uvue 页面。

变更清单

  • 数据库 SQL
    • docs/sql/10_schema/user/ak_user_groups_v1.sql
    • docs/sql/20_rls/user/ak_user_groups_rls_v1.sql
    • docs/sql/30_rpc/user/rpc_admin_user_group_list_v1.sql
    • docs/sql/30_rpc/user/rpc_admin_user_group_save_v1.sql
    • docs/sql/30_rpc/user/rpc_admin_user_group_delete_v1.sql
    • docs/sql/30_rpc/user/rpc_admin_user_group_set_status_v1.sql
  • 前端代码:
    • services/admin/userGroupService.uts
    • pages/mall/admin/user/group.uvue

兼容性与风险

  • 逻辑删除:采用 deleted_at 字段,确保历史关联数据不被物理破坏。
  • 安全性:所有管理操作均通过 SECURITY DEFINER RPC 并校验 admin/analytics 角色。

验证方式

  • 执行 SQL 后,通过 Admin 端的“用户分组”菜单进行增删改查操作,观察数据库及界面响应。