9dabcc2135
fix(privacy): 兼容鸿蒙元服务场景补全隐私弹窗逻辑
...
新增鸿蒙兜底逻辑,当PrivacyManager.show()未执行且用户未同意隐私权限时,触发补偿弹窗,避免用户无法看到隐私授权弹窗
2026-07-06 10:42:41 +08:00
6617a0b36c
fix(harmony): 修鸿蒙元服务 JSVM 兼容性
...
基于 .logs/harmony-debug.log 排查,修复 3 类 runtime 错误:
1. isWeChatMiniProgram / cashier autoPay / ai-chat 复制文本
- 鸿蒙 JSVM 没有 navigator 全局, navigator.userAgent 直接 ReferenceError
- 加 typeof navigator === 'undefined' 守卫,Harmony 上返回 false,
业务落到 isWeiXin()(已被 #ifdef H5 框住,Harmony 上也 false)→ 普通登录
2. diy-category getHeightArea
- onShow 在 mounted 前触发,query 还是 undefined
- query 重新尝试创建;createSelectorQuery 不存在则直接 return
- 防止首次进入崩溃
3. goods-detail-view 模板 indexOf
- goodsSkuDetail.support_trade_type 字段偶尔缺失
- 改 (support_trade_type || []).indexOf(...) 兜底
2026-07-04 11:26:47 +08:00
ea504d8434
refactor(lang): 优化远程页面树的命名匹配逻辑
...
修复多语言路径同时支持camelCase和snake_case的匹配问题,为每个层级同时维护两种命名格式的镜像键,增强路径兼容性
2026-07-04 09:32:56 +08:00
2d7d7f731c
fix(remote lang tree): 修复命名空间被基本类型值覆盖的bug
...
修复remote-only模式下语言包归一化的历史bug:当页面leaf顶层存在与命名空间同名的字符串键时,会覆盖整个namespace导致子key失效。通过对齐normalizePageLangPack的两层合并逻辑来修复:
1. 先将页面语言包按路径段转为命名空间结构再合并
2. 额外平铺leaf的基本类型键到根节点以兼容短key调用
2026-07-04 09:25:01 +08:00
783c10fc62
refactor: 统一项目内国际化key的命名空间格式
...
本次提交对全项目的国际化调用进行了规范化重构:
1. 为中文/英文语言包新增了avatar和gender的别名映射,兼容旧有headImg/sex写法
2. 修正了lang.js中的注释路径错误
3. 将所有页面和组件内的$lang调用从短路径改为带业务模块前缀的完整命名空间路径,例如将$lang('title')改为$lang('article.list.title')
4. 优化了i18n-lazy.js的注释说明,补充了正确的key命名格式示例
5. 统一了分销、订单、会员等模块的国际化key层级,确保所有语言调用路径一致
2026-07-04 09:24:35 +08:00
2a2161c9d9
refactor: 整理多页面语言包调用路径,统一翻译键层级
...
1. 调整品牌专区、商品评价、搜索、优惠券等页面的语言翻译引用,将零散翻译项归类到对应模块下
2. 优化auth.js中的语言包路径引用,修正模块命名空间
3. 清理zh-cn/en-us品牌语言包的冗余嵌套结构
2026-07-03 11:23:05 +08:00
0cdb956065
fix(http): 为请求失败提示添加错误信息参数
...
将原始的请求失败和域名不在白名单的提示中,新增传入err参数到多语言翻译中,展示更详细的错误信息
2026-07-02 16:56:28 +08:00
e1ce2ae268
feat(i18n): add fallback toast and cached bundle fallback logic
...
1. add global i18n fallback toast on lang:fallback event, only show once per process
2. add getCachedBundleAny to retrieve expired cache for boot fallback
3. add cache fallback logic when remote i18n bundle load fails
2026-07-02 16:33:22 +08:00
c86e688e47
refactor(privacy&lang): optimize privacy check and language bundle loading
...
1. add cache for privacy check result to reduce repeated calls
2. refactor lang bundle boot process with integrity checks
3. add timeout recovery for late fetch responses
4. improve error handling and fallback logic
5. add comments for better maintainability
2026-07-02 16:03:04 +08:00
2014d27834
chore(config): adjust boot and request timeout values
...
2026-07-02: 延长启动超时和请求超时时间,适配慢启动和远端冷启动场景,配合迟到数据补救机制确保获取到最终数据
2026-07-02 15:21:47 +08:00
de52406be8
refactor(common): 统一浮动按钮与侧边导航的尺寸变量与布局
...
1. 新增全局CSS变量管理浮动按钮和侧边导航的尺寸参数,实现多组件样式同步
2. 重构to-top.vue和hover-nav.vue,改用CSS变量驱动布局,修复多平台适配问题
3. 新增多语言切换弹窗与智能切换逻辑,优化多语言展示与配置能力
4. 修复原容器高度计算的硬编码适配问题,改用rpx单位实现全平台自适应
2026-07-02 11:45:33 +08:00
563ab9274f
build: add remote-only mode lang package stub and replacement logic
...
add empty-lang-stub.js to stub lang package files in remote-only mode,
add webpack plugin logic to replace lang files with stub to reduce bundle size
2026-07-01 16:50:01 +08:00
5ae4bbcbd3
feat: 新增统一启动屏组件,优化跨平台加载体验
...
1. 新增splash-screen全局启动屏组件,适配非APP平台的加载过渡
2. 新增splash-state状态管理模块,统一处理启动屏的显示隐藏、软隐藏时序、兜底超时逻辑
3. 重构App.vue和main.js的加载逻辑,替换原有uni.showLoading方案
4. 在首页和空页面挂载启动屏组件,适配不同页面场景
5. 兼容H5平台降级处理,解决main.js挂载前无法渲染组件的问题
2026-07-01 15:36:55 +08:00
c0220492a2
refactor(privacy-popup): 抽取通用延迟i18n混入并重构隐私弹窗
...
1. 新建通用的i18n延迟初始化混入,解决小程序/鸿蒙环境下i18n空串缓存问题
2. 将隐私弹窗原有的prepareI18n逻辑迁移到混入中,统一实现i18nPrepareFn
3. 简化弹窗组件内的i18n处理代码,优化可维护性
2026-07-01 14:04:42 +08:00
7045a05a73
feat: 添加全局隐私协议管理器并适配鸿蒙元服务
...
1. 新增common/js/privacy.js全局隐私协议管理器,统一处理多平台隐私弹窗逻辑
2. 替换APP-HARMONY为MP-HARMONY平台判断标识,适配鸿蒙元服务
3. 在mp-html组件中增加MP-HARMONY平台兼容
4. 在App.vue中集成隐私弹窗初始化逻辑
5. 重构privacy-popup.vue,接入全局隐私管理器,优化弹窗互斥逻辑
6. 全局挂载$privacy实例到Vue原型链
2026-07-01 09:39:04 +08:00
eef59211d3
refactor(i18n): 完善remote-only模式下的首屏渲染和请求门控
...
1. 补充getCachedBundle的注释说明TTL过期缓存返回null
2. 修复globalConfig中onShow的重复判断逻辑,增加boot完成检查
3. 给http请求增加remote-only模式下的boot门控,等待国际化就绪后再发送业务请求
4. 重构main.js的平台差异化处理逻辑,统一各端初始化流程
5. 优化App.vue的boot流程,为小程序/鸿蒙增加加载遮罩
6. 新增bootCompleted状态标志和并发去重机制,完善lang.js的remote-only适配逻辑
7. 补充lang()方法在boot未完成时返回空串的逻辑,避免首屏raw key
2026-06-30 15:29:45 +08:00
07c38c1b1b
fix: 适配多平台语言包加载逻辑,优化首屏渲染
...
调整语言包加载时机,区分H5和小程序/鸿蒙平台:
H5 remote-only模式下先await Lang.boot()再挂载Vue避免首屏raw key
小程序/鸿蒙平台同步注册App,Lang.boot()放到App.onLaunch异步执行不阻塞挂载
移除了无用的加载语言包错误日志注释
2026-06-30 14:30:22 +08:00
50a1c1c695
feat(i18n): 实现remote-only打包模式,优化首屏加载和产物体积
...
1. 新增remote-only模式下的空语言包stub
2. 新增缓存有效期配置并对齐后端Cache::set 600s
3. 重构语言包加载逻辑,适配remote-only模式
4. 添加webpack替换插件,排除本地lang目录减少产物体积
5. 优化Vue挂载时机,等待语言包就绪后再渲染首屏
6. 改进缓存策略,新增内存缓存TTL校验和语种缓存淘汰
7. 修复语言包缓存key生成逻辑,支持uniacid和appType隔离
2026-06-30 14:04:52 +08:00
e6d47a3d78
refactor: 优化多语言结构并新增远端语言包加载能力
...
1. 扁平化多语言文件层级,移除嵌套的命名空间
2. 更新组件内多语言调用路径,适配新的语言包结构
3. 重构HTTP请求错误处理逻辑
4. 新增remote-only模式的远端语言包加载器
5. 新增多语言数据源remote-only配置项
2026-06-30 10:03:25 +08:00
c7810f16f7
feat: 新增多语言文案并修复动态国际化调用问题
...
1. 新增多语言文件覆盖组件、页面、公共模块的翻译文案
2. 修复多处动态拼接lang key的调用,增加兜底逻辑避免空值或原始key暴露
3. 补全DIY组件、业务页面的国际化适配
4. 新增P2动态key国际化处理方案文档
2026-06-29 15:29:24 +08:00
509b4d2238
refactor(diy-bottom-nav): 优化 TabBar 高亮逻辑,新增来源参数记忆和页面映射规则
...
1. 新增 redirectLink 处理,添加 from_tab 来源参数实现 Tab 高亮记忆
2. 新增 TAB_BAR_KEYS、NO_TAB_PAGES、PAGE_TAB_MAP 统一管理 Tab 归属配置
3. 重构 checkTabBarActive 函数,增加页面精确映射和来源参数判断逻辑
4. 兼容小程序和 H5 的页面 query 参数获取
2026-06-29 11:25:10 +08:00
2e535b9d93
refactor(member pages): unify onShow login redirect logic
...
1. extract common onShow login check to dedicated method redirectTologinOnShowLifecycle
2. add fallback callback for login failure to navigate back on wechat mini program
3. update all page login redirect calls to use the new unified method
4. add debug logs for redirect and auth flow tracing
2026-06-27 18:25:53 +08:00
0b760e41a3
refactor: 统一移除局部金额格式化过滤器并全局复用
...
1. 移除多个页面/组件内重复的moneyFormat局部过滤器
2. 将moneyFormat方法提取到全局配置中复用
3. 调整登录弹窗跳转模式适配H5场景
4. 新增open方法调试日志方便排查
2026-06-27 17:14:03 +08:00
f794a2ae27
refactor: 统一替换登录跳转逻辑为通用方法
...
将项目内多处手动调用$refs.login.open的登录跳转逻辑,统一替换为新增的redirectTologin通用方法,简化代码并提升维护性,同时统一处理了延迟和nextTick调用逻辑。
2026-06-27 16:52:25 +08:00
95194585d2
refactor: 统一替换小程序事件绑定为@tap并优化跳转逻辑
...
1. 全局替换@click为@tap以适配uni-app事件规范
2. 优化toLogin方法的路由获取逻辑,增加空值判断
3. 重构redirectTo跳转逻辑,统一tab页跳转使用reLaunch确保页面栈正确
2026-06-27 13:46:29 +08:00
bf4fe97aa3
feat: 新增多语言配置并优化语言加载逻辑
...
1. 新增多个页面的中英文多语言词条,包括会员卡协议、积分商品、收银台等
2. 新增退款商品选择、微信支付、电子名片等页面的语言包
3. 优化lang.js语言加载逻辑,支持蛇形命名转换和多路径匹配,完善$lang调用兼容处理
2026-06-27 09:07:51 +08:00
84f5cd4568
refactor(common/lang): add shared component lang pack support
...
add shared language pack system for cross-page components, normalize component and page lang packs automatically, inject shared packs during language merge
2026-06-26 18:26:21 +08:00
4ae21c5d7a
refactor: 完成多语言国际化全量替换与补充
...
1. 新增大量中英文语言包文件,覆盖自定义组件、页面、工具类的文案
2. 替换硬编码文本为多语言调用,统一全局文案管理
3. 优化语言包结构,拆分公共模块与业务模块
4. 修复部分语言加载与国际化适配问题
2026-06-26 17:32:35 +08:00
f7fb9f34f9
feat: add and optimize multilingual text resources
...
- add new language packs for multiple pages and components including category, cart, order, member center, distribution, etc.
- add Chinese and English translations for new features and UI text
- fix navigation service error message to use multilingual text
- update component templates to use dynamic language translation instead of hardcoded text
- adjust code indentation and formatting for consistency
2026-06-26 13:49:26 +08:00
066ca61d97
feat: 新增多语言文案与组件国际化适配
...
本次提交完成了大量多语言相关的新增与优化工作:
1. 新增充值、案例、会员资产、订单等页面的中文/英文翻译文案
2. 新增企业微信客服、时间选择、支付弹窗等组件的多语言包
3. 优化工具函数与自定义页面的多语言适配,替换硬编码提示文案
4. 新增会员等级规则、积分商品、退款管理等页面的国际化支持
5. 修复企业微信JS-SDK的错误提示文案硬编码问题
2026-06-26 09:09:46 +08:00
2d8846c64c
feat: 新增多语言文案、优化导航及工具函数,修复部分业务逻辑
...
1. 新增多语言资源文件,覆盖文章、预约日期、会员信息、优惠券、表单、购物车、积分商城、分销、AI聊天等多个模块
2. 优化底部导航组件,使用多语言配置替代硬编码文案
3. 重构工具函数,新增从后端数据提取多语言文案的工具方法
4. 修复邀请好友页面的保存提示文案,替换为多语言版本
5. 修复商品SKU组件的提示文案,使用多语言配置
6. 重构AI聊天页面的帮助文档和回复模板,使用多语言配置
7. 优化空状态组件,支持多语言默认文案
8. 修复跳转逻辑,补全参数传递
9. 新增本地开发环境配置
2026-06-25 18:15:31 +08:00
ca4e7fd170
fix(util): 给redirectTo调用传递完整link参数
...
修复跳转逻辑,将完整的link对象作为参数传入跳转方法,保留原有跳转参数的同时传递额外上下文信息
2026-06-25 16:39:57 +08:00
5d3663786c
feat: add multi-language page configs and fix i18n issues
...
1. 新增多套多语言页面翻译文件,覆盖文件列表、案例展示、商户相关、印章相关、分销、小程序发货等页面
2. 修复语言包拼写错误:loginTpis → loginTips
3. 重构语言包合并逻辑,使用深度合并替代浅合并避免子key丢失
4. 优化导航栏标题设置,统一使用$langConfig.title替代硬编码标题
5. 修复底部导航栏语言切换不响应的问题,改为响应式获取当前语言
6. 完善英文通用语言包,补充订单、购物车、会员相关翻译
7. 修复商品详情页默认标题为空的问题,设置为"商品详情"
2026-06-25 14:52:39 +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
750ed2dac7
refactor: 替换硬编码文本为多语言配置
...
替换了项目中所有硬编码的提示文案,将其统一迁移到多语言语言包中,包括授权、自定义页面、HTTP请求、分享、客服等模块的提示文本,提升项目的国际化可维护性
2026-06-23 08:36:55 +08:00
06e3a4d796
refactor(globalConfig&member): 重构多端按钮显示逻辑
...
1. 新增全局配置方法getAppType用于获取当前平台类型,对齐服务端$app_type
2. 将会员页按钮显示判断改为基于当前平台的配置校验
3. 简化模板中的条件判断代码
2026-06-18 17:09:34 +08:00
c2b38476ea
refactor(lang): 优化多语言翻译函数,支持传入默认值
...
修改lang.js的翻译方法,支持传入默认值参数,当找不到对应翻译时使用传入的默认值;同时更新member-public.js中的调用方式,简化多语言调用代码
2026-06-16 18:03:52 +08:00
c01a026149
perf(store, globalConfig): 优化多语言刷新和主题颜色缓存
...
1. 修改全局配置的多语言刷新逻辑,新增参数控制全量刷新时机
2. 为主题颜色生成添加缓存,避免重复遍历主题对象计算CSS变量
3. 从本地存储初始化主题配置,持久化主题状态
2026-06-16 17:34:09 +08:00
2e85e11e92
refactor(i18n): 优化多语言缓存逻辑,提升翻译性能
...
1. 新增多语言缓存体系,包括合并包缓存、字段解析结果缓存和页面路由缓存
2. 新增缓存失效方法,在语言更新、切换租户时统一清理缓存
3. 重构$lang方法,复用页面路由缓存避免重复计算
4. 增加字段结果缓存,命中直接返回避免重复解析
5. 复用合并后的语言包,减少深拷贝和合并操作次数
6. 清理冗余递归深度注释
2026-06-16 17:04:03 +08:00
efd7cdb8d7
fix(lang): 修复页面未初始化时获取语言失败的问题
...
1. 兼容_page不存在的场景,优先使用common语言包
2. 优化路由路径获取逻辑,支持$page.path作为备选
3. 避免深拷贝污染语言包缓存,仅在langPath有效时加载页面包
2026-06-16 16:53:31 +08:00
e51c03235f
refactor(nav): 动态控制导航栏返回按钮显示逻辑
...
1. 新增isTabBarRootPage工具方法判断是否为tab根页面
2. 在全局混入中添加isTabRootPage计算属性
3. 替换多处硬编码的isBack属性为动态绑定
4. 优化shouldShowTabBar计算属性的代码逻辑
2026-06-16 15:34:10 +08:00
92700f9a21
refactor(utils&tabbar): 重构tabbar高亮逻辑与分包路径适配
...
1. 修复store中tabBarList初始值为null替代空字符串
2. 重构adaptSubpackageUrl,优化正则匹配与移除冗余映射
3. 新增路径归一化、分包名提取工具函数
4. 重写checkTabBarActive,新增精确匹配、packageEntryTab优先级匹配逻辑
5. 重构diy-bottom-nav组件的路由更新与高亮校验逻辑,统一路径处理流程
2026-06-16 14:56:17 +08:00
c0e64437f0
refactor(promotion pages): 统一分销和商品分类页的底部适配逻辑
...
重构了全局配置里的底部边距计算方式,替换原有tabBarPaddingStyleValue为tabBarPagePaddingStyle,同时调整了tabBarHeight的取值逻辑,适配是否显示tabBar的场景,移除冗余的计算属性
2026-06-16 14:29:09 +08:00
6fb0e264b8
refactor(i18n): 重构多语言模块,修复递归和缓存问题
...
1. 添加递归保护机制防止$lang调用栈溢出
2. 新增storage缓存层减少重复调用uni.getStorageSync
3. 修复语言包合并污染缓存问题,改用深拷贝合并
4. 增加循环引用检测避免解析异常
5. 注释掉冗余的console.error日志
6. 新增重入保护防止refresh死循环
7. 优化切语言/切租户时的缓存清理逻辑
2026-06-16 11:53:45 +08:00
64d3ac8f8a
refactor: 统一重构底部导航栏间距逻辑与显示规则
...
1. 新增全局计算属性统一处理底部导航栏显示判断与间距样式
2. 替换多个页面的手写底部间距逻辑为通用样式
3. 新增路由匹配工具函数,支持灵活配置导航栏显示范围
4. 优化底部导航组件的显示条件判断
2026-06-16 11:25:54 +08:00
b86e8e7fa6
refactor(merchcategory): add bottom tabbar and optimize page layout
...
1. add diy bottom navigation component to the merch category page
2. replace hardcoded height style with dynamic computed style based on tabbar status
3. add unified page path mapping and url resolution utilities
4. update page jump logic to use new page_key based routing
2026-06-16 08:40:59 +08:00
ea01bbd260
refactor(util): 优化objToStyle方法实现并补充细节
...
新增多项特性:自动转换驼峰式CSS属性为短横线命名、过滤无效样式值、补充分号、处理非对象入参,同时完善注释说明
2026-06-11 18:03:41 +08:00
f5badc550c
style(style_color): add unified marketing theme color tokens
...
为所有主题预设新增统一的营销类颜色令牌,包含拼团、砍价、秒杀、会员、积分、分销等多场景的渐变与装饰色值
2026-06-11 16:23:04 +08:00