Commit Graph

151 Commits

Author SHA1 Message Date
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
15a61fdc39 style(hover-nav): 优化导航按钮视觉效果与注释
1.  调整border-radius注释位置,补充为clip-path兜底说明
2.  简化旧版aspect-ratio兼容注释
3.  为通用背景添加同色边框消除抗锯齿毛刺
4.  为文字和图标添加凹陷雕刻式text-shadow增强立体感
2026-07-02 15:21:31 +08:00
c430c8971c fix(hover-nav): 修复H5端语言切换时导航跟随页面位移的问题
1.  将H5端的hover-nav组件通过Teleport方式挂载到document.body,避开页面transform的影响
2.  同步store中的主题色变量到组件根元素样式,修复样式继承失效问题
3.  在组件销毁前将DOM元素移回原父节点避免内存泄漏
4.  简化当前语言显示逻辑,统一展示当前选中语言的短码
2026-07-02 14:02:52 +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
5cfee417be refactor(splash-screen): 重构启动屏UI与动画逻辑
重写启动屏的模板结构与样式,替换原有简单logo加载动画为带光晕、轨道粒子的全新动效,优化过渡动画时长与曲线,简化冗余的生命周期注释代码
2026-07-01 15:43:41 +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
24ae55867a refactor(privacy-popup): 重构隐私弹窗的国际化文案处理逻辑
修复了小程序启动早期Lang未完成初始化时$lang返回空串的问题,将文案计算移到弹窗前一次性执行,统一多平台的文案获取逻辑
2026-07-01 13:46:49 +08:00
b2eb04ab98 refactor(privacy-popup): 合并多端隐私协议配置逻辑
简化隐私弹窗组件的多端环境配置代码,将H5和鸿蒙小程序的初始化配置合并,减少重复代码
2026-07-01 12:00:39 +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
55a5a68517 refactor: 统一多语言key的组件命名格式为短横线分隔
根据i18n规范,将所有组件相关的多语言key从驼峰式改为短横线分隔格式,同步更新文档中的示例说明。
2026-06-30 10:28:36 +08:00
c7810f16f7 feat: 新增多语言文案并修复动态国际化调用问题
1. 新增多语言文件覆盖组件、页面、公共模块的翻译文案
2. 修复多处动态拼接lang key的调用,增加兜底逻辑避免空值或原始key暴露
3. 补全DIY组件、业务页面的国际化适配
4. 新增P2动态key国际化处理方案文档
2026-06-29 15:29:24 +08:00
053a279102 refactor: 调整loading-cover和隐私弹窗的挂载位置
1.  将公告列表页的loading-cover移到mescroll-uni外部统一挂载
2.  将文件列表页的loading-cover移到mescroll-uni外部统一挂载
3.  为鸿蒙平台的slot强制重绘逻辑添加条件编译包裹
2026-06-29 10:41:14 +08:00
16cfe039ba fix(ns-login): add error callback handling for getCode
补充微信环境外获取验证码失败时的错误回调,保证错误能被正确抛出处理
2026-06-29 08:46:23 +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
95194585d2 refactor: 统一替换小程序事件绑定为@tap并优化跳转逻辑
1. 全局替换@click为@tap以适配uni-app事件规范
2. 优化toLogin方法的路由获取逻辑,增加空值判断
3. 重构redirectTo跳转逻辑,统一tab页跳转使用reLaunch确保页面栈正确
2026-06-27 13:46:29 +08:00
1bf8a4a9b2 style: 统一修复多页面重复的事件绑定冗余代码
1. 移除多处重复的@click和@tap事件,只保留必要的@tap
2. 修复scoped样式穿透语法,补全样式文件末尾换行
3. 统一调整隐私弹窗、搜索页等页面的样式写法
2026-06-27 09:48:28 +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
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
2337e3cacf refactor: 将项目内硬编码文本替换为多语言调用
统一替换所有页面和组件中的硬编码字符串为 $lang 多语言方法调用,提升项目国际化适配能力
2026-06-22 14:04:13 +08:00
46508c7d55 i18n: 替换硬编码文本为多语言配置
替换了多个组件中的硬编码文字,新增完善多语言翻译词条,包括通用、聊天、预约日期、门店等模块的翻译内容
2026-06-22 13:58:26 +08:00
45830ebda4 refactor: 替换项目中硬编码文本为多语言配置
将多处页面和组件内的硬编码文字替换为国际化语言包调用,包括空状态提示、按钮文案、表单占位符、弹窗标题等内容,统一项目多语言管理
2026-06-22 10:38:33 +08:00
062fb3be90 refactor(ns-form): 替换硬编码提示文本为国际化配置
将表单内所有硬编码的提示文案替换为多语言配置项,统一维护文案内容,方便后续国际化扩展
2026-06-22 10:04:18 +08:00
02644e1959 refactor(ns-contact): 替换硬编码文本为多语言配置
将页面中硬编码的客服相关文本替换为国际化语言包调用,实现多语言支持
2026-06-22 10:03:11 +08:00
315bdc71ff i18n(ns-chat): 替换聊天模块硬编码文本为国际化文案
将ns-chat相关组件中的硬编码中文文本替换为多语言国际化字段,统一页面文案展示方式,方便后续多语言适配维护
2026-06-22 09:59:47 +08:00
ebe2963466 fix(ns-newform): 优化地址选择占位符显示逻辑
根据地址类型动态切换占位符文本,默认区分省市和省市区场景,移除冗余的flex布局样式
2026-06-12 16:58:41 +08:00
5847612a58 fix(ns-newform): 修复选择器箭头对齐与布局问题
1. 调整选择器容器布局,将箭头移入flex容器内,统一picker类布局结构
2. 新增box-flex样式类,实现picker与箭头的自适应右对齐布局
3. 修复城市选择器的flex布局类缺失问题
4. 优化原生picker和自定义组件的宽度适配,确保文本对齐生效
2026-06-12 16:23:23 +08:00
e3c69e7e32 style&feat: 优化表单提示语与提交按钮样式
1.  调整默认提示语字号从24rpx改为32rpx,颜色改为纯黑,背景设为透明
2.  新增提交按钮顶部外边距配置项,支持自定义表单与按钮间距
3.  同步更新diy-form组件的提示语样式与提交按钮外层布局
2026-06-12 14:46:12 +08:00
39ab70510c style(uv-count-to): 优化文本样式处理逻辑
将手动拼接样式改为使用$util.objToStyle统一处理,提升代码可读性和规范性
2026-06-11 18:03:54 +08:00
b3dd1af674 refactor(ns-newform): 统一使用工具函数转换样式对象
1. 将所有样式计算方法改为通过$util.objToStyle生成样式字符串
2. 优化行分割线的样式定义方式,拆分border-bottom属性
3. 移除最后一个子元素的分割线样式逻辑,改为通过CSS变量控制
2026-06-11 17:47:06 +08:00
bbe3d75267 style(ns-newform): 调整组件样式作用域并补充H5适配
将原全局兜底样式改为scoped作用域,同时为.placeholder类添加H5端高度适配样式,移除冗余的全局样式注释说明
2026-06-11 16:52:51 +08:00
f11146013e refactor(ns-newform): 优化表单样式计算与渲染逻辑
1. 移除模板内动态调用的样式方法,改用预计算的响应式样式属性
2. 重构行分割线实现,改用border-bottom替代伪元素提升兼容性
3. 新增兜底样式解决小程序占位符样式失效问题
4. 统一表单样式的计算时机与响应式更新逻辑
2026-06-11 16:29:14 +08:00
25636f8133 style(ns-newform, diy-form): 对齐后端样式规范优化表单组件
1. 调整ns-newform的图片上传框样式,匹配后端design.css的.img-box样式参数
2. 简化diy-form的样式变量绑定,移除冗余的cssVars计算属性
3. 重构diy-form提交按钮样式,支持宽度百分比和尺寸预设,对齐后端设计规范
4. 优化表单布局类名逻辑,简化样式绑定代码
2026-06-11 15:55:11 +08:00
08caa49b43 style: 将项目内硬编码色彩替换为CSS变量,兼容多平台
本次提交将项目内47处硬编码色彩值替换为CSS自定义属性,同时添加了兜底纯色样式以兼容旧版小程序 runtime。覆盖了微信小程序、鸿蒙元服务和H5三端,所有渐变、纯色、边框色都增加了主题化支持,并新增了多平台主题兼容测试文档。
2026-06-11 15:32:00 +08:00
fae1d77ba5 refactor(diy-form&ns-newform): 重构表单组件样式与配置体系
1.  统一表单样式配置为中心化CSS变量方案,替换原有硬编码样式
2.  新增表单配置合并逻辑,兼容新旧数据格式与平台差异化配置
3.  拆分提交按钮与提示语样式,实现完全可配置化
4.  优化ns-newform组件的样式复用与响应式布局逻辑
5.  修复多端适配与占位符默认值问题
2026-06-11 09:45:09 +08:00
fd6527aa38 refactor: 迁移ns-newform组件到标准components目录并更新引用
1. 将ns-newform组件从pages_tool/_components移动到项目标准components目录
2. 更新所有文件中对该组件的导入路径和文档引用
3. 优化diy-form组件的表单数据处理逻辑,兼容更多数据格式
2026-06-09 09:50:27 +08:00
4f44b4f574 fix(harmony): 双列模式,点击图片等不能进入商品详情页面 2026-06-05 17:39:50 +08:00
d6c994e8f0 chore(harmony): 清理 mescroll 鸿蒙适配的调试日志
移除 components/mescroll/* 与 pages_goods/public/js/list.js 中所有
[mescroll-uni][HARMONY] / [my-list-mescroll][HARMONY] 调试日志。

保留功能性修复:watcher 触发首屏 resetUpScroll、isInit 提前为 true、
slot :key 强制重建、首次加载 300ms 延迟、setClientHeight data.height>0
校验与 10 次重试。
2026-06-05 15:25:46 +08:00
51ae3b1308 fix(harmony): 恢复 mescroll 上拉加载区域,修复列表不显示的根本原因
根因分析(重要):
- 之前为解决'一直处于加载状态'问题,条件编译隐藏了上拉加载区域
- 但这导致了连锁反应:upLoadType 变化时无任何 DOM 更新 → slot 内容不被刷新
- 点击排序之所以能显示,正是因为排序触发 resetUpScroll → showUpScroll
  → upLoadType 从1变0 → 引起内部 DOM 更新 → 连带刷新 slot

修复:
- 恢复 mescroll-uni 上拉加载区域的渲染(去掉 #ifndef MP-HARMONY)
- upLoadType 的正常变化(1→0/2)会驱动 DOM 更新,从而连带渲染 slot 列表内容
- loading-cover 保持条件编译隐藏(它是独立组件,不影响 slot 渲染)
2026-06-05 11:53:26 +08:00
2ec9aa990f fix(harmony): 数据加载后调用 scrollTo 强制 mescroll 重新计算内容高度
- 根因:mescroll 初始化时 setClientHeight 在 slot 内容渲染前执行,测得高度为 0
- 数据加载后 mescroll 不知道内容高度已变化,scroll-view 仍保持 0 高度
- 点击排序后触发 refresh() → setClientHeight() 重新测量,内容才显示
- 修复:数据加载后调用 scrollTo(0, 0) 强制 mescroll 重新测量内容高度
- mescroll-uni.vue 同步暴露 scrollTo 方法供外部调用
2026-06-05 11:47:22 +08:00
a23d57547b fix(mescroll): 移除鸿蒙端强制刷新slot的临时方案 2026-06-05 11:41:07 +08:00
dc2018ee17 fix(harmony): 数据加载后通过改变 slot key 强制重建列表 DOM
- 根因:鸿蒙 ArkUI 对 slot 内 Vue 响应式更新完全失效
- 之前方案(:class/:style/v-if/)都只能影响 slot 内部,ArkUI 不响应
- 新方案:slot 外包一层 view 绑定动态 key,数据加载后 300ms 自增 key
- key 变化强制 Vue 重建整个 slot 子树,完全绕过 ArkUI 响应式限制
- 还原之前无效的 mounted 延迟方案
2026-06-05 11:36:28 +08:00
cbbb1e0327 fix(harmony): 鸿蒙环境下延迟 mescroll 初始数据加载,确保 DOM 渲染就绪
- 根因:鸿蒙 ArkUI DOM 初始化管线比 Vue 响应式系统慢
- mescroll mounted 时立即触发 resetUpScroll,数据返回时 ArkUI 尚未完全就绪
- 导致 goodsList 赋值后视图不更新,需点击排序等交互后才刷新
- 修复:MP-HARMONY 环境下延迟 400ms 再调用 resetUpScroll
- 不影响其他平台
2026-06-05 11:30:36 +08:00