|
|
@@ -4,6 +4,114 @@
|
|
|
|
|
|
---
|
|
|
|
|
|
+## v1.0.1586 (2026-10-12)
|
|
|
+
|
|
|
+### Bug 修复
|
|
|
+- 修复微信扫码登录 405、移除令牌输入框、悬停暂停活动与精细化动画
|
|
|
+- schema.sql 建表语句提取支持引号内分号
|
|
|
+- 修复编译错误(补充scan-login.json,移除main.js中不存在的login-sheet引用)
|
|
|
+- 修复创建入库单页表单内容显示不全无法滚动问题
|
|
|
+- reminder-config :key 修复 v-for index 未定义
|
|
|
+- 修复 reminder-config 页 :key 表达式导致非 h5 编译失败
|
|
|
+- 京东云存储下 LangGraph 改读共享卷缓存路径
|
|
|
+
|
|
|
+### 其他
|
|
|
+- - models.rs/commands.rs: 兼容旧版 qrconnect 后端(仅 {state,url} 无小程序码),给出明确「需部署最新后端」提示
|
|
|
+- - settings.html: 移除 JWT 令牌输入框及相关读写(保留 hasToken 探测)
|
|
|
+- - locomotion.rs: 新增 cursor_over_pet() 悬停检测,鼠标落在宠物身上时立即暂停走/跳/飞并保持静止(新增单测)
|
|
|
+- - index.html/animations.css/pet-pose.js: 姿态动画精细化(方向镜像 --face、走/跳/飞/站手更丰富关键帧、新增呼吸待机 pose-idle),并加固宠物 cursor:pointer
|
|
|
+-
|
|
|
+- 遇到 COMMENT 字符串字面量内的分号(task_reminder_config.offset_minutes
|
|
|
+- 注释"截止前N分钟; after_timeout...")会提前截断,语句不完整导致
|
|
|
+- 每次启动告警且该表无法由 schema.sql 创建。
|
|
|
+- 改为按字符扫描、跳过单引号/反引号内分号,完整切分 338 条语句(与旧实现同集)。
|
|
|
+-
|
|
|
+- - HealthReportController: 去掉 2 处 startsWith(http) 直传 OSS URL 的捷径,统一经 getFilePath 下载
|
|
|
+- - 代上传(proxy-parse): 改用 storageService 存 OSS 再经 getFilePath 传给 LangGraph
|
|
|
+-
|
|
|
+- ### 1. BASIC 会员恢复(f86dd164b 反向还原)
|
|
|
+- - 迁移360 restoreBasicMembershipLevel() 恢复 membership_levels BASIC 行 + membership_benefits 4 条 LITE 权益
|
|
|
+- - backfillMembershipLevelOrder 修正 level_order:FREE=1 BASIC=2 FAMILY=3 PROVIDER=4 PREMIUM=5 LIFETIME=6
|
|
|
+- - BasicQuotaService 恢复 refreshMonthlyQuota/isActiveBasicMember/getExpireTime
|
|
|
+- - MembershipService 恢复 BASIC canUseFeature/getMemberLevel 到期判断/listActive/配额初始化
|
|
|
+- - 新增 FOOD_RECOGNIZE 配额(3次/月),控制器层校验 FREE→403
|
|
|
+- - schema.sql 同步种子数据 + 注释
|
|
|
+- ### 2. 饮食打卡分享
|
|
|
+- - diet-checkin.vue / records.vue / record-detail.vue 接入 share-mixin
|
|
|
+- - 分享链接自动带 refCode,新用户注册后自动绑定推荐人
|
|
|
+- ### 3. cfclub 分支合并(~300+ 文件)
|
|
|
+- - 新模块:Indicator(指标曲线/相关性/映射)、FatDiet/FatExercise/FatGoal/FatWeight(减脂)、GutHealth(菌群健康)、SsoTicket(单点登录)、AdminTaskReminderConfig
|
|
|
+- - 前端:ContentSharePoster.vue、TrendChart.vue、indicator-curve/quicklook 页面、self-check-ai、indicator-change/sso utils
|
|
|
+- - LangGraph:indicator_classify、question_generate、report_parse 更新
|
|
|
+- - Web 管理端:IndicatorCorrelations/IndicatorMappings、api/indicator.js、utils/indicatorSeeds.js
|
|
|
+- - xiaofat-miniprogram(独立减脂小程序 Demo)纳入版本库
|
|
|
+- - docs/superpowers/plans/ & specs/ 补充完整
|
|
|
+- ## 主提交
|
|
|
+- - DatabaseInitializer.java、schema.sql、BasicQuotaService.java、MembershipService.java
|
|
|
+- - DietRecordController.java、diet-checkin.vue、records.vue、record-detail.vue
|
|
|
+- - docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md
|
|
|
+- - 全部 cfclub 分支新增/修改文件
|
|
|
+-
|
|
|
+- ### 1. 恢复 BASIC 会员等级
|
|
|
+- - 迁移360 restoreBasicMembershipLevel() 重新插入 membership_levels 的 BASIC 行(level_order=2,月费990,max_children=3,max_tasks_per_day=3)和 membership_benefits 的 4 条 LITE 权益(AI_CHAT_LITE 3次/月,REPORT_READING_LITE 1次/月,GROWTH_PLAN_LITE,ASSESSMENT_QUOTA_LITE 1次)
|
|
|
+- - 修正 backfillMembershipLevelOrder 的 level_order 映射:FREE=1 BASIC=2 FAMILY=3 PROVIDER=4 PREMIUM=5 LIFETIME=6(BASIC 插回 FREE 与 FAMILY 之间)
|
|
|
+- - 同步 schema.sql:BASIC 种子数据 + level_order 与 quota_type 字段注释
|
|
|
+- ### 2. 图片解析(食材识别)配额校验
|
|
|
+- - BasicQuotaService.QUOTA_LIMITS 增加 FOOD_RECOGNIZE=3
|
|
|
+- - BasicQuotaService 恢复 isActiveBasicMember / getExpireTime / refreshMonthlyQuota 真实实现
|
|
|
+- - 新增 consumeFoodRecognizeQuota(userId):FAMILY+ 不限次、BASIC 走月度配额、FREE 403 升级提示
|
|
|
+- - DietRecordController./recognize 注入 BasicQuotaService,取 userId 后校验配额,失败返回 Result.error(403, toast)
|
|
|
+- ### 3. 饮食打卡分享(复用既有推荐链路)
|
|
|
+- - diet-checkin.vue / records.vue / record-detail.vue 接入 share-mixin(mixins + setShareInfo + onShareAppMessage)
|
|
|
+- - 分享链接自动带 refCode,他人点击注册后通过 App.vue / login.vue autoBindInviteCode 绑定推荐人
|
|
|
+- - 新用户即可自行饮食打卡
|
|
|
+- ### 4. 设计文档
|
|
|
+- - 新增 docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md
|
|
|
+- ## 主文件变更
|
|
|
+- - DatabaseInitializer.java:新增迁移360 + backfill CASE 修正
|
|
|
+- - schema.sql:BASIC 种子 + 注释更新
|
|
|
+- - BasicQuotaService.java:恢复 3 方法 + FOOD_RECOGNIZE
|
|
|
+- - MembershipService.java:BASIC 分支 / 到期判断 / listActive / 激活配额初始化
|
|
|
+- - DietRecordController.java:/recognize 会员配额校验
|
|
|
+- - docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md:设计说明
|
|
|
+- ## 注意
|
|
|
+- - level_order 仅相对顺序调整(插入 BASIC),代码层 level_code 匹配逻辑不受影响
|
|
|
+- - 不恢复 consumeQuota 内原有的 isActiveBasicMember 前置校验,避免误伤 FREE/FAMILY 的 AI 对话
|
|
|
+- - 图片解析配额在控制器层校验,FAILED 返回 403 并提示升级
|
|
|
+- - 生产库历史 BASIC 用户已降级为 FREE,本迁移不自动回溯
|
|
|
+-
|
|
|
+- - AiGateway 新增 generateSelfCheckQuestions(Map) 方法,调 /api/v1/question-generate
|
|
|
+- - FiveDimensionSelfCheckController 新增 ai-generate-questions 路由,返回 Result<List<SelfCheckQuestionVO>>
|
|
|
+- - questions 列表的 options 字段暂不映射,待后续补全
|
|
|
+- 解除了本地 mvn clean compile 因 LangGraphService 导致的构建中断
|
|
|
+-
|
|
|
+
|
|
|
+### 新功能
|
|
|
+- 玄凤鹦鹉精细化动作(走/跳着走/飞/站手跟随)
|
|
|
+- implement product recommendation & procurement workflow with 5-dimension tiers, customization, and task lifecycle with message reminders
|
|
|
+- 待退款审核合并入审核中心(新增待退款审核 tab + 待审计数)
|
|
|
+- 离线自主活动与本地点击互动
|
|
|
+- 微信登录改为展示小程序码,不再打开系统浏览器
|
|
|
+- 新增扫码登录落地页 scan-login 与 wechatWebScan 接口封装
|
|
|
+- 桌面端扫码登录改用小程序码(getwxacodeunlimit),新增 POST /scan 确认接口,移除 GET /callback 与网站应用凭据
|
|
|
+- 文章支持推荐排序值编辑;编辑页消除横向滚动条
|
|
|
+- 同步 cfclub 分支 + 恢复 BASIC 会员 + 饮食分享 + 新增指标/减脂/Sso 模块
|
|
|
+- restore BASIC 体验会员 9.9/月 + 饮食打卡分享 + 图片解析配额
|
|
|
+- 通过 AiGateway 接入智能出题能力,新增 POST /api/family/self-check/ai-generate-questions
|
|
|
+- 收货人保存后回填用户真实姓名
|
|
|
+- 商城地址保存后回填用户真实姓名
|
|
|
+- 新增 RealNameBackfillService 真实姓名回填组件
|
|
|
+
|
|
|
+### 文档
|
|
|
+- 玄凤鹦鹉精细化动作设计文档
|
|
|
+- 地址联系人回填真实姓名实现计划(含文档索引同步)
|
|
|
+- 地址联系人回填真实姓名设计(自检修正+文档索引同步)
|
|
|
+- 地址联系人回填真实姓名设计
|
|
|
+
|
|
|
+### 测试
|
|
|
+- 同步 ActivityControllerTest 到 roles 形参签名,修复 testCompile 失败
|
|
|
+
|
|
|
+
|
|
|
## v1.0.1585 (2026-10-12)
|
|
|
|
|
|
### Bug 修复
|