90 Commits

Author SHA1 Message Date
vifo 7fdd93fc4b docs: 补充支付设计文档、store 字段设计文档及实施计划 2026-06-09 02:02:21 +08:00
vifo a79be07c52 docs: 新增 api-portal API 文档门户设计文档 2026-06-09 01:56:37 +08:00
vifo 7b2f3d77ca docs: 支付模块开发文档 + git 域名更新
- 新增 backend/design/支付模块架构概览.md
- 新增 backend/design/支付模块数据库设计.md (21张表 DDL)
- 新增 backend/design/支付模块接口设计.md
- git.dev.vifo.cc → git.vifo.cc 全局替换
2026-06-09 01:54:29 +08:00
vifo 1324a52049 docs(standards): 补充 Result<T> 统一响应类文档,修正 API 设计规范响应格式
- 新增 Result统一响应类.md 完整文档
- 修正 API设计规范.md 中响应字段与实际代码不一致的问题
- 错误码规范表按实际 ResultCode 枚举对齐
2026-06-08 16:01:33 +08:00
vifo d4a3bd5847 docs: 新增 AI 助手快速上手指南(面向开发者)
- 开工准备、常用指令模板、GitNexus 速查
- AGENTS.md 精简原则和检查清单
- 目录结构速查
2026-06-08 13:17:05 +08:00
vifo 8b2de75b5f refactor: 统一 remote 名称为 origin
- gitea-api.md: 删除 remote 名称差异表,统一使用 origin
- AI开发操作手册.md: push gitea main -> push origin main
2026-06-08 13:06:12 +08:00
vifo c7244b3b87 feat: 完善工单路由规则和 Gitea API 指南
- gitea-api.md: 补全 5 个仓库地址、工单路由表、URL 前缀映射、remote 名称、关闭 Issue API
- issue-workflow.md: 增加工单归属判断、跨仓库提工单流程、列出/关闭工单 API
2026-06-08 13:00:13 +08:00
vifo a7f3ee3565 refactor: 全局替换 spring-ai -> rui-framework
同步仓库名称变更,涉及 16 个文件 66 处引用:
- ai-skills: 菜单配置
- backend/guides: AI操作手册、环境配置、部署、gitnexus、opencode 工作流
- backend: 模块创建规则、通信规范、协作工作流、实施规范
- frontend: 收银设计、管理后台实施计划
- standards: 数据库设计规范
2026-06-08 12:56:39 +08:00
vifo 12a263c451 feat: 迁移 GitNexus 通用技能到全局文档仓库
- 从各仓库 .claude/skills/gitnexus/ 迁移 6 个技能
- 更新 ai-skills/README.md 说明目录结构
- 所有仓库的 GitNexus 技能完全相同,统一维护
2026-06-08 12:50:24 +08:00
vifo 2253ebea92 docs: update API design standards 2026-06-08 11:23:17 +08:00
vifo 76260b9458 docs(plan): mark Task 7 as completed (all 7 tasks done, E2E verified via static checks) 2026-06-08 11:23:17 +08:00
vifo 3d16902489 docs(plan): mark Task 6 as completed (form dialog created, commit 5231e50) 2026-06-08 11:23:17 +08:00
vifo fdc74784c2 docs(plan): mark Task 5 as completed (list page created, commit 3a64850) 2026-06-08 11:23:17 +08:00
vifo 8fed3a04be docs(plan): mark Task 4 as completed (route registered, commit e961bc5) 2026-06-08 11:23:17 +08:00
vifo a5863706dc docs(plan): mark Task 3 as completed (i18n added, commit 98741a0) 2026-06-08 11:23:17 +08:00
vifo d07a3f7f4b docs(plan): mark Task 2 as completed (sysAppService exported, commit 0b4b02f) 2026-06-08 11:23:17 +08:00
vifo 2152d0de42 docs(plan): mark Task 1 as completed (sysAppService created, commit 67d6686) 2026-06-08 11:23:17 +08:00
vifo cd2d68e60e docs(plan): add SysApp application integration management plan
- 7 个有序任务:Service → Index → i18n → Router → List → Form → E2E
- 任务粒度合适,每个聚焦单一文件/职责
- 包含完整依赖图、回滚计划、测试清单
- 严格遵循现有 plan 格式

