fdc0b54fbd
fix(common/js/goods_detail_base): add format parameter to goodsform api request
...
为商品表单接口请求添加format: 'object'参数,指定返回数据格式为对象类型
2026-07-18 11:27:21 +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
1143ef7b72
fix(util-navigate): 完善鸿蒙元服务编码逻辑注释与说明
...
更新了util-navigate和对应测试文件的注释,补充鸿蒙原生编码的细节,说明双重编码的问题以及&符号的处理逻辑,修正了注释里的重复表述
2026-07-18 09:24:10 +08:00
f3032a6004
fix(util-navigate): 修复多平台搜索关键词编码乱码问题
...
重构跨平台参数编码逻辑:
1. 微信小程序/鸿蒙元服务:仅处理编码边界符和decode roundtrip,不主动编码,交由平台原生处理
2. H5/华为快应用:保留主动编码逻辑,适配浏览器query解析规则
3. 新增专项测试用例覆盖搜索关键词跨端流转场景,修复商品分类页跳转列表页关键词显示乱码的bug
2026-07-18 08:34:43 +08:00
70c9c49b94
refactor(form): 抽离平台检测逻辑到共用mixin,统一多端表单配置处理
...
1. 新增form-platform-mixin.js集中管理平台判断、别名兼容和配置键获取逻辑
2. 移除ns-form和ns-newform组件内重复的平台相关代码
3. 统一替换rpx单位处理逻辑为$util.rpx,简化样式计算代码
4. 移除冗余的_resolveFontSize工具方法,复用现有工具能力
2026-07-17 15:44:40 +08:00
cbf91fa905
feat(util,navigate): add uniacid stale check for wap url
...
新增租户uniacid一致性校验逻辑,修复装修外链携带过期租户ID导致的跳转错误问题:
1. 新增pickCurrentUniacid和hasStaleUniacidInUrl工具函数
2. 在链接处理逻辑中校验wap_url内的uniacid与当前系统租户ID是否一致
3. 脏数据场景下强制走外链模式而非内部跳转
4. 补充完整的单元测试覆盖
2026-07-17 11:37:53 +08:00
61495b5e90
refactor(utils&form): 优化设备信息获取与表单组件样式配置
...
1. 为设备信息相关方法添加可选链操作符,避免空值报错
2. 重构getDeviceInfo和getWindowInfo的异常处理逻辑,简化代码
3. 重构ns-form表单组件,新增全局样式配置支持,兼容多端样式自定义
4. 优化表单布局样式、必填项和选中态颜色,修复鸿蒙元服务TextArea适配问题
5. 新增标签宽度自动计算功能,优化表单排版对齐效果
2026-07-17 10:43:49 +08:00
cf6d54e2bf
fix(util): 修复内部页面绝对URL被误判为外链的问题
...
新增extractInternalAppPath和resolveNavMode工具函数,在diyRedirectTo中增加内部页面绝对URL还原逻辑:
1. 支持通过open_mode配置三种导航模式:auto/online/internal
2. 严格校验域名避免误伤外部站点,支持强制内部跳转场景
3. 修复H5整页刷新丢失状态、MP被塞进web-view的问题
2026-07-16 16:32:10 +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
b20ab5bf5d
feat(H5/quickapp): add quick app pull refresh global mixin and utils
...
1. add quickapp-pull-refresh.js mixin to handle pull down refresh in quick app H5 environment
2. add notifyNativeHost and requestQuickAppReload util methods for cross-environment communication
3. conditionally register the mixin only for H5 platform
2026-07-15 17:55:27 +08:00
616fac0312
refactor(common,webview): remove redundant console logs and simplify api call
...
清理了两处页面和工具类中的调试日志,同时简化了uni.setNavigationBarTitle的调用代码,移除了不必要的success/fail回调,只保留核心调用逻辑
2026-07-15 16:24:35 +08:00
1c88bcf99b
style(common/css): 删除冗余的H5端全局样式代码
...
移除了原先针对H5端的根容器撑满和自定义TabBar固定的冗余注释与样式代码,这些样式逻辑目前可能已被框架内置处理或不再需要,清理样式文件减少冗余代码。
2026-07-15 15:17:23 +08:00
793b988376
fix(splash-screen): 修复启动屏拦截首页触摸事件的问题
...
针对H5端和普通启动场景,分别处理触摸事件拦截问题:
1. 给启动屏组件添加pointer-events:none,让首页在渐隐期也能正常交互
2. 修改uni.showLoading的mask参数为false,避免原生蒙层遮挡触摸
2026-07-15 15:12:59 +08:00
313c283d9b
fix: 适配华为快应用WebView场景并修复tabbar定位问题
...
1. 新增华为快应用WebView环境检测工具函数
2. 文章组件在快应用WebView中强制关闭滚动模式
3. 修复全局tabbar在H5/快应用中的定位漂移问题,加固fixed定位样式
4. 补全页面配置中的导航栏标题字段
2026-07-15 15:00:42 +08:00
b10bf472e3
feat(webview): add webview title auto update and debug logs
...
1. add @titleUpdate event listener for web-view component
2. decode uri component for title and enableSetTitle params
3. refactor updateNavbarTitle to accept dynamic new title
4. add debug console logs for tracking title update flow
5. add success/fail callbacks for navigation bar title setting
2026-07-15 11:55:52 +08:00
1814fffc12
refactor(util-navigate): simplify platform detection logic
...
1. remove redundant try-catch wrapper for compile-time macros
2. add quickapp runtime detection for H5 in quickapp webview
3. add optional chaining for uni.getSystemInfoSync call
4. add comment for default return case
2026-07-15 11:18:55 +08:00
13da4f1c9f
fix(util): 修正系统导航栏列表工具函数的导入别名
...
调整了systemTabBarList工具函数的导入别名写法,同时将adaptSubpackageUrl加入到导出列表中保持API一致性
2026-07-15 11:08:35 +08:00
c8fada4b9d
refactor(util): 拆分跳转工具集到独立文件
...
将原util.js中的跳转相关工具函数拆分为util-navigate.js和util-tabbar.js两个独立模块,重构原有代码以:
1. 避免循环依赖问题
2. 提升代码可维护性和复用性
3. 保留原有API兼容性,无需修改业务调用代码
4. 实现纯函数化设计,方便测试和tree-shaking
2026-07-15 11:00:49 +08:00
229c6aa969
feat(util): add URL sanitization utility and improve redirect handling
...
1. add cleanParamUrls recursive URL sanitization util
2. add URL cleanup to diyRedirectTo as final defense
3. refactor redirectTo to avoid duplicate cleanup
4. add comprehensive unit tests for all new functionality
2026-07-15 09:24:10 +08:00
00bf4bcfd6
feat(mp-share): add disabled share page list and hide share menu for specific pages
...
新增了禁用分享的页面配置列表,针对指定页面主动隐藏转发按钮,同时优化了分享逻辑的兜底和性能。
具体包括:
1. 增加_DISABLED_PAGES集合管理禁分享页面路由
2. 添加页面禁用检查和隐藏分享菜单工具方法
3. 在created和onLoad阶段自动隐藏对应页面的转发按钮
4. 优化onShow和分享钩子的禁用逻辑,避免无效请求和调用
2026-07-15 09:05:50 +08:00
d213c5a488
build(scripts): add test gate and npm test scripts
...
1. 新增测试门禁脚本test-gate.js,统一管理tests目录下的测试用例执行
2. 在package.json中添加test、test:util、prebuild、prestart脚本,将测试环节前置到构建和启动流程
3. 重构normalizeUrl函数,新增更严格的URL规范化逻辑并补充完整注释
4. 优化代码格式,修正多处对象字面量的空格排版
5. 新增util.js的单元测试文件,覆盖核心工具函数的测试场景
2026-07-15 08:57:52 +08:00
3ac8162d9c
fix(util): 修复子包URL连续斜杠过多的问题
...
新增逻辑将路径中3个及以上连续斜杠收敛为2个,避免破坏scheme部分,修正不规范的URL路径格式
2026-07-14 17:58:02 +08:00
873e1efe73
fix(util&scss): 修复快应用内嵌H5滚动问题并优化URL参数处理
...
1. 为body添加滚动样式适配快应用webview视口限制
2. 调整URL参数合并逻辑,确保page_params始终置于URL末尾
2026-07-14 17:22:57 +08:00
c1289cd6b1
fix(util): 优化跳转参数的空值处理逻辑
...
将原有的可选链空合并赋值改为条件式展开参数,避免传入无效的空值参数
2026-07-14 17:08:12 +08:00
b7cfa61a34
fix(util): 调整参数合并顺序并修复透传参数问题
...
1. 调整appendQueryParams的参数合并顺序,将page_params放在最后
2. 修复redirectTo调用时的参数透传问题,正确保留title和enable_set_title参数
3. 添加redirectTo跳转时的调试日志
2026-07-14 17:04:18 +08:00
52f952a6df
style(common/css): 修复快应用内嵌H5根容器不撑满问题
...
针对快应用内嵌H5场景下webview viewport高度不可控导致根容器无法铺满整屏的问题,添加H5端显式撑满容器的样式兜底,同时保留微信小程序/鸿蒙元服务的原有编译逻辑
2026-07-14 16:30:31 +08:00
2708ac55d1
fix(util): 修复小程序跳转时未拼接参数的问题
...
修复uni.navigateToMiniProgram调用时未将page_params参数拼接进跳转path的问题,正确处理了参数过滤和url拼接逻辑
2026-07-13 18:22:22 +08:00
3d822ed641
fix(util): 补全wap_url公共参数并透传page_params
...
将page_params合并到公共参数中,一并追加到跳转链接里
2026-07-13 18:20:51 +08:00
e88dc2b205
docs(mp-share-default): 修正注释里的预处理宏描述
...
将原来的具体代码注释调整为更通用的"MP-WEIXIN 预处理宏"表述,让注释更清晰易懂
2026-07-13 16:30:10 +08:00
30cda71749
refactor(http,lang): 重构请求逻辑并新增多语言错误提示
...
1. 新增网络相关错误的多语言翻译配置
2. 重写http请求层,添加自动重试机制与错误分类提示
3. 优化鸿蒙平台下的组件渲染兼容性与数据更新逻辑
4. 调整部分页面的模板结构与请求配置
2026-07-13 15:45:15 +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
6b8b4acc96
fix(splash-state): 修复页面就绪后无法关闭启动屏的问题
...
问题根源: _flushPendingHide() 中过早清除了 _pendingHide,导致页面就绪后 notifyPageReady() 检测不到 pending hide 请求,启动屏无法关闭。
修复方案: 当页面未就绪时,保留 _pendingHide 直到页面真正就绪后再清除。
2026-07-13 10:43:47 +08:00
edea8c32de
fix(splash-screen): 启动屏等待首页内容就绪后再消失
...
问题描述: 首次启动时,启动屏已关闭但首页内容还是空白的,用户体验差。
解决方案:
1. 在 splash-state.js 中新增页面就绪等待机制 (_pageReady 标志、notifyPageReady 方法)
2. 修改软隐藏逻辑,必须同时满足组件已 mount 和页面已就绪才关闭启动屏
3. 在首页 onDiyGroupLoaded 回调中通知页面就绪
兜底保护:
- 组件 1s 未 mount → 强制关闭
- 页面 2s 未就绪 → 强制关闭
- 总超时 8s → 强制关闭
2026-07-13 10:36:04 +08:00
3f09dca054
refactor(splash-screen): 移除废弃的启动屏配置系统
...
简化启动屏组件代码,删除不再使用的splashConfig全局配置、相关工具方法和冗余的布局逻辑,统一进度条展示样式。
2026-07-13 10:22:45 +08:00
aa15518980
feat(splash-screen): add configurable splash screen display options
...
add splashConfig in config-external.js to control progress/label/percent display,
add runtime config api in splash-state.js,
refactor splash-screen.vue to support inline layout and prop override
2026-07-13 09:59:18 +08:00
a913961be5
feat: 实现隐私弹窗全链路功能,支持本地配置与远程patch融合
...
- 新增隐私管理器核心逻辑,支持URL路由规则匹配、远程patch签名校验与融合
- 实现启动期资源等待机制,确保弹窗在i18n、主题配置就绪后触发
- 新增启动进度条组件,展示启动阶段进度与状态
- 重构隐私弹窗组件生命周期,修复事件丢失问题并支持规则动态重评估
- 适配多端平台隐私检查逻辑,支持微信小程序、鸿蒙元服务与H5
- 支持uniacid租户隔离的持久化规则存储
2026-07-11 18:28:36 +08:00
a2066285cd
feat(mp-weixin): 新增全局兜底分享mixin与路径复制能力
...
为微信小程序端添加全局分享兜底支持,为所有未显式声明分享钩子的页面提供默认转发和朋友圈分享能力,同时新增小程序路径复制工具方法。
2026-07-11 15:19:26 +08:00
013eef46fb
refactor(common,components): 优化底部导航栏显隐逻辑
...
1. 新增isCurrentPageTabBarRoot工具方法封装页面判断逻辑
2. 调整弹窗打开时的导航栏隐藏时机,仅在非TabBar根页面执行
3. 移除弹窗open回调中的导航栏显示逻辑,改为在关闭弹窗时显式处理
4. 补充注释说明回调不可靠的问题和根页面不隐藏导航的原因
2026-07-10 15:46:48 +08:00
e3e63899d8
feat(privacy): add markSkipped method and H5 skip logic for privacy popup
...
add markSkipped method to synchronously skip privacy popup, and call it in App.vue created hook for H5 environment when current URL matches skip condition
2026-07-10 14:11:51 +08:00
9d2b76687c
feat(privacy): add url-based skip rule for H5 privacy popup
...
add ability to skip privacy popup when visiting specific H5 URLs directly,
update PrivacyManager.show to accept skip option,
add skip logic for specific form page to avoid blocking UI
2026-07-10 14:01:41 +08:00
679c53c501
refactor(util): 统一 URL 参数序列化与解析逻辑
...
1. 新增_toParamValueString处理复杂参数序列化
2. 新增parsePageParams作为page_params统一解析工具
3. 重构多处参数处理逻辑,避免重复代码和对象转字符串异常
4. 统一处理对象/数组参数的JSON序列化,避免出现[object Object]
2026-07-10 13:56:37 +08:00
a90245b201
fix: 适配多平台url编码规则,修复双重编码问题
...
针对H5和小程序/App平台分别处理url参数编码:
1. H5平台需要手动encodeURIComponent避免参数解析错误
2. 小程序/App平台由uni内部自动编码,避免双重编码导致参数解码异常
同时重构了工具类中的编码逻辑,统一多场景下的平台适配规则
2026-07-10 11:29:16 +08:00
897a8157e7
fix(util): 修复url参数编码逻辑
...
移除了冗余的try-catch编码逻辑,直接返回原始字符串
直接返回原始字符串,简化了url参数编码的处理流程,避免了不必要的编解码操作
2026-07-10 10:47:48 +08:00
d4794a7be4
fix(lang): 修复路径含连字符时无法匹配bundle的问题
...
新增尝试原始段名的匹配逻辑,同时支持camelCase、snake_case和原始段名三种命名方式,覆盖更多bundle命名场景
2026-07-09 16:26:02 +08:00
82fd3839a9
feat: 新增remote-only主题模式,优化首屏包体积
...
1. 新增theme-override.js实现主题远端拉取逻辑
2. 新增empty-style-stub.js作为主题包占位符,减少主包~75KB
3. 在vue.config.js中添加构建期主题stub替换逻辑
4. 重构config-external.js的主题配置,新增remote-only模式支持
5. 重构store的applyThemeWithRemote方法,适配远端主题拉取
6. 在bootstrap中新增主题初始化和异步拉取逻辑
2026-07-07 14:56:13 +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