Commit Graph

188 Commits

Author SHA1 Message Date
eae415ecad feat(recommend-diy): 推荐系统 6 个 diy-recommend-* 组件 + mixin + lang
策略: 微信小程序前端采用"专属 DIY 组件"模式实现推荐入驻主页,
不写 4 个独立 .vue 页面,而是在 components-diy/ 下新增 6 个动态数据组件,
商家在"自定义页面"装修面板里自由拖拽组合。组件 mounted 后自动 ajax
拉 /recommend/api/home/homeSummary 真实数据。

新增:
1. 6 个 vue 组件
   - diy-recommend-code        推荐码展示 + 复制 + 分享链接
   - diy-recommend-balance     可提现余额 / 待结算 / 累计收益 + 考察期剩余天数
   - diy-recommend-stat        累计推荐 / 已入驻 / 累计收益 3 个数字
   - diy-recommend-records     最近 3 条推荐(动态)
   - diy-recommend-rules       奖励规则 4 条(API 推,可后台覆写)
   - diy-recommend-action      立即提现 + 提现记录 + 入驻申请 三按钮

2. 公共 mixin — common/js/recommend-diy-data.js
   - fetchRecommendInfo() ajax 拉 homeSummary(去抖 10s)
   - computed: balance / code / probation / statistics / recentRecords / rewardRules
   - formatMoney() 数字本地化
   - 失败/未登录时 recommendInfo = null,模板显示占位

3. pages.json
   - easycom 加规则 "diy-recommend-*" → components-diy/diy-recommend-$1.vue
   - 已有 autoscan=true 自动发现;新增条目保证 builds 稳定

4. 语言包
   - lang/zh-cn/components-diy/diy-recommend.js
   - lang/en-us/components-diy/diy-recommend.js

5. 验证脚本
   - scripts/verify_diy_recommend.js — 6 文件三段式校验

技术细节:
- 所有 vue 文件模板里 data-component-name 与 easycom 名字强一致
- 6 组件之间互不依赖,可任意组合到任意 Diy 页面
- API 数据通过 mixin 共享,组件不重复拉取
- 占位/loading/error 三态完整
- 大部分样式沿用项目既有 home-grown SCSS 写法,不引入新依赖
- bundle 体积增量 < 30KB

i18n-check.js 通过:
  zh-cn: 224 files / 2678 keys
  en-us: 224 files / 2678 keys
  diff: 0 ✅

