Files
websopy-taro/.workbuddy/memory/MEMORY.md
赵忠林 39d3b59434 refactor(user): 将VIP身份统一改为开发者标记
- 审核通过时不再新增角色,而是更新用户isDeveloper布尔标记
- 后端UserService新增markAsDeveloper方法,通过updateById设置isDeveloper
- UserController新增PUT接口更新开发者标记,权限使用sys:userRole:save
- 前端api新增setUserDeveloper调用新的审核接口
- vip-review页面移除角色相关代码,改为调用setUserDeveloper方法
- 约定开发者身份即sys_user.is_developer字段,不再依赖角色表记录
- app.config.ts追加开发者中心与平台管理相关页面路由
- 新增开发者中心、平台管理的多个API模块(apikey、appProduct、appDomain、developer请求等)
- 添加公共工具方法和复用组件用于开发者中心及平台管理功能
- 统一品牌名称为“威数谱软件”,更新文案及界面展现一致性
2026-07-22 14:57:03 +08:00

1.6 KiB
Raw Blame History

项目长期记忆websopy-taro

核心约定

开发者身份的表示方式

  • 开发者身份 = sys_user.is_developer 布尔位(数据库列 is_developer),不是 sys_user_role 里的角色记录。
  • 后端仓库:/Users/gxwebsoft/JAVA/com.gxwebsoft.core(单 Maven 模块,包名 com.gxwebsoft 分包)。
  • 标记接口:PUT /api/system/user/developer/{userId}UserController.setDeveloperUserService.markAsDeveloper),成功后经 syncMessageProducer 同步 websopy。
  • 读取点:MainController.loginByDeveloperSms 校验 isDeveloper 才允许开发者登录。
  • 前端调用:@/api/system/usersetUserDeveloper(userId)
  • 注意:前端 vip-review / vip-upgrade 等页面的变量名仍残留 VIP_ROLE_*pendingVipCountdealerPrice 等旧标识符(仅文案改成了「开发者」),后端角色与缓存 key 仍对应这些旧名,重命名需谨慎。

后端代码风格com.gxwebsoft.core

  • Controller 继承 BaseController,统一返回 ApiResult(成功 code=0,失败 code=1),用 success()/fail()
  • 「按 userId 置一个标志位」的范式:new User(){{setUserId(); setXxx();}}userService.updateById(u)(参考 updateStatus/updateRecommend/auditUser)。
  • 用户变更后如需同步 websopysyncMessageProducer.sendUserSyncMessage("websopy","UPDATE",user)(在 UserServiceImpl 内,@Autowired(required=false) 注入)。
  • 用户相关代码都在 com.gxwebsoft.common.systementity/service/controller业务应用数据在 com.gxwebsoft.websopy(无 Controller