Browse Source

chore: auto bump version and changelog v1.0.1487 [skip ci]

Xiaogang Liao 3 days ago
parent
commit
4a442aa090
4 changed files with 83 additions and 3 deletions
  1. 1 1
      cfc-web/.last_build_commit
  2. 1 1
      cfc-web/package.json
  3. 40 0
      cfc-web/public/CHANGELOG-v1.0.md
  4. 41 1
      cfc-web/public/CHANGELOG.md

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-c7b8fd74b2afb6efd56d28b43228a3a597e72301
+d865f5ee5f16286a3d58556f9a5991d55e7d53d0

+ 1 - 1
cfc-web/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cfc-web",
-  "version": "1.0.1486",
+  "version": "1.0.1487",
   "private": true,
   "scripts": {
     "dev": "vue-cli-service serve",

+ 40 - 0
cfc-web/public/CHANGELOG-v1.0.md

@@ -4,6 +4,46 @@
 
 ---
 
+## v1.0.1487 (2026-10-02)
+
+### Bug 修复
+- 并发 401 改为排队重放,避免在途静默续期被自身打断
+- 修复页面生命周期重复跳转导致的 routeDone 报错
+
+### 其他
+- onboarding/progress 等)。修复前 _handle401 在 _reloginLock 为真时直接调
+- _clearAuthAndRedirect():第 1 个 401 刚启动 silentRelogin()(uni.login 异步),
+- 第 2~N 个 401 立刻抹掉 token 并预约 1500ms 后 reLaunch 登录页,在途续期被打断,
+- 表现为控制台只有 401、silentRelogin 无任何日志、用户被弹回登录页。
+- - 并发 401 入 _pending401 队列,续期成功后统一重放;成败仅由发起续期的
+-   那个 401 判断
+- - 重放带 _noRelogin:重放仍 401 则直接失败,避免续期/重放 ping-pong 死循环
+- - silentRelogin 无 openid 分支补 warn 日志(此前静默返回 null,无法定位)
+- 测试:concurrent 401s queue behind one renewal、replayed request that still 401
+- fails without triggering another renewal(后者覆盖死循环防护)。
+- 已验证回归有效性:临时还原旧逻辑后新用例即以线上症状失败。
+- Jest 178/0,audit 0 error。
+- 
+- 页面在生命周期钩子中重复发起跳转,框架对已销毁的 webview 调用 routeDone。
+- - splash/index: onShow 每次都新建 2s reLaunch 定时器且 onUnload 未清理;改为
+-   _hasLaunched 一次性守卫 + onUnload 清理定时器
+- - profile-extra/{create-child,edit-child,children}: onShow 自动跳转与按钮
+-   goToFamilyMembers 各发一次 redirectTo,统一收敛到 redirectOnce() 守卫
+- - rewards/rewards: teacher 分支 redirectTo 增加 _redirected 守卫,
+-   loadRewards() 仍保持每次 onShow 刷新
+- 其余 5 处 onLoad redirectTo 为每实例仅执行一次的跳转桩,无并发风险,未改动。
+- 全量注册页扫描:HIGH=0,无异步回调内的裸跳转。
+- 
+- - 移除雷达图(canvas 卡片及相关方法)
+- - 让首次使用的家长一眼看懂结果代表什么、接下来做什么
+- 
+
+### 新功能
+- 自检结果页新增「怎么看这个结果」引导卡
+- 补全9.9体验会员功能 + 升级流程优化 - upgrade.vue: 添加体验会员(BASIC) compare 表列 + 基本功能描述 - upgrade.vue: 默认 selectedLevel 升级至下一级(FAMILY→PREMIUM) - upgrade.vue: 按钮显示 '续费' 而非 '下一步' 于 renew 当前等级
+- 活动搜索 keyword 支持 + 产品搜索 API + 封面上传 + 小程序页面选择器
+
+
 ## v1.0.1486 (2026-10-01)
 
 ### 重构

+ 41 - 1
cfc-web/public/CHANGELOG.md

@@ -1,6 +1,6 @@
 # 更新日志
 
-> 当前版本: v1.0.1486
+> 当前版本: v1.0.1487
 
 ## 历史版本
 
@@ -8,6 +8,46 @@
 
 ---
 
+## v1.0.1487 (2026-10-02)
+
+### Bug 修复
+- 并发 401 改为排队重放,避免在途静默续期被自身打断
+- 修复页面生命周期重复跳转导致的 routeDone 报错
+
+### 其他
+- onboarding/progress 等)。修复前 _handle401 在 _reloginLock 为真时直接调
+- _clearAuthAndRedirect():第 1 个 401 刚启动 silentRelogin()(uni.login 异步),
+- 第 2~N 个 401 立刻抹掉 token 并预约 1500ms 后 reLaunch 登录页,在途续期被打断,
+- 表现为控制台只有 401、silentRelogin 无任何日志、用户被弹回登录页。
+- - 并发 401 入 _pending401 队列,续期成功后统一重放;成败仅由发起续期的
+-   那个 401 判断
+- - 重放带 _noRelogin:重放仍 401 则直接失败,避免续期/重放 ping-pong 死循环
+- - silentRelogin 无 openid 分支补 warn 日志(此前静默返回 null,无法定位)
+- 测试:concurrent 401s queue behind one renewal、replayed request that still 401
+- fails without triggering another renewal(后者覆盖死循环防护)。
+- 已验证回归有效性:临时还原旧逻辑后新用例即以线上症状失败。
+- Jest 178/0,audit 0 error。
+- 
+- 页面在生命周期钩子中重复发起跳转,框架对已销毁的 webview 调用 routeDone。
+- - splash/index: onShow 每次都新建 2s reLaunch 定时器且 onUnload 未清理;改为
+-   _hasLaunched 一次性守卫 + onUnload 清理定时器
+- - profile-extra/{create-child,edit-child,children}: onShow 自动跳转与按钮
+-   goToFamilyMembers 各发一次 redirectTo,统一收敛到 redirectOnce() 守卫
+- - rewards/rewards: teacher 分支 redirectTo 增加 _redirected 守卫,
+-   loadRewards() 仍保持每次 onShow 刷新
+- 其余 5 处 onLoad redirectTo 为每实例仅执行一次的跳转桩,无并发风险,未改动。
+- 全量注册页扫描:HIGH=0,无异步回调内的裸跳转。
+- 
+- - 移除雷达图(canvas 卡片及相关方法)
+- - 让首次使用的家长一眼看懂结果代表什么、接下来做什么
+- 
+
+### 新功能
+- 自检结果页新增「怎么看这个结果」引导卡
+- 补全9.9体验会员功能 + 升级流程优化 - upgrade.vue: 添加体验会员(BASIC) compare 表列 + 基本功能描述 - upgrade.vue: 默认 selectedLevel 升级至下一级(FAMILY→PREMIUM) - upgrade.vue: 按钮显示 '续费' 而非 '下一步' 于 renew 当前等级
+- 活动搜索 keyword 支持 + 产品搜索 API + 封面上传 + 小程序页面选择器
+
+
 ## v1.0.1486 (2026-10-01)
 
 ### 重构