对应工单 rui/rui-frontend#4
2026-06-08 11:23:17 +08:00
vifo f4761ae145 docs(spec): add SysApp application integration management design
- 为 rui/rui-frontend#4 工单编写设计规范
- 7 个文件变更:service 新建、index 改、router 改、locales 改、2 个 vue 新建
- 4 Tab 表单布局(基础信息/凭证信息/接口配置/高级)
- 敏感字段脱敏(appSecret/appKey/aesKey)
- certificates 字段 JSON 占位(等 rui/rui-framework#4 文件上传接口)

对应工单 rui/rui-frontend#4
2026-06-08 11:23:17 +08:00
vifo bb71263bdd docs: add superpowers design docs and plans 2026-06-08 11:23:17 +08:00
vifo b9d5b6d9f0 docs: 更新 Gitea API 文档,添加完整的 Issue 创建流程和示例 2026-06-08 11:23:17 +08:00
vifo 24a8643fb6 docs: 添加后端 API 工单 - 用户编辑接口密码字段处理优化 2026-06-08 11:23:17 +08:00
vifo 20d4a545b4 docs: 添加前后端智能协作方案实现计划 2026-06-08 11:23:17 +08:00
vifo 9957d85595 docs: 添加前后端智能协作方案设计文档 2026-06-08 11:23:17 +08:00
vifo f26c67368c docs(spec): 上传 API 增加 fileName + extract=zip 自动解压
- §7.1 补充 fileName (可选)、extract (bool)
- 响应统一为 Result<List<SysFileUploadVO>>:单文件也是长度 1 的数组
- §7.4 fileName 行为说明 (不传/传/校验)
- §7.5 extract=true (ZIP 解压):
  - 行为 + 路径规则 (bizType/zipBaseName/entryName)
  - 安全护栏 (总 entry ≤ 100, 单 entry ≤ maxSize, entry 名正则)
  - 请求/响应/订阅方事件示例
- 对应后端 commit: c4a5d5f
2026-06-07 23:17:14 +08:00
vifo 3aebe0b5a5 docs(spec/plan): FileBizType 改为工具类(非枚举),bizType 自由字符串
设计调整原因:上传服务是统一基础设施,强制枚举会要求「加新模块 = 改框架代码」。
改为 final class + normalize() 格式校验,业务模块自定 bizType 字符串即可。

- spec §4.2: 整个 FileBizType 章节重写(工具类 + 格式约束 + 设计意图)
- spec flow 5/11: 校验从 values() 改为 normalize()
- spec API 表 / 代码结构表 / 订阅方示例 同步更新
- plan Step 1.2/1.4 / 状态表 / 流程校验 / 发布器签名 同步更新
2026-06-07 22:44:12 +08:00
vifo 5f19332f06 docs(nacos): rui-service-storage 业务配置模板
- 包含 rui.file.* 全部业务配置
  active / default-max-size / biz-types (4个) / aliyun / tencent / local
- 服务端口 9400
- 严格遵循 docs/ai-skills/nacos-config-rules.md Rule 2
  仅放本服务特有业务配置,不含 Nacos 连接/编码/feign 等通用项

关联 Gitea #4 / 设计文档 §9.3
2026-06-07 22:23:27 +08:00
vifo a10b712919 docs(plan): 文件存储服务(rui-service-storage)实施计划
- 16 个可独立 commit 的子任务
- Task 1: 常量 + 枚举
- Task 2: sys_file DDL
- Task 3-9: 模块骨架 + Strategy 模式
- Task 10-12: 实体/Service/Controller/Event
- Task 13-14: 集成启动器 + 公共配置
- Task 15-16: 编译验证 + Gitea 关闭

关联 Gitea #4
2026-06-07 21:31:59 +08:00
vifo 66f0712486 docs(spec): 文件存储服务(rui-service-storage)设计文档
- 独立微服务 rui-service-storage 统一上传接口
- 支持阿里云 OSS / 腾讯云 COS / 本地 Strategy
- 内置 @AutoPermission 鉴权
- Redis pub/sub ON_UPLOAD / ON_FILE_DELETED 事件
- topic 常量集中在 rui-common-core/.../constants/MqTopicConstants
- 关联 Gitea #4
2026-06-07 21:25:31 +08:00
vifo b492c6224a docs(plan): wechat/alipay 凭证动态加载计划 - 完成状态同步
- 25 个 checkbox 全部勾选
- 添加实施状态(commit e3a441b)
- 补充实施完成报告
2026-06-07 19:17:10 +08:00
vifo 78e5ebc17e docs(plan): 修正 AlipayApiClient 字段映射
AlipayApiClient 构造需 (appId, privateKey, publicKey),
AppCredentialsVO 无这两个字段(按 spec 在 certificates JSON 数组里)。
AlipayApiClient.getAccessToken 当前抛 UnsupportedOperationException,
所以 privateKey/publicKey 暂用空串占位,cert 解析留作后续 Task。
2026-06-07 19:12:09 +08:00
vifo 2bfd1c0f4f docs(plan): wechat/alipay Provider 凭证动态加载改造计划
修复凭证烧死 bug:把 WeixinAuthenticationProvider /
AlipayAuthenticationProvider 改为持有 AppCredentialsCache,
buildToken 内部按 X-App-Id 头动态解析凭证并构造 API 客户端。

- 任务 1: WeixinAuthenticationProvider 改造
- 任务 2: AlipayAuthenticationProvider 改造
- 任务 3: OAuth2ServerConfig 清理
- 任务 4: AlipayApiClient 字段映射核对
2026-06-07 19:03:35 +08:00
vifo 4271f333b6 docs(specs): 更新已完成 spec 文档状态
- 2026-06-07-sys-app-management: 已批准,待实现 → 已实现
- 2026-06-07-multi-login-social-login: 已批准,待实现 → 已实现
- 2026-06-06-user-aggregate-query: 已批准 → 已实现

各 spec 对应的 plan 已结清/实施 commit 已落地,更新状态描述并补充实施情况指引。
2026-06-07 18:46:30 +08:00
vifo 4540af71ae docs(ai-skills): README 索引加 sql-deploy.md 入口 2026-06-07 18:25:34 +08:00
vifo eba4f07832 docs(standards): 增加 Feign 客户端注册规范章节
按用户提醒 + 本次实际踩坑记录:
- 项目用 rui-common-feign 自定义注册机制
- spring.factories 是 Feign 唯一注册渠道(@EnableFeignClients 包扫描不生效)
- 添加新 FeignClient 必须同步更新 spring.factories
- 漏写会导致运行时 NPE
2026-06-07 17:54:04 +08:00
vifo 3395f69b42 docs(standards): 增加 Result 返回规范章节
按用户反馈(i18n key 用 code 字符串,key 放 data 字段):
- 字段语义:error/Http、code/i18n key、message/默认中文、data/业务数据
- 调用规范表:成功/校验失败/未授权/无权限/数据不存在/降级/通用失败
- 重点:数据不存在用 failNotFound(ResultCode.DATA_NOT_FOUND, key)
- 禁止写法:Result.ok(null) 表示'未找到'(反直觉)
- i18n 配合示例:前端用 code 字段路由 i18n,data 字段做模板替换
2026-06-07 17:49:19 +08:00
vifo 22889afedc docs(spec): 用 appId 作为唯一标识(来自 X-App-Id 请求头)
原方案用 platform 作为缓存 key 错误:
- 多个租户都叫 platform=wechat,缓存 key 冲突
- platform 不是真正唯一标识

按用户反馈调整:
- 凭证查询/缓存全部用 appId
- appId 来源:请求头 X-App-Id
- §3.1 加 UNIQUE KEY uk_app_id (app_id) 约束
- §5.1 流程重写:从 X-App-Id 取 appId → 缓存 key = app:creds:{appId}
- §5.2/5.3 删缓存也改用 appId
- §7.1 OAuth2 改造:从 request.getHeader("X-App-Id") 取
- 删除 §1.2 中 'client_id 映射' 的旧说法
2026-06-07 17:08:32 +08:00
vifo c576053ab6 docs(spec): SysApp 简化为单密钥列 + 多证书 JSON 数组
按用户反馈调整:
- 删除:app_secret_text / app_secret_file_path / private/public_key 的 text+file_path
- 新增:certificates JSON(多 p12 证书,每项含 name/path/password)
- 简单凭证(app_id/app_secret/app_key/aes_key)保留单值 VARCHAR 列
- §2 原则 4 改为'简单文本用列 / 多证书用 JSON'
2026-06-07 17:02:06 +08:00
vifo 33690fe80b docs(spec): 第三方应用管理(SysApp)设计规格
- 新增 SysApp 实体:多租户第三方应用凭证管理
- 平台元数据 + 支付扩展 + AES key + 证书/文本分离
- 消费方:OAuth2ServerConfig Feign + Redis 30min 缓存
- 租户隔离:owner_type=PLATFORM/TENANT + client_id→tenant_id 映射
- 范围:不涉及 rui-service-user(user 模块)
2026-06-07 16:53:36 +08:00
vifo ae78e0f673 docs(nacos): 前缀 social → thirdparty,匹配 OAuth2ServerConfig 改动 2026-06-07 16:15:08 +08:00
vifo 856e16beff docs(nacos): 用 app.wechat/app.alipay 替代 social.* 配置结构
配合 OAuth2ServerConfig 重构:
- social.wechat.app-id/secret → app.wechat.app-id/secret
- social.alipay.app-id/private-key/public-key → app.alipay.*
- 新增 app.alipay.app-key (AlipayApiClient 预留扩展)
2026-06-07 16:13:09 +08:00
vifo 6df6e7ad0c docs(plan): 标记 Task 12 (编译验证) 已完成 (commits 74960af + baf0283)
附:实际执行包含修复 plan 的 supports 签名 bug (3 个 Provider)
2026-06-07 15:56:28 +08:00
vifo 365aa49cbd docs(plan): 标记 Task 11 (sys_oauth_client grant_types) 已完成 (commit 74960af) 2026-06-07 15:53:52 +08:00
vifo 792b10bd34 docs(plan): 标记 Task 10 (Nacos 社交登录配置) 已完成 (commit 2249b36) 2026-06-07 15:52:45 +08:00
vifo 2249b3649a docs(nacos): 添加社交登录配置 (rui-auth.yaml)
- 微信登录配置 (app-id, app-secret)
- 支付宝登录配置 (app-id, private-key, public-key)
- 用 env var 占位符支持容器化部署
2026-06-07 15:52:34 +08:00
vifo b3c66245e9 docs(plan): 标记 Task 9 (OAuth2 配置注册) 已完成 (commit 22c64bd)
附:实际还包含让原 no-arg 构造编译失败的修复
2026-06-07 15:51:25 +08:00
vifo eb99ae43cb docs(plan): 标记 Task 8 (支付宝登录框架) 已完成 (commit a4fcb95) 2026-06-07 15:49:17 +08:00
vifo c69c34ff25 docs(plan): 标记 Task 7 (微信登录框架) 已完成 (commit 337d189) 2026-06-07 15:47:31 +08:00
vifo 938302c164 docs(plan): 标记 Task 6 (短信登录框架) 已完成 (commit 89645d5) 2026-06-07 15:45:16 +08:00
vifo f1f4440be2 docs(plan): 标记 Task 5 (OAuth2 密码登录扩展) 已完成
- 3 个文件修改完成 (commit 2488bcf)
- 标注:Step 3 跳过 (loadUserByAccount 已支持 EMAIL)
- 关键修补:loadUserByUsername 增加 # 解码 (plan 漏掉的实现漏洞)
2026-06-07 15:42:36 +08:00