Commit Graph

838 Commits

Author SHA1 Message Date
55c4d507db feat(diy-category): 新增鸿蒙小程序端搜索框适配
扩展H5平台条件编译到H5和MP-HARMONY,让鸿蒙小程序也显示搜索框
2026-07-04 18:03:38 +08:00
014f111cd1 style(login.vue): remove redundant harmony platform conditional comments
clean up the mp-harmony specific code blocks that are no longer needed
2026-07-04 18:00:18 +08:00
181717a7ab chore(vue.config.js): 优化构建配置,新增鸿蒙元服务构建清理逻辑
1. 统一修复代码缩进格式,对齐代码风格
2. 新增构建平台控制台输出日志
3. 新增鸿蒙元服务构建前清理输出目录逻辑
4. 完善环境变量缺失的错误提示
5. 优化注释内容,补充说明用途
2026-07-04 17:28:25 +08:00
112c9a2aa5 fix(scripts): 修复路径不存在提示和打开目录延迟问题
1. 为路径不存在的情况添加专属警告日志
2. 给打开文件目录操作增加2秒延迟,适配部分系统文件操作节奏
2026-07-04 15:08:04 +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
c9c062edcb chore: 清理并整理项目配置与工作流文件
- 更新.gitignore,移除.hbuilderx、.claude和openspec相关配置
- 新增.hbuilderx/launch.json用于uni-app调试配置
- 新增完整的OpenSpec工作流命令与技能文件,实现标准化变更管理流程
2026-07-04 10:42:39 +08:00
f37baad045 feat(i18n): add full i18n audit toolchain and pre-commit hook
- 新增 GitHub Actions 工作流实现 PR 时自动审计国际化内容
- 添加 pre-commit 钩子,提交前自动检查相关文件并拦截问题提交
- 编写完整的 i18n 审计脚本、文档与示例报告
- 实现多维度国际化校验:键匹配、占位符、data()误用、硬编码标题等
2026-07-04 09:57:43 +08:00
ea504d8434 refactor(lang): 优化远程页面树的命名匹配逻辑
修复多语言路径同时支持camelCase和snake_case的匹配问题,为每个层级同时维护两种命名格式的镜像键,增强路径兼容性
2026-07-04 09:32:56 +08:00
eb46748ae0 style: 优化日志输出,补充目标目录信息,移除多余调试日志
- 为目录清空相关日志添加目标目录路径
- 移除冗余的plugins.length调试日志
2026-07-04 09:30:57 +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
92e8823566 fix: 修复多页面语言包key路径错误问题
统一修正所有页面中调用语言包时的路径命名,将短横线/下划线格式调整为正确的嵌套路径格式,确保语言文本可以正常加载
2026-07-03 17:02:43 +08:00
a27e3518da refactor(i18n): 扁平化所有国际化语言文件的翻译结构
移除多层嵌套的翻译对象,将所有翻译项直接挂载到顶层lang对象上,统一代码结构
2026-07-03 16:36:28 +08:00
e4c9b7fd59 fix: 统一处理表单提交数据的序列化逻辑
1.  修复多处表单提交时重复判断序列化的逻辑,统一处理当formData已经是字符串时不再重复序列化
2.  简化nameStyle样式计算的代码写法,移除不必要的objToStyle调用
2026-07-03 15:52:54 +08:00
94f3631421 refactor(diy-form): 简化表单提交数据处理逻辑
移除了多余的submitData对象转换步骤,直接使用getFormData的返回值作为form_data提交内容,同时删除了过时的注释说明
2026-07-03 15:06:33 +08:00
80d390886a fix(yuyue-date): 修复国际化语言key的命名不一致问题
将所有组件内的语言key从components.yuyueDate改为components.yuyue-date,统一命名格式,确保多语言配置可以正确加载对应文案。
2026-07-03 14:06:00 +08:00
b93badedd4 refactor(i18n): 扁平化国际化语言配置结构
移除多层嵌套的语言对象层级,将翻译项直接挂载到顶层lang对象下,简化语言文件结构,提升维护性
2026-07-03 11:50:21 +08:00
d1e6cc3122 refactor(components&cart): 调整语言包引用路径
统一修正空状态组件和购物车页面的语言包调用路径,将零散的语言项归类到goods.cart命名空间下,移除默认兜底文案
2026-07-03 11:26:26 +08:00
2a2161c9d9 refactor: 整理多页面语言包调用路径,统一翻译键层级
1. 调整品牌专区、商品评价、搜索、优惠券等页面的语言翻译引用,将零散翻译项归类到对应模块下
2. 优化auth.js中的语言包路径引用,修正模块命名空间
3. 清理zh-cn/en-us品牌语言包的冗余嵌套结构
2026-07-03 11:23:05 +08:00
6470912498 fix(article page): adjust language resource path for article pages
统一文章列表和详情页的多语言key路径,将原有通用语言项改为文章模块专属的语言配置
2026-07-03 11:10:38 +08:00
f628d7a0ef refactor(ai-chat): 统一调整语言文件引用路径
将所有硬编码的语言调用路径统一改为ai-chat.index下的命名空间,便于语言包管理和维护
2026-07-03 11:07:34 +08:00
b8387de6c6 fix(agreement): fix translation path for empty state texts
调整了协议页面空状态的多语言引用路径,移除了嵌套的agreement对象层级,让调用路径匹配实际的多语言文件结构
2026-07-03 11:01:46 +08:00
2705038c36 refactor(contact page): 统一使用带命名空间的语言包键值
将页面内所有语言引用都改为contact.contact下的完整命名空间键名,统一语言包调用方式
2026-07-03 10:48:53 +08:00
f05eebad43 fix: 修复多组件内语言包文件名路径不一致问题
将所有组件内引用的语言包路径从驼峰式改为短横线命名格式,保持代码中引用与实际语言包文件命名统一
2026-07-03 10:45:34 +08:00
1e0a06850a refactor(i18n): 统一登录页国际化文案,移除重复的login键值
将全局common.js里重复的login: '登录/注册'移除,调整到对应语言的登录页配置中,统一多语言文案展示
2026-07-03 09:55:35 +08:00
a88ecb9529 style(hover-nav): remove redundant box-shadow and comment
移除了hover-nav组件中多余的盒阴影样式和注释代码,优化样式代码整洁度
2026-07-02 18:24:48 +08:00
34f8ae2322 fix(hover-nav): 修复主题色失效和按钮尺寸问题
1.  将按钮尺寸从80rpx调整为72rpx,修正布局计算和样式注释
2.  修复Teleport后主题色无法正确同步的问题:
    - 移除watch的immediate选项,改为在mounted后手动触发主题色注入
    - 新增_applyThemeColor方法,支持安全地更新内联样式并清理旧值
    - 监听themeColor变化,确保主题切换时样式实时更新
