Commit Graph

765 Commits

Author SHA1 Message Date
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
cb5878ad29 test: add unit test for mp-share-default module
complete all test cases for the disabled pages share logic, including blacklist check, route judgment, share api behavior and network call control
2026-07-15 09:02:54 +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
fa082f59c1 fix: 更新快应用项目配置与接口地址
1.  修改userAgent的uniacid值从1116为2482
2.  将导航栏调用方法从hjiTitleBar改为setTitleBar
3.  更新默认加载URL为新的aigc-quickapp地址
4.  修正编译产物中的路径与版本号信息
2026-07-14 16:27:31 +08:00
d8785d9d41 fix(diy.vue): 修复底部导航开启时页面最小高度异常问题
当开启底部导航时,原本没有设置默认最小高度,现在补充完整100vh的默认值,避免页面内容过少时布局异常
2026-07-14 16:09:18 +08:00
0312d00642 chore: add 2821 config for silicone oil paper project
add new project config entry 2821 and comment out its usage for now
2026-07-14 10:37:00 +08:00
ef407d6008 docs(TODO.md): 标记鸿蒙元服务相关的6个BUG为已修复
将之前记录的鸿蒙元服务环境下的组件和页面问题全部标记为已完成修复
2026-07-14 09:38:49 +08:00
aac44de359 style(article detail page): adjust page height to min-h-screen
将文章详情页的固定高度改为视口最小高度,适配不同屏幕内容高度场景
2026-07-14 09:38:35 +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
83fc02a279 refactor(diy-goods-list): 统一商品图片mode适配鸿蒙元服务
修复鸿蒙元服务环境下商品图片显示裁剪/不全的问题,根据模板和平台动态适配图片mode模式
2026-07-13 16:22:24 +08:00
edc077eef7 docs: 更新TODO清单,补充鸿蒙元服务等环境的bug
新增多个鸿蒙元服务环境的组件显示异常bug,以及微信小程序的控制台报错bug,更新已修复的bug项格式
2026-07-13 16:08:53 +08:00
30cda71749 refactor(http,lang): 重构请求逻辑并新增多语言错误提示
1.  新增网络相关错误的多语言翻译配置
2.  重写http请求层,添加自动重试机制与错误分类提示
3.  优化鸿蒙平台下的组件渲染兼容性与数据更新逻辑
4.  调整部分页面的模板结构与请求配置
2026-07-13 15:45:15 +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
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
8597504b57 chore: 添加.trae到gitignore忽略列表
将.trae目录加入gitignore,避免将本地临时目录提交到版本库
2026-07-13 09:15:26 +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
397589c4e6 fix(uni-config): 调整页面配置和权限声明
1. 调整recharge/list页面的disableScroll配置位置,全平台生效
2. 修正剪贴板权限名称和描述,移除冗余的剪贴板权限声明
2026-07-11 14:43:27 +08:00
c3cb420bf5 style(pages.json): 格式化页面配置缩进与注释格式
统一调整会员充值相关页面配置的缩进层级,修正冗余的scrollEnabled注释逻辑,保持跨端配置格式一致
2026-07-11 14:10:32 +08:00
bec47d1860 fix: 调整小程序权限配置与页面滚动配置
1. 更新剪贴板权限名称为userClipboardWrite并新增clipboard到隐私信息列表
2. 兼容微信小程序移除scrollEnabled,改用disableScroll保持滚动行为一致
2026-07-11 13:51:46 +08:00
117cbccbd7 chore: 更新配置项与补充项目待办清单
- 修改站点uniacid为2482
- 补充微信小程序相关BUG和优化项到TODO文档
2026-07-11 10:33:49 +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
575145eae9 refactor(pages.json&scripts): 优化自定义组件占位符注入逻辑
1.  为商品详情页添加所有diy-*组件的占位符配置
2.  重构占位符注入脚本,实现组件使用的递归检测
3.  移除原有的简单字符串匹配,改用导入链追踪准确判断组件使用情况
2026-07-10 17:45:38 +08:00
81e85c804a chore(mp-harmony): 更新gitignore和构建配置
1. 修正gitignore中的鸿蒙元服务构建产物路径
2. 新增components_diy、pages相关模块的构建配置
2026-07-10 17:34:50 +08:00
6178f699ed feat(scripts): add harmony component placeholder injection logic
新增鸿蒙组件级componentPlaceholder自动注入脚本,解决diy组件编译为asyncComponent导致的运行时报错,自动遍历处理非页面组件的json配置文件,同时添加异常捕获避免构建中断
2026-07-10 17:28:52 +08:00
2276291a4b build(mp-harmony): 添加目标SDK版本配置
补充鸿蒙项目的targetSdkVersion配置为5.0.0(12)
2026-07-10 16:52:42 +08:00
acbb89997b chore(config): update local dev config and add multiple project configs
1. 修改local-1的domain为局域网地址并注释原本地地址
2. 新增5g-213、5g-4、5g-97、5g-50、5g-237、2485多个项目配置
3. 调整默认激活的环境配置为2482,并注释其他测试配置
2026-07-10 16:44:13 +08:00
e04f5aabc0 build(mp-harmony): 移除多余的targetSdkVersion配置
删除build-profile.json5中冗余的targetSdkVersion字段,清理构建配置文件
2026-07-10 16:43:02 +08:00
013eef46fb refactor(common,components): 优化底部导航栏显隐逻辑
1. 新增isCurrentPageTabBarRoot工具方法封装页面判断逻辑
2. 调整弹窗打开时的导航栏隐藏时机,仅在非TabBar根页面执行
3. 移除弹窗open回调中的导航栏显示逻辑,改为在关闭弹窗时显式处理
4. 补充注释说明回调不可靠的问题和根页面不隐藏导航的原因
2026-07-10 15:46:48 +08:00
d9c6e41ebe fix(privacy): 新增表单页跳过隐私弹窗的匹配路径
补充了/pages_tool/form/form路径到免隐私弹窗的H5匹配列表中,避免外链/扫码访问表单详情时弹窗挡住页面
2026-07-10 14:16:49 +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