cd91ff9d49
chore:邀请码初步更改
2026-08-03 14:19:21 +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
beaa330651
fix(forms): 修复单选多选组布局样式兼容问题
...
1. 为ns-newform和ns-form的单选/多选组添加内联样式属性`_optionLayoutStyle`
2. 预计算垂直/流式布局的flex样式,解决跨端渲染兼容问题
3. 调整本地配置文件的启用项注释
2026-07-31 13:55:49 +08:00
a891e4abf9
feat(ns-form,ns-newform): add option layout configuration for radio/checkbox groups
...
add vertical and wrap layout options for form option groups, support passing option_layout field in form items to control arrangement style, default is wrap auto wrap layout
2026-07-31 11:39:24 +08:00
de6a76e91b
feat(form): 统一表单组件样式并新增配置项
...
1. 新增标签字重、自动宽度上限、输入框边框/背景色等配置项
2. 统一ns-form、ns-newform和diy-form的输入框样式与默认值
3. 优化标签宽度计算逻辑,添加自动宽度上限防止布局溢出
4. 适配多端输入框样式,添加聚焦态交互效果
2026-07-31 11:10:41 +08:00
eed766366d
fix(ns-form,ns-newform): 优化文本输入框默认值处理逻辑
...
针对Text和Textarea组件,当placeholder为空字符串时不再自动设置默认空值,保留用户输入的空状态
2026-07-31 10:19:47 +08:00
ed944ee192
chore(mp-harmony): vue.config.js IIFE 加 UNI_PLATFORM 判断, 只在鸿蒙场景跑
...
背景:
之前 vue.config.js 顶层 IIFE 在任何 require 场景都会跑 fixSubpackageModuleNames
+ runSyncCheck, 不区分平台。导致 mp-weixin / h5 编译时也会修改 5 个
mp-harmony 子包的 .json5 文件, 污染 git status (虽然不是破坏性修改,
但用户看不到为什么改了这些文件)。
改动:
vue.config.js 顶层 IIFE 入口加平台判断:
if (process.env.UNI_PLATFORM !== 'mp-harmony') {
return; // 非鸿蒙场景直接跳过
}
UNI_PLATFORM === 'mp-harmony' 是 uniapp 编译器在编译鸿蒙时设置的环境变量,
HBuilderX 选 "发行 → 鸿蒙元服务" 会设此变量, 编译 mp-weixin / h5 时不会设。
顺便清理了一个 dead code 块:
if (... && __TEST_GATE_BLOCKED__) return;
搜索全文件, __TEST_GATE_BLOCKED__ 没有任何地方被设置, 这个判断永远不成立。
端到端验证 (3 个测试场景):
1. UNI_PLATFORM=mp-weixin → 修子包逻辑跳过, name 保持 ""
2. UNI_PLATFORM=mp-harmony → 修子包 + 跑 sync check, 5 个 name 恢复正确
3. UNI_PLATFORM 不设 (默认) → 修子包逻辑跳过, name 保持 ""
影响:
- HBuilderX "发行 → 鸿蒙元服务" 行为不变 (修复 + sync check 仍自动跑)
- HBuilderX "发行 → 微信小程序" / "运行 → H5" 行为更干净
(不会无意义改 mp-harmony 子包文件)
- 命令行 vue-cli-service build 同理, 避免 mp-weixin / h5 编译后
git status 出现误改提示
2026-07-31 09:52:34 +08:00
270f5f4eff
build(mp-harmony): 仅在鸿蒙元服务场景执行子包模块名修复
...
避免在微信小程序、H5编译时无意义修改鸿蒙平台的子包文件,防止污染编译git状态
2026-07-31 09:50:46 +08:00
0cb5c1a4df
chore(mp-harmony): vue.config.js 顶层 IIFE 集成 runSyncCheck (4 处一致性自动校验)
...
背景:
之前 vue.config.js 顶层 IIFE 只调 fixSubpackageModuleNames 修 5 个子包 name,
但漏改 build-profile.json5 / entry/oh-package.json5 / ascf_build/ 目录时
没有任何提示, 用户在 HBuilderX 看不到错误, 直到 DevEco ohpm 报错才发现。
改动:
1. scripts/fix-subpackage-module-names.js 新增 runSyncCheck() 函数:
- 读取 har-deps-required.json5 (whitelist) 作为单一事实源 (优先 json5 包,
失败回退手写解析)
- 扫描 3 个地方的一致性: build-profile.json5 modules / entry/oh-package.json5
file: 依赖 / ascf_build/ 实际目录
- 不一致时 console 打印明确错误 + 修复步骤 (1, 2, 3, 4 个文件)
- 默认不抛错 (silent: false 仅 console 输出, exitOnError: false)
- 暴露为 module.exports.runSyncCheck
2. vue.config.js 顶层 IIFE 集成:
- 修完 name 后调 runSyncCheck()
- HBuilderX 触发 require vue.config.js 时立即执行
- 不阻塞 vue-cli-service, 但 console 输出立刻告知用户漏改位置
- 鸿蒙端的硬性错误 (ohpm "Field IS Empty") 仍由 DevEco 抛出
端到端验证:
1. 故意在 whitelist 加 pages_extra (未同步其他 3 处)
→ vue.config.js require 立即输出:
✘ build-profile.json5 缺失子包: [pages_extra]
✘ entry/oh-package.json5 缺失 file: 依赖: [pages_extra]
✘ ascf_build/ 目录缺失子包: [pages_extra]
修复: 1. entry/har-deps-required.json5 ... 2. mp-harmony/build-profile.json5 ...
3. entry/oh-package.json5 ... 4. ascf_build/<pkg>/ 实际目录
2. 故意清空 pages_tool 的 name 字段
→ 修成 "pages_tool" + 跑 sync check, 输出 ✓ 5 个子包配置完全一致
module.exports 仍只有白名单字段 (productionSourceMap, configureWebpack),
vue-cli-service 不会报 "Invalid options" 错。
依赖: 项目已有 json5 包, 无需新装
2026-07-31 08:54:30 +08:00
4f7f4f5117
build: add localhost:8050 development build configuration
...
新增本地开发环境8050端口的构建配置,包含UNI_PLATFORM和UNI_APP_DOMAIN环境变量以及生产模式定义
2026-07-31 08:52:21 +08:00
51274b70ce
feat(form): add url params透传和member_id上报功能
...
1. 为form和formdata页面新增通用URL参数透传逻辑,过滤保留字段后收集参数
2. 处理scene参数中的额外透传参数
3. 提交请求时携带url_params和当前会员ID
4. 修复代码格式问题
2026-07-31 08:48:23 +08:00
9d8324bb44
chore(mp-harmony): 新增子包配置一致性检查脚本 (防新增/删除漏改)
...
背景:
mp-harmony 项目的子包 HAR 配置分散在 4 个地方:
1. entry/har-deps-required.json5 的 requiredHarDeps (单一事实源)
2. mp-harmony/build-profile.json5 的 modules 数组
3. entry/oh-package.json5 的 dependencies
4. ascf_build 实际目录
新增/删除子包时, 任何一处忘改都会导致鸿蒙构建失败:
- build-profile.json5 没加 → hvigor 不构建该模块
- entry/oh-package.json5 没加 file: → ohpm 不 link 该 HAR
- ascf_build/ 目录不存在 → ohpm "Field IS Empty Error"
- har-deps-required.json5 没加 → check-har-deps 不会检查
改动:
新增 scripts/check-subpackage-sync.js:
- 读取 entry/har-deps-required.json5 作为单一事实源
- 扫描 build-profile.json5 的 modules / entry/oh-package.json5
的 file: 依赖 / ascf_build 实际目录 / 每个子包的关键文件齐备性
- 任何一处不一致立即报错, 指出哪一处需要修改
- 支持 --strict 模式 (CI 用, exit 1 阻断 build)
- 已验证反向场景: 故意添加 pages_extra 到 build-profile.json5
后跑 --strict, 立即报告 "build-profile.json5 多了 [pages_extra]"
使用方式:
本地日常: node scripts/check-subpackage-sync.js
CI 严格: node scripts/check-subpackage-sync.js --strict
新增子包 SOP: 跑一次确认没漏, 不一致会列出缺失位置
依赖: 项目已有 json5 包 (devDependencies transitive), 无需新装
2026-07-30 15:27:28 +08:00
d1c58f2ec8
chore(mp-harmony): 移除 ascf_build 下的构建产物 (rawfile + Index.ets)
...
背景:
上一个 commit 把 ascf_build 整个目录的元数据纳入 git, 但误把
每次构建都会变化的产物也入仓了:
- rawfile/index.js: 每次 DevEco Build 重新生成 (含 webpack chunk id, hash 等)
- rawfile/<root>/diy-*.pack.js: 同上
- rawfile/<root>/placeholder/index.html + index.pack.js: 同上
- Index.ets: 5 个包都是 0 字节空壳, 没有任何内容
这些文件应该被 .gitignore 排除, 避免每次 DevEco Build 后 git
status 都会报告 "modified", 污染 diff。
改动:
1. .gitignore 改造
- rawfile/** 整体 ignore (鸿蒙端每次 Build 重新生成)
- Index.ets ignore (空壳, 0 字节)
- 移除之前的 ! 兜底规则 (rawfile/**/placeholder/index.*,
rawfile/index.js, base/element/*.json 等), 因为这些都
已经在 rawfile/ 下被整体 ignore
2. 从 git 历史删除 12 个误入的产物文件 (5 个 Index.ets +
5 个 rawfile/index.js + 1 个 placeholder/index.html +
1 个 placeholder/index.pack.js), 保留在工作树
仍然入 git 的 ascf_build 关键文件 (每次 commit 都更新):
- oh-package.json5
- build-profile.json5
- hvigorfile.ts
- obfuscation-rules.txt
- src/main/module.json5
- src/main/resources/base/element/string.json
2026-07-30 14:36:14 +08:00
6f0d6a9f59
fix(mp-harmony): 修正签名证书文件路径
...
修复了build-profile.json5中证书文件路径配置错误,将原本的./cert-profile/qq/.p12调整为正确的./cert-profile/qq/qq.p12
2026-07-30 14:32:34 +08:00
8ebd7918fb
chore(mp-harmony): 修正子包 HAR name 字段 + 纳入元数据到 git
...
背景:
mp-harmony 项目的 5 个 ascf shared HAR 子包 (components_diy / pages_goods /
pages_order / pages_promotion / pages_tool) 在 ascf_build 目录下, 关键
元数据 (oh-package.json5 / module.json5 / build-profile.json5 /
Index.ets / hvigorfile.ts / obfuscation-rules.txt) 之前被 .gitignore
整体忽略, 从未被 git 跟踪, 导致 "module.name 被清空" 等回归无法被
git diff / blame 追踪。
改动:
1. .gitignore 改造
- 不再整体 ignore ascf_build
- 精确 ignore 已知产物路径 (rawfile/**/*.pack.js / rawfile/**/*.html
/ rawfile/**/*.json / build/ / oh_modules/ / .preview/ / .cxx/
/ .test/ / node_modules/)
- ! 取反保留 HAR 必需文件 (placeholder/index.*, rawfile/index.js,
base/element/*.json)
- 补充 entry / hvigor / 鸿蒙签名材料 / IDE 临时文件 ignore 规则
2. 首次将 5 个 HAR 包的元数据纳入 git (40 个文件)
3. 新增 scripts/fix-subpackage-module-names.js: 任何入口 require
vue.config.js 时自动修复 oh-package.json5.name + module.json5.module.name
双重覆盖, 防止 DevEco ohpm 报 "00604007 Field IS Empty Error" 或
hvigor 报 "Schema validate failed"
4. vue.config.js 顶层 IIFE 触发修复 (任何 require 立即生效, 不依赖
webpack 钩子)
5. entry/scripts/check-har-deps.js 扩展: 校验 ascf_build 子包
module.json5.module.name 字段 (兜底校验)
6. entry/har-deps-required.json5 扩展: 新增 subpackageModuleJson5
路径映射 + ohModulesRoots 校验资源齐备性
7. entry/README-HAR-DEPS.md 更新: 故障速查表新增 module.name 相关
报错条目
预期效果:
- HBuilderX 触发 vue-cli-service build → vue.config.js 自动修复子包
name → DevEco ohpm install / hvigor schema 校验通过
- check-har-deps.js 兜底, 任何回归立即被检测并报错
- 团队成员 git pull 后能立即看到 ascf_build 元数据, 可用 git diff
跟踪 module.name 等关键字段变更
2026-07-30 14:26:55 +08:00
3dd059a6f6
chore: 更新站点域名和uniacid配置
...
将基础域名从https://xcx2.aigc-quickapp.com/修改为https://5g.aigc-quickapp.com,同时将uniacid从2482调整为248以匹配新后台配置
2026-07-30 14:05:48 +08:00
414a0e4438
chore(mp-harmony: 切换到QQ签名配置
...
更新应用包名和签名证书为QQ渠道的签名文件与配置
2026-07-30 11:52:09 +08:00
df9d45fc1d
refactor(mp-harmony): add HAR dependency checks and debug logs
...
1. add debug logs for diy component lifecycle and data flow
2. add required HAR dependency declarations for mp-harmony entry module
3. add har-deps config, validation script and documentation
2026-07-30 11:43:25 +08:00
3bbf8c9531
feat(http): 添加HTTP请求全链路日志打印
...
新增请求ID、耗时统计,打印请求参数、响应结果与失败信息,同时添加重试相关日志,完善各个接口的调用日志输出
2026-07-30 10:40:07 +08:00
f6cc866aa7
Merge branch 'dev/1.0' of https://git.aigc-quickapp.com/Uniapp/lucky_shop into dev/1.0
2026-07-30 10:35:04 +08:00
d5d3c2b7be
chore: add cs and qq region harmony cert profile files
...
add all required certificate, key and profile files for huawei harmonyos cs and qq region packaging
2026-07-30 10:27:38 +08:00
c5134c1eb2
chore(mp-harmony): 更新鸿蒙项目配置与依赖
...
1. 新增忽略node_modules目录到gitignore
2. 升级modelVersion到6.0.0并更新相关配置
3. 更新ascf-toolkit插件与ascfapi依赖版本
4. 新增业务模块构建配置
5. 优化hvigor配置与插件参数
2026-07-30 09:01:25 +08:00
7c51841dba
chore:
2026-07-25 17:53:39 +08:00
a70a29eda1
chore:自定义标题显示
2026-07-25 17:10:32 +08:00
4bd36db70f
chore:微信小程序自定义标题已经可以开始展示了
2026-07-25 15:57:37 +08:00
eab5a97ba5
feat(vr page): add custom nav bar and support page title param
...
1. 为APP-PLUS端的VR页面配置自定义导航栏样式
2. 从路由参数中获取并设置页面标题
2026-07-25 15:20:51 +08:00
3d4941865e
fix(vr page): 修复导航栏标题无法正确更新的问题
...
优化vr页面的导航栏标题更新逻辑,通过监听title变化和监听webview的titleUpdate事件,以及在页面显示时更新标题,确保标题能正确同步显示。
2026-07-25 14:57:22 +08:00
9da07f1566
merge: feat/google-detail-skeleton → dev/1.0
2026-07-25 09:24:41 +08:00
8cef7b775b
Revert "build: add localhost:8050-h5 build configuration"
...
This reverts commit 6cf8261298 .
2026-07-25 09:24:16 +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
dbc6002248
fix(vr page): optimize navigation bar title setting logic
...
add optional chaining to safely access res.data.title,
only set navigation bar title when title exists, fallback to default removed
2026-07-25 08:50:43 +08:00
6cf8261298
build: add localhost:8050-h5 build configuration
...
新增本地开发的h5端打包配置,指定端口8050并设置对应平台环境变量
2026-07-24 18:14:18 +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
ed8a316bc0
chore:
2026-07-24 17:20:34 +08:00
daab99fd88
chore:
2026-07-24 17:18:09 +08:00
dac27ca43b
Merge branch 'dev/1.0' of https://git.aigc-quickapp.com/Uniapp/lucky_shop into dev/1.0
2026-07-24 16:40:27 +08:00
f5f893b445
refactor(splash&diy): 重构启动页逻辑,优化白屏问题
...
1. 统一全平台启动页为strict模式,仅在12s兜底超时才强制关闭
2. 新增网络自适应超时策略,根据网络环境调整兜底时长
3. 补充diy加载失败时的启动页关闭逻辑,避免严格模式下无限等待
4. 优化代码格式与注释,修复部分代码细节问题
2026-07-24 16:11:41 +08:00
45c0c2afb1
refactor(鸿蒙元服务): 适配鸿蒙平台隐私托管与启动屏时序优化
...
1. 适配鸿蒙元服务平台隐私托管,由系统自动弹出隐私弹窗,应用层不再弹出自建弹窗
2. 新增启动屏strict模式,鸿蒙场景下严格等待首页DIY渲染完成再关闭启动屏,避免白屏
3. 新增splash-state单元测试覆盖新旧模式与鸿蒙场景
4. 清理隐私相关冗余代码与注释,统一平台逻辑分支
2026-07-24 15:10:49 +08:00
f4a770e246
refactor(mp-harmony): 完善隐私协议配置同步流程与鸿蒙双轨适配
...
1. 新增隐私配置同步脚本,自动从manifest和site.js同步真实隐私协议URL到鸿蒙构建产物
2. 补充鸿蒙元服务隐私托管双轨制适配逻辑
3. 新增完整的隐私弹窗组件单元测试覆盖
4. 修复构建产物隐私配置被占位符覆盖的问题
2026-07-24 14:43:02 +08:00
352c359326
chore(mp-harmony): 初始化鸿蒙元服务项目并完善配置
...
1. 添加应用及启动图标资源
2. 配置页面路由、卡片信息与资源文件
3. 更新gitignore排除rawfile目录
4. 修改构建签名的keyAlias为cs
2026-07-24 11:35:14 +08:00
1cc9fec69c
build(mp-harmony): 更新签名密钥和证书密码
...
替换原有调试环境的签名密码为新的配置值,确保应用签名正常
2026-07-24 11:25:05 +08:00
2c89235f15
fix(mp-harmony): 更新应用包名
...
修正AppScope下app.json5中的bundleName配置项
2026-07-24 11:07:28 +08:00
1d8d18922b
build(mp-harmony): 切换签名证书为cs相关配置并清理冗余资源
...
更新了build-profile.json5中的签名配置路径,替换为csDebug.p7b和cs.cer;删除了旧的kk.csr证书请求文件以及冗余的证书物料文件,同时移除了不再需要的组件依赖配置
2026-07-24 10:57:09 +08:00
18dad6c112
chore:VR正常
2026-07-24 08:49:31 +08:00
3debab7291
chore:VR有返回箭头了
2026-07-23 18:27:34 +08:00
a2449ddd91
Merge branch 'dev/1.0' of https://git.aigc-quickapp.com/Uniapp/lucky_shop into dev/1.0
2026-07-23 17:26:20 +08:00
ff0d26908c
fix(member): 修复账号注销/退出登录后无法正常跳转到微信原生授权登录的问题
...
修复背景:
账号注销成功后, 用户被重定向到 native 登录页 (手机号+验证码表单风格, 像 H5),
而不是微信小程序原生授权登录 (ns-login 弹窗 + getPhoneNumber 授权).
此外, 微信小程序下短时间内连发 reLaunch 会触发 native 错误:
appLaunch with non-empty page stack
以及历史遗留的 navigateTo push 登录页 + 旧页面在栈中导致的死循环问题.
主要修复:
1. util.js redirectTo reLaunch 分支 (4 平台兼容):
- H5 平台: window.location.replace (真正清空 history, 避免 history.back + router.replace 假清栈)
- 小程序平台 (mp-weixin/mp-harmony/...): 加 300ms 全局跳转锁 + setTimeout(0) 包裹
解决 appLaunch with non-empty page stack 错误
- APP/其他: 保留原生 uni.reLaunch
2. util.js redirectTo 入口智能默认 (跨平台兜底):
- 目标 == LOGIN_PAGE_URL && mode 是默认 navigateTo && 没传 back 参数
→ 自动改成 reLaunch (避免注销后死循环)
- 显式传 mode 或带 back 参数的场景保持原行为 (不影响登录后回原页面)
3. member-public.js mixin 增强:
- getLoginEntryUrl(): 跨平台登录入口智能分流
微信小程序/鸿蒙/其他小程序 → INDEX_PAGE_URL (首页, 走 ns-login 原生授权弹窗)
H5/快应用/APP → LOGIN_PAGE_URL (原生登录页)
- redirectToLoginOnce(): 统一封装 clearLoginState + 跳登录入口, 带 800ms 组件级防抖锁
- logout / getCancelStatus 兜底 / submitCancelApply 三个地方都改用 redirectToLoginOnce()
4. 5 个注销/退出流程页面改造:
- cancelsuccess.vue / cancelstatus.vue / cancellation.vue / cancelrefuse.vue
/ assets.vue: 跳登录入口全部用 redirectToLoginOnce (不再直接 redirectTo(LOGIN_PAGE_URL))
- cancellation.vue / cancelrefuse.vue: 加 memberPublic mixin (原本没有)
5. 取消了在 pages/index/public/js/index.js 中 onShow 自动弹登录弹窗的尝试
(因触发 Vue 框架的 dataset of null pre-existing 错误, 改由其他途径处理)
测试覆盖 (300+ 测试用例全部通过):
- tests/member-cancel-flow.test.js (28 个测试, 9 个用户故事场景)
- tests/redirectTo-relaunch-h5.test.js (11 个测试, 9 个跨平台场景)
- tests/redirectTo-real.test.js (12 个)
- tests/util.test.js (30 个)
- 其他 8 个测试文件全部通过
2026-07-23 17:26:00 +08:00
c4675deb1e
Merge branch 'dev/1.0' of http://git.aigc-quickapp.com/Uniapp/lucky_shop into yuanlaide6
2026-07-23 16:51:55 +08:00
c99d808051
chore:二级标题按钮白色背景和一级标题对齐
2026-07-23 16:51:00 +08:00