|
|
6821e5abcf
|
refactor: 统一错误消息数据源,优化错误码与映射表管理
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m36s
主要改动:
- 改造 errors.New() 和 Wrap() 函数签名为可变参数,优先使用 errorMessages 映射表
- 添加 allErrorCodes 注册表和 init() 启动时校验,确保错误码与映射表一致
- 添加 TestAllCodesHaveMessages 和 TestNoOrphanMessages 测试防止映射表腐化
- 清理 109 处与映射表一致的冗余硬编码(service 层)
- 保留业务特定消息覆盖能力
新增 API 用法:
- errors.New(errors.CodeUnauthorized) // 使用映射表默认消息
- errors.New(errors.CodeNotFound, "提现申请不存在") // 覆盖为自定义消息
|
2026-01-22 18:27:42 +08:00 |
|
|
|
1b9080e3ab
|
实现角色权限体系重构
本次提交完成了角色权限体系的重构,主要包括:
1. 数据库迁移
- 添加 tb_permission.platform 字段(all/web/h5)
- 更新 tb_role.role_type 注释(1=平台角色,2=客户角色)
2. GORM 模型更新
- Permission 模型添加 Platform 字段
- Role 模型更新 RoleType 注释
3. 常量定义
- 新增角色类型常量(RoleTypePlatform, RoleTypeCustomer)
- 新增权限端口常量(PlatformAll, PlatformWeb, PlatformH5)
- 添加角色类型与用户类型匹配规则函数
4. Store 层实现
- Permission Store 支持按 platform 过滤
- Account Role Store 添加 CountByAccountID 方法
5. Service 层实现
- 角色分配支持类型匹配校验
- 角色分配支持数量限制(超级管理员0个,平台用户无限制,代理/企业1个)
- Permission Service 支持 platform 过滤
6. 权限校验中间件
- 实现 RequirePermission、RequireAnyPermission、RequireAllPermissions
- 支持 platform 字段过滤
- 支持跳过超级管理员检查
7. 测试用例
- 角色类型匹配规则单元测试
- 角色分配数量限制单元测试
- 权限 platform 过滤单元测试
- 权限校验中间件集成测试(占位)
8. 代码清理
- 删除过时的 subordinate 测试文件
- 移除 Account.ParentID 相关引用
- 更新 DTO 验证规则
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-01-10 09:51:52 +08:00 |
|