3.5 KiB
3.5 KiB
目标
- 修复现存编译错误,确保所有接口与 Java 行为完全一致
- 保持 TypeORM 实体字段与数据库一致;不改表结构/索引
- 完成工具归一替换并删除重复文件,目录保持干净
待修复清单(按模块)
DIY 模块
- 枚举迁移:从 Java 复制
TemplateEnum、PagesEnum到libs/wwjcloud-core/src/enums/ - DTO 属性风格统一:将
DiyInfoParam/DiyTabbarParam/DiyTabbarListParam/DiyShareParam的siteId()/memberId()改为属性访问,字段与 Java 对齐 - 日志打印:将
JsonUtils.stringify(...)改为JSON.stringify(...)(或在工具中补齐stringify,参考 Java 的 JSON 输出位置) - 返回包装:统一使用项目已有返回构造,替换不匹配的
Result<T>(...)构造
登录与渠道(auth/login/channel)
- 注入与导入修正:补充
Site实体与CoreSiteServiceImpl/CoreH5ServiceImpl/CorePcServiceImpl的注入与导入 - 枚举迁移:复制 Java 的
SiteStatusEnum/ChannelEnum到enums/并按值一致 - DTO 字段:
MemberInfoParam使用属性风格memberId/siteId
会员模块(member)
memberId非空校验:在提现、地址、信息修改、签到等接口赋值/查询前统一校验未登录;抛出与 Java 一致的错误消息- 空值更新路径:所有
update/save的入参做严格非空判定,避免null传入(对齐 Java 空分支逻辑) - JSON 校验:替代
JsonUtils.isJson为安全解析或在工具内按 Java 行为实现
验证与核销(captcha/verify)
- Captcha 工具已兼容
ResponseModel字段;对调用方统一读取isSuccess/repData/repMsg,移除不兼容字段 - Verify 查询:
SysVerifyRecordsParam属性访问统一;移除take: 1;补充createVerifyCode相关的memberId非空校验
TypeORM 用法与空值
- 全仓移除
findOne({ take: 1 }),统一findOne({ where })或 QueryBuilder - 所有可能为
null的对象在更新前进行非空收窄;与 Java 分支一致的抛错或新建/返回逻辑
工具归一与清理
- 将剩余约 16 处
core/common/utils引用替换为@wwjBoot/vendor/utils(qrcode/collect/distance/ip/tree/language/wechat/notice) - 删除重复工具文件:
core/common/utils/system-utils.ts、core/common/utils/captcha-utils.ts及其他迁移后的公共工具 - 保留域专用:
request-utils.ts、json/json-module-loader.ts
对齐依据(Java 源文件)
- 公众号/小程序 Serve:
ServeController.java、ServeServiceImpl.java - jscode2session/手机号:
WeappServiceImpl.java(login/register 流程) - 验证码:
CoreCaptchaImgServiceImpl.java(ResponseModel 字段读取) - 短信驱动:
SmsLoader.java、BaseSms.java(forName 驱动加载) - 插件安装列表 VO:
InstallAddonListVo.java(icon/cover/supportApp 等字段) - DIY 表单配置:
CoreDiyFormConfigServiceImpl.java(编辑/提交配置与空值逻辑)
验证与交付
- 编译:确保零错误
- 契约:逐端点比对 Java 响应结构与状态码;事务与副作用对齐(日志/缓存失效/事件)
- Docker:构建 API+MySQL+Redis,前端
.env.production指向后端;执行 k6 冒烟与路由契约测试 - 清理:输出已删除与替换清单,确认目录干净
时间表
- D1:完成工具替换与重复文件删除;修复 DIY/登录 的编译与契约
- D2:修复会员/验证/TypeORM 用法与空值路径;完成编译零错误与 Docker 冒烟
- 并行:枚举/DTO 迁移与接口对齐同步进行,压缩至 1.5–2 天