|
|
ff0d26908c
|
fix(member): 修复账号注销/退出登录后无法正常跳转到微信原生授权登录的问题
修复背景:
账号注销成功后, 用户被重定向到 native 登录页 (手机号+验证码表单风格, 像 H5),
而不是微信小程序原生授权登录 (ns-login 弹窗 + getPhoneNumber 授权).
此外, 微信小程序下短时间内连发 reLaunch 会触发 native 错误:
appLaunch with non-empty page stack
以及历史遗留的 navigateTo push 登录页 + 旧页面在栈中导致的死循环问题.
主要修复:
1. util.js redirectTo reLaunch 分支 (4 平台兼容):
- H5 平台: window.location.replace (真正清空 history, 避免 history.back + router.replace 假清栈)
- 小程序平台 (mp-weixin/mp-harmony/...): 加 300ms 全局跳转锁 + setTimeout(0) 包裹
解决 appLaunch with non-empty page stack 错误
- APP/其他: 保留原生 uni.reLaunch
2. util.js redirectTo 入口智能默认 (跨平台兜底):
- 目标 == LOGIN_PAGE_URL && mode 是默认 navigateTo && 没传 back 参数
→ 自动改成 reLaunch (避免注销后死循环)
- 显式传 mode 或带 back 参数的场景保持原行为 (不影响登录后回原页面)
3. member-public.js mixin 增强:
- getLoginEntryUrl(): 跨平台登录入口智能分流
微信小程序/鸿蒙/其他小程序 → INDEX_PAGE_URL (首页, 走 ns-login 原生授权弹窗)
H5/快应用/APP → LOGIN_PAGE_URL (原生登录页)
- redirectToLoginOnce(): 统一封装 clearLoginState + 跳登录入口, 带 800ms 组件级防抖锁
- logout / getCancelStatus 兜底 / submitCancelApply 三个地方都改用 redirectToLoginOnce()
4. 5 个注销/退出流程页面改造:
- cancelsuccess.vue / cancelstatus.vue / cancellation.vue / cancelrefuse.vue
/ assets.vue: 跳登录入口全部用 redirectToLoginOnce (不再直接 redirectTo(LOGIN_PAGE_URL))
- cancellation.vue / cancelrefuse.vue: 加 memberPublic mixin (原本没有)
5. 取消了在 pages/index/public/js/index.js 中 onShow 自动弹登录弹窗的尝试
(因触发 Vue 框架的 dataset of null pre-existing 错误, 改由其他途径处理)
测试覆盖 (300+ 测试用例全部通过):
- tests/member-cancel-flow.test.js (28 个测试, 9 个用户故事场景)
- tests/redirectTo-relaunch-h5.test.js (11 个测试, 9 个跨平台场景)
- tests/redirectTo-real.test.js (12 个)
- tests/util.test.js (30 个)
- 其他 8 个测试文件全部通过
|
2026-07-23 17:26:00 +08:00 |
|
|
|
94142268a0
|
refactor(i18n): 完成全量硬编码中文文案替换为多语言方案
1. 替换所有页面/组件中的硬编码中文提示文案为$lang调用,包括支付、帮助中心、公告等页面
2. 重构diy.js加载失败文案处理逻辑,支持参数化替换
3. 新增多语言混入逻辑,实现导航标题随语种动态切换
4. 重构支付组件初始化逻辑,优化平台适配代码
5. 添加多语言单元测试和硬编码扫描脚本
6. 更新语言包,新增缺失的翻译词条
|
2026-07-23 09:46:16 +08:00 |
|
|
|
4044070867
|
fix(splash): 移除 onDiyGroupLoaded 多余 500ms 延迟避免 page-ready 兜底超时
diy-group 内部 _notifyLoaded 已有 300ms 渲染 settle, 叠加的 500ms 会吃掉
splash 2s page-ready 兜底预算, 导致弱网/冷启动下走 page-ready-timeout 兜底路径
(splash 在页面就绪前被强制关闭)。改为收到 loaded 事件后立即 notifyPageReady。
|
2026-07-16 17:20:46 +08:00 |
|
|
|
2c1703acc5
|
fix(index page): add base url to version info modal
extend the version info popup to display the backend service base address
|
2026-07-15 15:58:40 +08:00 |
|
|
|
88921e61d2
|
fix(splash-screen): 修复H5环境下启动屏关闭后页面空白问题
问题根源分析:
1. diy-group 的 mounted() 在组件挂载时就触发了,但此时 diyData 还没有数据
2.
otifyMounted() 在组件 mount 时立即关闭了 H5 的 uni.showLoading(),但页面内容还没就绪
3. 导致启动屏关闭后,首页内容还是空白的
修复方案:
1. 在 diy-group.vue 中,将 loaded 事件的触发时机改为 diyData watch 中,确保数据加载完成后再通知
2. 在 splash-state.js 中,
otifyMounted() 不再立即关闭 H5 原生 loading,等待页面就绪后由 _doHide() 统一关闭
3. 在 index.js 中,onDiyGroupLoaded() 延迟 500ms 再通知页面就绪,确保内容渲染完成
|
2026-07-13 10:54:17 +08:00 |
|
|
|
edea8c32de
|
fix(splash-screen): 启动屏等待首页内容就绪后再消失
问题描述: 首次启动时,启动屏已关闭但首页内容还是空白的,用户体验差。
解决方案:
1. 在 splash-state.js 中新增页面就绪等待机制 (_pageReady 标志、notifyPageReady 方法)
2. 修改软隐藏逻辑,必须同时满足组件已 mount 和页面已就绪才关闭启动屏
3. 在首页 onDiyGroupLoaded 回调中通知页面就绪
兜底保护:
- 组件 1s 未 mount → 强制关闭
- 页面 2s 未就绪 → 强制关闭
- 总超时 8s → 强制关闭
|
2026-07-13 10:36:04 +08:00 |
|
|
|
e8db412595
|
refactor(index): 调整版本水印相关逻辑与样式
1. 调整版本连击触发条件为3次以上而非≥3次
2. 优化版本水印的DOM结构和触发绑定方式
3. 简化背景内联样式并调整水印内边距
4. 修改版本水印的颜色和阴影样式
|
2026-07-10 10:12:04 +08:00 |
|
|
|
08e4d866f5
|
feat: add version watermark and optimize title tap logic
1. 为diy-group组件添加loaded事件通知渲染完成
2. 调整构建时间为北京时间并格式化展示
3. 新增版本水印组件,在diy渲染完成后显示
4. 将标题连击触发版本信息的次数从5次改为3次
5. 移除旧的隐形触发区域,将触发逻辑绑定到水印
|
2026-07-10 09:47:17 +08:00 |
|
|
|
aa7d967422
|
fix: 修复鸿蒙元服务TabBar跳转失效问题
1. 修复多处页面onTabItemTap事件,使用uni.reLaunch兜底鸿蒙下switchTab静默失败的问题
2. 全局混入onTabItemTap兜底未手动处理的页面
3. 优化路由跳转逻辑,针对鸿蒙环境增加switchTab失败兜底和超时强制跳转
4. 优化可选链调用和空值判断,提升代码健壮性
|
2026-07-06 16:48:38 +08:00 |
|
|
|
8e218bb663
|
feat: 新增多语言国际化页面配置,修复部分页面硬编码文案
1. 新增了zh-cn和en-us两套语言下的大量页面国际化配置文件,覆盖商品、订单、会员、营销活动等多个业务模块
2. 修复了分销页面、VR页面、支付页面、商品不存在页面的硬编码提示文案,替换为国际化调用
3. 删除了原有的i18n检查脚本文件
|
2026-06-25 11:00:50 +08:00 |
|
|
|
5f41febd70
|
chore(i18n): 清理死代码 + 遗留 lang 文件 + 旧工具
## 删除的死代码脚本
- scripts/i18n_class_c.py (脚本自承'新架构下永远输出 0',纯防御性)
- scripts/full_migrate_i18n.py (其产出违反 CLAUDE.md 1.2 中文 key 铁律,已标 DEPRECATED)
- scripts/__pycache__/ (Python 缓存)
## 删除的旧 per-page lang 文件
- lang/zh-cn/<page>/<file>.js (140 个)
- lang/en-us/<page>/<file>.js (139 个)
- 共 279 个文件,运行时不再加载,0 个 key 被 .vue 调用(经 diagnose_keys.py 验证)
## 删除的备份和迁移表
- lang/_backup/ (git 已跟踪原文件)
- lang/_migration_map.json / lang/_migration-map.json (运行时不用)
## 删除的中间产物 JSON
- docs/i18n-rename-*.json (smart_rename 中间产物,已用完)
- docs/i18n-ambiguous.json / i18n-audit.json / i18n-call-rewrite.log /
i18n-clean-dead.log / i18n-file-texts.json / i18n-page-titles.json /
i18n-vue-extract.json (前一会话残留,无引用方)
- docs/i18n-{naming,shadow,strict}-audit.json (脚本会自动重新生成)
## 删除的 modular lang 文件
- lang/zh-cn/*.js / lang/en-us/*.js (20 个模块文件,内容是上一会话产生的死代码)
- lang/zh-cn/index.js / lang/en-us/index.js (聚合入口)
- lang/DEPRECATED.md (已不再相关)
## 删除的不成熟脚本
- scripts/check_perpage.py (诊断用,已完成)
- scripts/diagnose_keys.py (诊断用,已完成)
- scripts/smart_rename_i18n.py (v1-v3 都 bug,未修完)
## 现状
- lang/ 现在只有 zh-cn.js + en-us.js (单文件,运行时实际加载)
- 这两个文件已被 smart_rename 部分修复: camelCase → snake_case (8 个 key)
- 命名违规从 8236 降到 3505 (剩余都在单文件,可独立 commit 修复)
- 1362 个 orphan () 调用仍存在,详见 docs/i18n-handoff.md
|
2026-06-25 10:48:15 +08:00 |
|
|
|
f258987e0e
|
refactor: 替换多页面国际化文本为硬编码中文内容
移除项目内大部分$lang()国际化调用,替换为直接中文文本,统一前端展示文案
|
2026-06-23 08:55:16 +08:00 |
|
|
|
4715f06b2f
|
i18n: 替换所有硬编码文本为多语言配置
将项目中各处的硬编码字符串替换为国际化语言包调用,统一管理页面和组件的文案内容,方便后续多语言适配与维护
|
2026-06-22 17:53:38 +08:00 |
|
|
|
3a310f0b98
|
refactor(js): rename and adjust login auth check function
调整了微信小程序端的登录授权判断逻辑,重命名函数并优化代码结构,补充其他平台的TODO注释
|
2026-05-19 11:56:21 +08:00 |
|
|
|
3bff91e421
|
refactor: 统一版本信息注入方式
- feat(vue.config): 新增 VersionInjectPlugin,在 webpack emit 钩子中内联注入 __app_version 到 vendor.js / index.html
- refactor(scripts): mp-weixin.patch.js 精简为仅拷贝 site.js + ZIP 打包
- feat(index): 首页连击5次显示构建版本信息
- fix(util): 修复 openWxWorkServiceChat fail 回调语法错误
|
2026-05-11 09:36:57 +08:00 |
|
|
|
34e27d0621
|
feat(index): 首页标题连击5次显示构建版本信息\nfix(scripts): explorer使用spawn避免GUI进程阻塞\nfix(index): version.json运行时读取,不依赖构建时require
|
2026-05-09 17:14:51 +08:00 |
|
|
|
9f53f147ee
|
chore: 移除所有调试日志
|
2026-05-08 16:09:19 +08:00 |
|
|
|
d026bb6180
|
chore:增加一个后台控制首页弹出的隐私权限
|
2026-04-25 16:15:17 +08:00 |
|
|
|
f835fafeec
|
chore(h5): 去掉不需要的注释内容
|
2025-12-22 17:53:32 +08:00 |
|
|
|
ed8d3ebd18
|
chore(h5): 如果是H5环境,首页不强制必须登录
|
2025-12-22 17:16:42 +08:00 |
|
|
|
dd2006dd8c
|
fix: 解决首页需要登录才能看到元素
|
2025-12-20 17:30:01 +08:00 |
|
|
|
973c8dddd0
|
fix(index): 修复首页在已登录状态下,不能点击的问题
|
2025-12-20 16:52:29 +08:00 |
|
|
|
6673a494cf
|
fix(ui): 支持首页点击搜索按钮或者搜索框进入登录页面及优化构建输出微信小程序
|
2025-10-31 11:14:59 +08:00 |
|
|
|
aa0b776e6b
|
chore: update pages\index
|
2025-10-30 18:23:35 +08:00 |
|
|
|
0fabacd71c
|
feat(core): 增强核心事件通讯总线,增强跨组件交互能力
|
2025-10-30 16:57:33 +08:00 |
|
|
|
6632080b83
|
init
|
2025-10-27 15:55:29 +08:00 |
|