# 用户标签数据库设计与 RPC (v1) ## 摘要 为“用户标签”功能新增数据库表 `public.ak_user_labels`(支持逻辑删除),并提供管理端 RPC(分页列表/保存/删除/状态切换)。同时启用 RLS,默认仅允许管理端通过 RPC 访问。 ## 动机 - 完善用户画像体系,支持对用户进行行为特征标记。 - 替换前端 `pages/mall/admin/user/label.uvue` 中的硬编码 Mock 数据,实现真实数据持久化。 ## 影响范围 - 数据库:新增 `ak_user_labels` 表及相关索引、RLS 策略、4 个管理端 RPC。 - 前端:新增 `userLabelService.uts`,重构 `label.uvue` 页面。 ## 变更清单 - 数据库 SQL: - `docs/sql/10_schema/user/ak_user_labels_v1.sql` - `docs/sql/20_rls/user/ak_user_labels_rls_v1.sql` - `docs/sql/30_rpc/user/rpc_admin_user_label_list_v1.sql` - `docs/sql/30_rpc/user/rpc_admin_user_label_save_v1.sql` - `docs/sql/30_rpc/user/rpc_admin_user_label_delete_v1.sql` - `docs/sql/30_rpc/user/rpc_admin_user_label_set_status_v1.sql` - 前端代码: - `services/admin/userLabelService.uts` - `pages/mall/admin/user/label.uvue` ## 兼容性与风险 - 逻辑删除:采用 `deleted_at` 字段,确保历史关联数据不被物理破坏。 - 安全性:所有管理操作均通过 `SECURITY DEFINER` RPC 并校验 `admin/analytics` 角色。 ## 验证方式 - 执行 SQL 后,通过 Admin 端的“用户标签”菜单进行增删改查操作,观察数据库及界面响应。