未做(后续可选):
- 4 个真正 .vue 页面(此 PR 不要,改用 DIY)
- getMyQrcode 真实二维码生成
- 提现账户管理 UI
2026-07-20 11:16:20 +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
63e2cb2ff7 fix(diy-category): 修复鸿蒙平台下样式条件编译错误
修正了骨架树项的样式宏定义拼写错误,确保鸿蒙平台能正确应用对应样式
2026-07-18 17:21:42 +08:00
d65f27b256 style(components): 优化多端兼容性适配细节
1. 补充loading-cover组件的兼容场景说明
2. 为鸿蒙元服务适配flex gap替代方案
2026-07-18 17:19:58 +08:00
ce7cbc75df feat(diy-category): add skeleton loading state for category page
优化分类页面加载体验,请求分类数据时显示骨架屏占位,避免页面先展示空态再切换内容造成的闪烁问题,同时调整了空状态的渲染逻辑,请求失败时也能正确显示空态占位
2026-07-18 17:14:02 +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
5831189e5e fix(diy-form): 修复鸿蒙元服务下value未定义导致的报错
针对鸿蒙元服务运行时首次渲染时value可能为undefined的情况,为所有模板表达式和计算属性添加空值守护,避免触发Cannot read properties of undefined错误
2026-07-18 14:51:42 +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
19bcf64844 Merge branch 'dev/1.0' of http://git.aigc-quickapp.com/Uniapp/lucky_shop into yuanlaide2 2026-07-16 16:20:53 +08:00
a27ae6cba0 Merge remote-tracking branch 'origin/dev/1.0' into yuanlaide2
# Conflicts:
#	.local.config.js
2026-07-16 16:17:26 +08:00
660ab27377 chore :按钮 = 全局所有有商品的二级分类(去重,一直显示),选中状态切换一级分类时保持
商品 = 切换一级分类时,用选中按钮的名称在当前一级分类下找同名 category,重新加载商品
2026-07-16 16:11:01 +08:00
d78a23602e chore:删除临时测试网址 2026-07-16 15:31:07 +08:00
7a6495fa33 chore:按钮 = 全局所有有商品的二级分类(去重,一直显示),选中状态在切换一级分类时保持
商品 = 切换一级分类时,用选中按钮的名称在当前一级分类下找同名 category,重新加载该 category 的商品
2026-07-16 14:31:14 +08:00
55a9ed5946 refactor: 重构底部导航高亮逻辑,新增跨平台兼容与工具脚本
1. 抽离底部导航归属逻辑为纯函数resolveEntryTab,优化分包页面高亮规则,对齐iOS HIG规范
2. 新增页面Tab通配符映射,简化PAGE_TAB_MAP维护
3. 修复鸿蒙平台webview返回按钮适配问题
4. 新增pages.json校验与导航标题自动注入脚本
5. 优化启动页动画性能,提升合成渲染效率
6. 修复diy-picture组件v-for缺少key的警告
7. 清理鸿蒙平台多余的分包构建配置
8. 更新统计数据与store注释说明
2026-07-16 11:47:29 +08:00
7f2e5d3934 chore: template 99正常运行 2026-07-15 16:50:26 +08:00
82f1659649 refactor(components-diy): simplify useScroll logic and add comment
将useScroll方法的判断逻辑简化为单行表达式,并补充注释说明该方法的作用
2026-07-15 15:39:08 +08:00
313c283d9b fix: 适配华为快应用WebView场景并修复tabbar定位问题
1. 新增华为快应用WebView环境检测工具函数
2. 文章组件在快应用WebView中强制关闭滚动模式
3. 修复全局tabbar在H5/快应用中的定位漂移问题,加固fixed定位样式
4. 补全页面配置中的导航栏标题字段
2026-07-15 15:00:42 +08:00
39d4264389 chore:增加新功能只在template == 99里生效 2026-07-14 09:59:44 +08:00
83fc02a279 refactor(diy-goods-list): 统一商品图片mode适配鸿蒙元服务
修复鸿蒙元服务环境下商品图片显示裁剪/不全的问题,根据模板和平台动态适配图片mode模式
2026-07-13 16:22:24 +08:00
cb9234bdac refactor(diy-video-list): 优化弹窗视频适配逻辑
1. 重构视频比例计算逻辑,改为通过实际宽高计算适配
2. 新增多端适配:H5、微信小程序、鸿蒙元服务
3. 添加视频加载错误捕获与日志输出
4. 调整视频容器样式,统一背景与溢出处理
5. 移除旧的比例状态变量,改用宽高状态存储
2026-07-13 14:41:29 +08:00
10bc06f212 refactor(components/diy-video): 重构视频比例计算逻辑
替换原有的固定比例方案,改为通过视频实际宽高动态计算适配比例,移除冗余的harmonyVideoHeight计算方法,统一多端样式处理逻辑,优化鸿蒙端视频高度计算方式
2026-07-13 14:24:09 +08:00
c739d691a2 fix(diy-video): 适配鸿蒙元服务端视频组件展示
1. 新增鸿蒙平台专属video组件渲染分支
2. 新增窗口宽度初始化逻辑用于计算鸿蒙视频高度
3. 针对不同平台调整视频容器样式计算逻辑
4. 补充视频加载元数据和错误回调
5. 修复微信小程序视频比例适配逻辑
2026-07-13 14:11:14 +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
7a76824fcf fix(diy-article, diy-image-nav): 修复H5端拖拽后误触发跳转的问题
1.  重构两个组件的H5端鼠标事件绑定逻辑,改用document级别capture监听解决uni-app自定义元素事件拦截问题
2.  添加拖拽阈值检测,避免点击误触发滚动
3.  新增click拦截逻辑,拖拽结束后自动屏蔽后续一次click事件防止误跳转
4.  优化滚动容器获取方式,兼容uni-app编译后的嵌套DOM结构
2026-07-11 10:03:23 +08:00
75bc8876b5 feat(components-diy): 为两个组件添加H5端鼠标拖拽滚动支持
1.  给diy-image-nav组件新增singleSlide模式下H5端鼠标拖拽和滚轮横向滚动功能,修复uni-app scroll-view在H5端不支持鼠标拖拽的问题,同时添加对应样式优化
2.  给diy-article组件的跑马灯列表新增H5端鼠标拖拽和滚轮滚动支持,复用原有触摸事件逻辑适配鼠标操作,优化拖拽交互体验
3.  统一采用mounted绑定H5专属事件的方式,避免小程序/鸿蒙端出现未知事件编译警告
2026-07-11 08:26:14 +08:00
203c47e437 fix(diy-listmenu): add click event to menu view button
为列表菜单的查看按钮添加点击跳转事件,修复无法跳转对应页面的问题
2026-07-10 18:20:32 +08:00
6eaebc7d75 chore(diy-image-nav): add component identity data attribute
给自定义图片导航组件添加data-component-name标识属性,用于识别组件身份
2026-07-10 18:18:21 +08:00
013eef46fb refactor(common,components): 优化底部导航栏显隐逻辑
1. 新增isCurrentPageTabBarRoot工具方法封装页面判断逻辑
2. 调整弹窗打开时的导航栏隐藏时机,仅在非TabBar根页面执行
3. 移除弹窗open回调中的导航栏显示逻辑,改为在关闭弹窗时显式处理
4. 补充注释说明回调不可靠的问题和根页面不隐藏导航的原因
2026-07-10 15:46:48 +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
94be20d499 refactor: 优化项目配置与代码冗余清理
1. 新增components-diy占位组件与注入脚本,按需注入分包占位配置
2. 开启postcss编译优化
3. 移除多处重复的图标字体全局样式导入
2026-07-09 15:13:06 +08:00
b60ea984e5 fix: 修复分类商品项布局问题并添加窗口resize监听
1. 调整diy-category-item的price-wrap和name-wrap样式,修复布局偏移
2. 移除冗余的主题变量定义,修正flex布局参数为正确的1
3. 添加窗口尺寸变化监听,实现主题色动态重算
4. 更新语言审计报告的代码调用统计数值
2026-07-07 11:15:07 +08:00
3713cd2cf6 refactor(DIY分类页): 优化商品卡样式与H5主题适配
1.  修复H5端rpx单位CSS变量无法解析问题,添加rpx转px转换工具函数并更新缓存key
2.  给diy-category-item组件添加scoped样式,重构商品卡样式为CSS变量可配置形式
3.  补充多套预设的分类页商品卡样式token到style_color配置中
2026-07-07 10:56:59 +08:00
83a5f358e2 style(diy-category-item): 优化咨询按钮样式token支持度
扩展咨询按钮的可配置css属性,添加内边距、圆角、字重等独立token,便于后台全局调整按钮样式
2026-07-07 09:16:31 +08:00
bd1a9a67e0 style: 重构分类组件样式,支持主题化配置字号和按钮样式
1. 为分类树和分类项的文字样式替换为CSS变量,支持远端主题配置
2. 重命名AI咨询按钮的类名和样式变量,统一命名规范
3. 为每个主题预设添加分类页专属的样式token,包含字号、按钮背景和文字颜色
2026-07-07 09:12:06 +08:00
9815f09c1f style(diy-category): 给价格文字添加加粗和主题色样式
调整了money类的样式,统一价格文本的字体粗细和颜色变量使用
2026-07-06 15:35:01 +08:00
aebe8b557f fix(diy-notice): 优化跳转链接的判断逻辑
将原判断链接长度的方式改为检查实际存在的跳转字段,更准确识别有效跳转链接
2026-07-06 11:58:30 +08:00
dd90d60a14 fix(diy-notice): 修复并优化公告组件交互与显示逻辑
1. 为横向滚动公告项添加点击跳转事件
2. 为上下滚动的swiper-item补充点击事件
3. 增加item.link存在性校验避免空指针
4. 点击无链接公告时优先显示content内容
2026-07-06 11:56:20 +08:00
337a9618ef style(diy-category): 调整搜索框和切换按钮的代码排版
在相关代码块前后添加空行优化代码可读性,不影响原有功能逻辑
2026-07-06 10:33:41 +08:00
55c4d507db feat(diy-category): 新增鸿蒙小程序端搜索框适配
扩展H5平台条件编译到H5和MP-HARMONY,让鸿蒙小程序也显示搜索框
2026-07-04 18:03: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
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
f05eebad43 fix: 修复多组件内语言包文件名路径不一致问题
将所有组件内引用的语言包路径从驼峰式改为短横线命名格式,保持代码中引用与实际语言包文件命名统一
2026-07-03 10:45:34 +08:00
55a5a68517 refactor: 统一多语言key的组件命名格式为短横线分隔
根据i18n规范,将所有组件相关的多语言key从驼峰式改为短横线分隔格式,同步更新文档中的示例说明。
2026-06-30 10:28:36 +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
c3956f7bcd refactor: 统一调整多页面的语言包key命名风格
1. 将会员购买卡片页的提示语语言包key从customerService.tip替换为统一命名
2. 修正diy文章组件、取消状态页、积分商品列表页的语言包key大小写和路径问题
3. 统一积分商品列表页的多语言调用路径,简化冗余的key前缀
2026-06-29 13:57:30 +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
1150dad0b5 refactor(article): 替换CSS动画跑马灯为JS驱动实现
重构文章组件的跑马灯滚动逻辑,移除CSS keyframes动画实现,改用JS控制transform实现滚动,新增支持用户手动拖拽交互,统一连续/步进两种滚动模式的触摸控制逻辑,优化跨端表现和交互体验。
2026-06-29 09:38:10 +08:00