2026-07-02 18:21:16 +08:00
cf6b683ffc refactor(i18n): 重构国际化拉取失败的提示逻辑
将i18n失败提示从lang:fallback事件监听迁移到boot返回值判断中,移除冗余的事件监听代码,修复事件监听时机和去重的问题,统一提示逻辑和防刷机制
2026-07-02 17:07:48 +08:00
0cdb956065 fix(http): 为请求失败提示添加错误信息参数
将原始的请求失败和域名不在白名单的提示中,新增传入err参数到多语言翻译中,展示更详细的错误信息
2026-07-02 16:56:28 +08:00
d3e8b62581 docs(i18n): update request failed error prompt to include error info
add {err} placeholder to both en-us and zh-cn language packs for request failed error message, also fix indentation consistency in zh-cn common.js
2026-07-02 16:56:13 +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
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
e749209128 feat(lang): add i18n config for hover-nav component
新增中英文国际化配置,用于hover-nav组件的语言选择弹窗相关文案
2026-07-02 09:42:43 +08:00
fbf2dfdcee docs: 删除过时的CLAUDE.md文档
该文件是给AI助手的项目守则,当前仓库已不再需要该约束文档,移除该文件以清理仓库冗余内容
2026-07-01 18:00:28 +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
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
4adaa945a1 refactor(i18n): 扁平化多语言文件结构,移除嵌套的components对象
统一调整所有组件级多语言配置,将原有的components.[componentName]嵌套结构改为直接顶层键值对,简化语言包的调用层级
2026-06-30 16:53:53 +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
de4314ec9b refactor(vue.config): remove remote-only mode related code
remove the remote-only mode detection and webpack plugin configuration that replaces lang directory imports, clean up redundant code logic
2026-06-30 14:17:53 +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