02c9fa602e
chore:购物车按钮正常
2026-08-20 17:51:48 +08:00
69ad814985
Merge remote-tracking branch 'remotes/origin/dev/1.0' into PR-1-ai-agent-link
2026-08-15 09:27:58 +08:00
5d7facc94d
chore:竖版视频可以正常在容器里
2026-08-14 15:03:23 +08:00
19cb332645
refactor(ai-page): 统一页面路由管理并修复AI智能体路径
...
1. 将硬编码的页面路径替换为PAGE_KEY_MAP常量统一管理
2. 修正AI智能体页面路径为/pages_tool/ai-agent/index
3. 优化客服跳转逻辑,避免重复注入tabBar隐藏标记
4. 为AI聊天页面添加自定义组件占位配置
2026-08-14 09:36:04 +08:00
e5406a27ba
chore:苹果ios表单显示正常,商品详情的视频可以支持竖版横板视频
2026-08-14 09:09:07 +08:00
e40b46a888
chore:视频可以播放
2026-08-13 10:20:27 +08:00
e01ba29604
fix(鸿蒙兼容): 修复商品详情页骨架屏常驻问题
...
1. 兼容后端不返回goods_promotion字段的场景,避免直接取值抛错
2. 替换鸿蒙元服务下不可靠的nextTick和延迟关闭逻辑,改为同步关闭骨架屏,解决数据返回后骨架屏常驻的问题
2026-07-31 16:52:16 +08:00
ca60948fcd
chore:原来的购物车+收藏按钮隐藏
2026-07-31 16:19:45 +08:00
791d0bb623
fix(goods-detail): 骨架屏期间不再渲染真实底部 action
...
- 把 <slot name="action"> 移入 v-else 分支, 与 .goods-detail 同一生命周期
- 修复: 加载初期 goodsSkuDetail.goods_state=0 (默认值), 父组件 detail.vue
模板里 <ns-goods-action> 走 v-else 显示"该商品已下架"
- 数据到达 goods_state=1 后才切到正常按钮, 导致首屏出现"已下架→正常"闪烁
- 修复后: 骨架屏状态下完全不渲染 ns-goods-action, 仅显示 .goods-detail-skeleton-action 占位
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-25 09:06:39 +08:00
9eb42c4a0c
feat(goods-detail): 商品详情页接入骨架屏
...
- 新增 7 段占位(banner / 价格 / 标题 / 规格 / 商家 / 详情 / 推荐)
配合底部 action 占位(fixed bottom,2 个 icon + 2 个 btn),
避免首屏出现"空白 → 真实内容"的跳变
- detail.vue 透传 loading 状态;骨架屏在加载态、未拿到 goods_id 时
持续显示(hasRealData computed),网络断开时不切到空详情
- loading-cover 改为 initShow=false;骨架屏接管首屏视觉
- 骨架屏最短展示 300ms,保证数据快时用户也能感知到占位
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-24 18:10:31 +08:00
14e0fb9969
merge: 将 fix/2026-07-20-errkey 合并到 dev/1.0
...
# Conflicts:
# .local.config.js
# pages_tool/ai-chat/ai-chat-message.vue
2026-07-23 14:11:27 +08:00
eefcc9fe57
feat: 新增鸿蒙元服务平台适配
...
适配鸿蒙小程序平台,包括导航栏胶囊适配、支付通道支持、登录授权逻辑,以及分享功能兼容
2026-07-23 11:34:03 +08:00
f51b601ecb
feat(detail页): 新增鸿蒙小程序端购物车和关注按钮
...
补充鸿蒙小程序平台的专属操作按钮,包括购物车入口和收藏关注按钮,对齐其他平台的功能展示
2026-07-23 11:04:54 +08:00
70a01bfd2b
fix: 修复多页面国际化文案调用路径错误
...
将多处误用的 common.前缀国际化调用改为顶层路径,同时新增语言调用错误的回归测试用例,防止后续再次出现类似的命名空间误用问题
2026-07-23 10:37:22 +08:00
94142268a0
refactor(i18n): 完成全量硬编码中文文案替换为多语言方案
...
1. 替换所有页面/组件中的硬编码中文提示文案为$lang调用,包括支付、帮助中心、公告等页面
2. 重构diy.js加载失败文案处理逻辑,支持参数化替换
3. 新增多语言混入逻辑,实现导航标题随语种动态切换
4. 重构支付组件初始化逻辑,优化平台适配代码
5. 添加多语言单元测试和硬编码扫描脚本
6. 更新语言包,新增缺失的翻译词条
2026-07-23 09:46:16 +08:00
6ee4de94a2
fix: 修复多商户优惠券选择异常和空指针问题
...
1. 新增coupon_list数组类型校验避免渲染异常
2. 重构优惠券选择逻辑,使用merch_id隔离选中状态避免多商户污染
3. 增加orderCreateData.coupon的类型兜底处理,防止非对象/数组类型报错
4. 修复优惠券弹窗选中状态同步逻辑,保留用户已选优惠券
2026-07-23 08:45:01 +08:00
75f70138ed
chore:解决key的问题
2026-07-21 15:40:27 +08:00
73776841d8
fix: 修复鸿蒙元服务商品详情页空白及接口兼容问题
...
1. 移除view组件无效的scroll-y属性,避免鸿蒙JSVM静默不渲染导致页面空白
2. 删除冗余的商品分类页面路由配置
3. 为ref调用和接口请求添加try-catch与空值防御,避免极端场景下崩溃
4. 补充鸿蒙元服务接口调用的兼容性处理,确保请求正常发起
5. 调整loading隐藏时机和异常捕获逻辑,优化页面容错能力
2026-07-20 08:44:15 +08:00
5b7351dcd2
fix: 兼容鸿蒙元服务端小程序适配优化
...
1. 修复cart页面unload时调用不存在方法的报错
2. 适配鸿蒙themeColor绑定和$nextTick兼容问题
3. 给多处逻辑添加try/catch防止页面空白
4. 补全v-for循环的key属性
2026-07-18 17:54:05 +08:00
a6091f6b68
refactor(commodity-detail): optimize performance and fix UI flicker issues
...
1. add empty form tip for product message section
2. lazy load goods form to unblock initial page render
3. optimize category and tabbar rendering to fix flicker on WeChat mini-program
4. delay non-critical data processing to improve first-screen rendering speed
5. fix popup blank issue when opening product message form for the first time
2026-07-18 16:57:10 +08:00
059630ba2c
refactor: 重构商品留言表单逻辑,替换为diy-form组件
...
1. 移除页面data中维护的留言表单数据,改为通过computed实时从商品详情数据构建diy-form所需格式
2. 替换ns-newform为diy-form组件,使用raw模式并接管表单提交逻辑
3. 完善平台别名映射,新增更多小程序平台兼容配置
4. 为diy-form新增占位符样式属性绑定
5. 重构商品表单接口处理逻辑,统一所有元数据字段的初始化和兼容处理
2026-07-18 10:55:39 +08:00
1ac0fb2484
refactor(goods-detail): 升级商品留言表单组件与接口适配
...
1. 将原有的同步调用改为异步处理handleGoodsSkuData和getGoodsForm方法
2. 重构getGoodsForm接口请求逻辑,兼容新旧版接口返回格式
3. 新增goods_form_config字段支持新表单组件样式配置
4. 替换旧版ns-form为ns-newform组件,完善空数据兜底处理
5. 优化商品留言初始化的可选链操作避免空指针报错
2026-07-18 10:34:37 +08:00
30cda71749
refactor(http,lang): 重构请求逻辑并新增多语言错误提示
...
1. 新增网络相关错误的多语言翻译配置
2. 重写http请求层,添加自动重试机制与错误分类提示
3. 优化鸿蒙平台下的组件渲染兼容性与数据更新逻辑
4. 调整部分页面的模板结构与请求配置
2026-07-13 15:45:15 +08:00
224b409455
style: 调整模板缩进对齐并修复语法错误
...
统一修复了两个页面文件中的vue模板缩进格式,修正了多余的闭合标签问题,让代码排版更整洁易读
2026-07-06 17:51:47 +08:00
aa7d967422
fix: 修复鸿蒙元服务TabBar跳转失效问题
...
1. 修复多处页面onTabItemTap事件,使用uni.reLaunch兜底鸿蒙下switchTab静默失败的问题
2. 全局混入onTabItemTap兜底未手动处理的页面
3. 优化路由跳转逻辑,针对鸿蒙环境增加switchTab失败兜底和超时强制跳转
4. 优化可选链调用和空值判断,提升代码健壮性
2026-07-06 16:48:38 +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
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
d1e6cc3122
refactor(components&cart): 调整语言包引用路径
...
统一修正空状态组件和购物车页面的语言包调用路径,将零散的语言项归类到goods.cart命名空间下,移除默认兜底文案
2026-07-03 11:26:26 +08:00
c7810f16f7
feat: 新增多语言文案并修复动态国际化调用问题
...
1. 新增多语言文件覆盖组件、页面、公共模块的翻译文案
2. 修复多处动态拼接lang key的调用,增加兜底逻辑避免空值或原始key暴露
3. 补全DIY组件、业务页面的国际化适配
4. 新增P2动态key国际化处理方案文档
2026-06-29 15:29:24 +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
aee630b546
fix: 统一登录跳转逻辑,添加redirectTo参数避免页面栈溢出
...
1. 为所有登录跳转调用添加redirectTo跳转类型参数
2. 调整部分页面的onShow生命周期执行顺序和定时器包装
3. 补充缺失的ns-login组件引用到两个diy组件中
4. 修复部分页面登录后返回出现循环跳转的问题
2026-06-27 15:08:01 +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
66a579d48c
feat: add and optimize multiple multilingual language packs
...
1. 新增拼团、砍价、分销、支付、地址、账户等多业务场景的中英文本地化文案
2. 替换项目中硬编码的文本为多语言调用,统一前端页面文案展示
3. 新增多个业务组件的国际化语言配置文件
2026-06-26 10:17:33 +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
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
1143175990
refactor(merch): 替换硬编码文本为国际化语言包
...
1. 将商品详情页的"立即咨询"替换为$lang('merch.consultNow')
2. 新增商品相关国际化文案并替换原有硬编码字符串
3. 统一使用多语言函数处理页面文本内容
2026-06-22 18:13:11 +08:00
4715f06b2f
i18n: 替换所有硬编码文本为多语言配置
...
将项目中各处的硬编码字符串替换为国际化语言包调用,统一管理页面和组件的文案内容,方便后续多语言适配与维护
2026-06-22 17:53:38 +08:00
2337e3cacf
refactor: 将项目内硬编码文本替换为多语言调用
...
统一替换所有页面和组件中的硬编码字符串为 $lang 多语言方法调用,提升项目国际化适配能力
2026-06-22 14:04:13 +08:00
e51c03235f
refactor(nav): 动态控制导航栏返回按钮显示逻辑
...
1. 新增isTabBarRootPage工具方法判断是否为tab根页面
2. 在全局混入中添加isTabRootPage计算属性
3. 替换多处硬编码的isBack属性为动态绑定
4. 优化shouldShowTabBar计算属性的代码逻辑
2026-06-16 15:34:10 +08:00
4f44b4f574
fix(harmony): 双列模式,点击图片等不能进入商品详情页面
2026-06-05 17:39:50 +08:00
dcc261b0d0
fix(harmony): 双列模式首次切换时瀑布流错位导致图片重影
...
鸿蒙下双列 items 一直在 display:none 状态下渲染,首次切换时
boundingClientRect 测得尺寸为 0,waterfallflow 算出来的 left/top
让 items 全部叠在一起。
修复:通过 :key 加 isList 前缀,切换模式时强制重建 DOM,新 DOM
在 display:flex 可见状态下生成,测量正确。
平台判断放在 mixin 的 goodsItemKey 方法里用 JS 条件编译,模板
只调方法,避免在 vue 模板里写 #ifdef/#else(uni-app 不支持)。
2026-06-05 16:24:59 +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
e604a41e14
fix(harmony): 首次加载延迟300ms确保scroll-view渲染就绪后再请求数据
...
根因分析(最终结论):
- H5/微信:API请求需200~500ms,此时scroll-view已完成首次渲染,数据正常显示
- 鸿蒙元服务:API响应极快(<50ms),抢在scroll-view首次渲染完成前返回数据
- mescroll在slot内容未渲染时测得高度为0 → 列表不可见
- 点击排序之所以能显示,是因为第二次load时DOM已完全稳定
修复方案:
- 将getGoodsList拆分为getGoodsList(入口) + _doGetGoodsList(实际逻辑)
- MP-HARMONY环境下首次加载延迟300ms,确保scroll-view DOM就绪
- 后续翻页/刷新/排序操作不延迟,保持原有体验
- 配合scrollTo(0,0)作为双重保险强制重新测量内容高度
2026-06-05 11:57:01 +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