Council
|
75703a12f4
|
[票务] 票务页面主题适配与样式优化
|
2026-07-06 12:05:32 +08:00 |
Council
|
80ea6bfdef
|
refactor(iconfont): 主包精简 Phase 4B — u-icon 全量替换为 iconfont
【背景】
VR 扩展引入的 u-icon 组件通过 easycom 全局注册,导致主包引入:
- u-icon.wxss base64 副本 224.7 KB
- iconfont.json 元数据 85.8 KB
- u-icon.vue 1.7 KB
合计 ≈312 KB 冗余。
原版项目已有 <iconfont> 全局组件,功能等价。直接用 iconfont 替换可彻底消除冗余。
【变更】
1) components/iconfont/iconfont.vue 增强
- 新增 #ifdef APP-NVUE 分支(合并 u-icon.vue 的 NVUE 逻辑)
- iconfontCode computed:剥离 'icon-' 前缀后查 glyphs
- iconSizeNvue computed:NVUE 单位补全
- mounted 中调用 domModule.addRule('fontFace') 注册字体
- 保留全部 iOS 修复注释
2) 替换 31 处 <u-icon> → <iconfont>
- 属性映射:propName→name(+icon-前缀)、propColor→color、propSize→size
- 动态 :propName 改写为 :name="'icon-'+var"
3) 删除
- components/u-icon/u-icon.vue
- components/u-icon/ 空目录
4) 修改的 11 个文件
- pages/plugins/video/detail/detail.nvue (14 处)
- pages/plugins/video/components/{loading,comment-info,comment-more,search}.vue (5 处)
- pages/plugins/live/pull/pull.vue + pull.nvue (3 处)
- pages/plugins/live/pull/components/{goods,live-content}/*.vue (7 处)
- components/u-popup/u-popup.vue (1 处)
- components/u-share-popup/u-share-popup.vue (1 处)
【效果】
- 用户实测:主包 2347.6 KB → 1997.9 KB(与原版 6.8 持平)
- 进一步在 HBuilder 中将 iconfont.json 加入自动排除列表后 → 1919.7 KB
- 比原版 6.8(1997 KB)小 77 KB
【风险】
- LOW(gitnexus detect_changes: 0 affected processes)
- NVUE 兼容性:iconfont.vue 已继承 u-icon.vue 全部 NVUE 逻辑(用户实测视频详情页正常)
- 直播场景:因项目无直播环境,未在生产 NVUE 验证(待启用时手动测试)
【验证】
- 用户实测:视频详情页、商品页图标显示正常
- 弹窗关闭图标(u-popup / u-share-popup)显示正常
|
2026-07-01 18:12:21 +08:00 |
Council
|
f696450bf9
|
refactor(subpackage): 主包精简 Phase A1 — diy 移回主包 + 子包独立化 + manifest 优化
【背景】
ShopXO 原版 6.8 主包 ≈1997 KB,但 VR 扩展接入后膨胀至 2347 KB。
本次为 Phase A1,主包减小约 200~400 KB(视未引用文件而定)。
【变更】
1) manifest.json 优化配置
- 开启 ignoreDevUnusedFiles: true(开发模式剔除未引用文件)
- 开启 ignoreUploadUnusedFiles: true(生产模式剔除未引用文件)
- 风险:低(uni-app 官方推荐生产配置)
2) pages.json 调整
- pages/diy 从 subPackages 移回主包(修复 iOS 微信真机 evaluate 时机问题)
3) 子包独立化
- ticket-qr-popup 从主包 components/ 移到 pages/plugins/vr-ticket-wallet/components/
- wallet_bg.png 从主包 static/images/other/ 移到 vr-ticket-wallet 子包
- pages/user-order-detail 内置独立 ticket-qr-popup 副本(避免跨页面引用)
4) gitignore 补充
- vr-shopxo-uniapp-6.8-origin/(基准对比目录)
- docs/analyse-mp/(HBuilder 编译分析产物,2.3MB)
5) 工作记录
- docs/vr-ticket-uniapp-analysis.md(VR vs 原版差异分析报告)
- docs/main-package-size-optimization-20260701.md(本次精简工作记录)
【验证】
- gitnexus detect_changes:low risk
- iOS 真机 evaluate 白屏已修复(前置 commit e11e2d3a)
- 票夹子包现可独立编译加载
|
2026-07-01 18:12:03 +08:00 |
Council
|
e11e2d3a6e
|
fix(iOS): Move ticket-qr-popup to main package to resolve subpackage evaluate race condition
Root cause: user-order-detail referenced ticket-qr-popup inside vr-ticket-wallet
subpackage. On iOS batchInjectSubPackages, all subpackage JS modules were
evaluated, triggering componentCommon -> common.vue top-level getApp() crash
when globalData hadn't been populated yet. This was an intermittent race
condition (not 100% reproducible).
Fix: Moved ticket-qr-popup from vr-ticket-wallet/components/ to
components/ticket-qr-popup/ (main package). Updated all import paths and
pages.json declarations. Now user-order-detail never triggers subpackage
loading, eliminating the race condition entirely.
Changes:
- NEW: components/ticket-qr-popup/index.vue (copied from subpackage)
- DELETE: pages/plugins/vr-ticket-wallet/components/ticket-qr-popup/
- MODIFY: pages/user-order-detail/user-order-detail.vue (import path)
- MODIFY: pages/plugins/vr-ticket-wallet/ticket-wallet.vue (import path)
- MODIFY: pages.json (usingComponents path)
|
2026-07-01 03:29:13 +08:00 |
Council
|
21ba9b7c42
|
fix(vr-ticket-wallet): 修复 iOS 真机 evaluate 白屏 + Swiper 回弹
1. ticket-wallet.vue:移除顶层 getApp() 调用,修复 iOS 独立分包
evaluate 早于 App.vue#onLaunch 导致的 'o.functions' 错误
(与 verify/index.vue、records/index.vue 同病同治)
2. ticket-qr-popup:swiper 改用内部 internalIndex 状态,
避免父组件倒计时 re-render 时 prop 重设导致 iOS 回弹
(订单详情页弹出有此问题,票夹页面无此问题)
|
2026-06-30 18:37:10 +08:00 |
Council
|
7db0b8707c
|
fix(vr-ticket-wallet): limit qr-popup max-height to 80vh to avoid being covered by WeChat global floating menu on iPad
|
2026-06-30 17:57:41 +08:00 |
Council
|
4438a84056
|
fix(iOS微信真机): 修复核销记录页高度塌陷+header点击穿透+iconfont裁剪
1. records/index.css: .records-page 加 height:100vh (同 verify 修复)
- 原先只有 min-height:100vh,iOS flex:1 scroll-view 高度塌陷
2. records/index.css + verify/index.css: header pointer-events 修复
- backdrop-filter 在 iOS 创建合成层会拦截下方点击
- header 容器 pointer-events:none,header-inner pointer-events:auto
- 修复 header 半透明区域无法点击、返回按钮无响应
3. records/index.vue: getApp() 从顶层移到 onLoad() (同 verify 修复)
- 消除 subpackage evaluate 时机隐患
- 5 处 app.globalData 改为 getApp().globalData
4. iconfont.vue: 修复 iOS 大尺寸 icon 裁剪/样式残缺
- 移除 max-width/max-height:100px 限制
- 移除 width/height:1em 硬约束
- display:flex → inline-block,让 font-size 驱动尺寸
gitnexus detect_changes: risk_level=low, 0 affected_processes
|
2026-06-30 16:16:07 +08:00 |
Council
|
388a80e035
|
fix(iOS微信真机): 修复扫码核销页 scroll-view 高度塌陷
根因:.verify-page 只有 min-height:100vh,没有明确 height。
iOS 微信真机的 flex 引擎需要父容器有明确高度才能计算
flex:1 子元素的剩余空间。min-height 不作为 flex 高度基准,
导致 .verify-scroll (flex:1; height:0) 高度塌陷为 0,
内容不可见。header 是 position:fixed 脱离 flex 流所以正常。
修复:给 .verify-page 加 height:100vh,min-height 保留兜底。
|
2026-06-30 16:06:29 +08:00 |
Council
|
0a42be5df6
|
fix(iOS微信真机): 修复扫码核销页空白页
根因:verify/index.vue 在 <script> 顶层调用 getApp().globalData,
与 diy 组件白屏问题相同——iOS 微信真机 subpackage evaluate
阶段早于 App.vue#onLaunch,globalData 未就绪导致 evaluation 失败。
修复:
1. 移除顶层 const app = getApp() 和 var bar_height = ...
2. data() 中 status_bar_height 初始值改为 0
3. onLoad() 中延迟调用 getApp() 读取 statusBarHeight
4. 所有方法内 app.globalData.xxx 改为 getApp().globalData.xxx
5. 加留痕注释
gitnexus detect_changes: risk_level=low, 0 affected_processes
|
2026-06-30 15:57:46 +08:00 |
Council
|
06ad365482
|
feat(vr-ticket-wallet): 隐藏票据卡片的电话和地图导航按钮
当前 vr_ticket/list 接口未把 venue 经纬度传给前端,若做真实
uni.openLocation 导航需要后端先补 venue_address/venue_lat/venue_lng
字段,动静过大。先把两个圆形按钮(📞 + 🗺️)注释下线,
callService/openNavigation 两个 mock handler 保留不删,
待后端数据就绪后再恢复。
Refs: 客户需求 - 票夹按钮改造
|
2026-06-29 23:54:47 +08:00 |
Council
|
efe6227f06
|
feat(order-ticket): 订单详情页核销码与票务卡片优化
1. 核销码弹窗 (ticket-qr-popup)
- canvas 加 pointer-events:none 修复 swiper 滑动被拦截的问题
- 新增 verify_status 遮罩,已核销/已退款的票显示"已核销/已退款 此码不可用"
- 遮罩加 backdrop-filter 模糊,文字放大并上移居中
2. 订单详情页票务卡片 (user-order-detail)
- 注释隐藏底部"查看票码 ›"链接(功能与顶部按钮重叠)
- 票卡右上角加核销/退款状态印章动画
- ticket_detail_list 传递 verify_status,API 图片路径加 resolveImageUrl 拼接
- 新增 resolveImageUrl 方法,与票夹保持一致
- 订单信息面板精简:删除重复条目,仅保留订单编号/总价/支付金额/支付方式/创建时间/支付时间/发货时间
|
2026-06-29 22:33:01 +08:00 |
Council
|
e1b100fc62
|
feat(vr-ticket-wallet): 重构核销页面和核销记录页面的头部导航
- 替换不可靠的 component-nav-back 组件为自实现的固定头部
- 使用 position: fixed + max-width: 750px 确保在宽屏 (PC) 下头部不会凸出
- 为核销记录页面添加 header 占位元素,防止统计概览被头部遮罩
- 移除未使用的 componentNavBack 导入
- 动态计算 status_bar_height + 44px 的头部高度间距
|
2026-06-28 23:47:10 +08:00 |
Council
|
e1082141d0
|
style: 全局应用方案二,将页面淡入渐变动画推广到所有核心 TabBar 页面
|
2026-06-27 21:47:24 +08:00 |
Council
|
bb2502997c
|
style: 优化页面切换体验,稳定底部菜单 Key 减少重绘,新增页面淡入渐变动画与商品搜索页骨架屏
|
2026-06-27 21:29:24 +08:00 |
Council
|
9a8a3e59bc
|
feat: 优化自定义底部导航并隐藏小程序的返回/返回首页按钮;实现票据钱包下拉刷新生命周期函数
|
2026-06-27 21:11:10 +08:00 |
Council
|
07b369a302
|
feat: 放开身份证字段限制 & 票夹 UI 优化
- 移除 goods-vr-ticket-order 身份证字段的 DEVELOPMENT 条件编译
- verify 页面增加扫码覆盖层动画,H5 手动核销 UI 重构
- ticket-wallet Banner 从 SVG 动画改为静态背景图
- 修复 v-for key 警告,优化空状态图标
|
2026-06-27 16:49:40 +08:00 |
Council
|
3567bea792
|
feat: 商品列表/分类/购物车/魔法列表增加 VR 票务直跳逻辑
- 在 goods_event 中检测 vr_goods_config 标志
- 若为票务商品则直接跳转到 goods-vr-ticket 页面
- 减少票务商品从普通商品页跳转的中间环节
- 避免影响 realstore 相关页面的返回体验
|
2026-06-27 16:46:53 +08:00 |
Council
|
6e80f6e9a6
|
fix: 修复票据页面实机滚动卡死问题
问题描述:
- iOS/Android 实机测试时,票据页面下滑后无法上滑
- 必须切换 Tab Bar 才能恢复
根本原因:
- 页面容器未限制高度,Webview 弹性滚动与 scroll-view 手势冲突
- 页面级下拉刷新与 scroll-view 刷新机制并存,增加手势复杂度
修复方案:
- pages.json: 禁用页面级下拉刷新,开启 disableScroll
- ticket-wallet.css: 容器高度改为 100vh + overflow:hidden,滚动区高度简化为 100%
关联文档:
- docs/troubleshoot-ticket-wallet-scroll.md
|
2026-06-26 08:12:54 +08:00 |
Council
|
c52adc7a4a
|
feat(vr-ticket): 新增票务订单确认页 + 观影人选择功能
|
2026-06-25 17:11:36 +08:00 |
Council
|
e014a94441
|
feat: VR ticket order page + wallet plugin pages (goods-vr-ticket-order, vr-ticket-wallet)
- Add goods-vr-ticket-order page (order confirmation flow)
- Add vr-ticket-wallet plugin with ticket-qr-popup, records, verify components
- Update ticket-header/ticket-popup/goods-vr-ticket with enhanced seat selection UI
- Update integration plan docs
- Update pages.json with new page registrations
- Update user.vue to include wallet link
|
2026-06-03 13:32:06 +08:00 |
于肖磊
|
37c7beca17
|
修改上传触发参数
|
2026-03-19 15:32:40 +08:00 |
于肖磊
|
41f412ddd4
|
删除打印的内容
|
2026-03-19 15:07:21 +08:00 |
于肖磊
|
f2726e5183
|
修改loading组件显示
|
2026-03-19 15:06:46 +08:00 |
于肖磊
|
f7e25449b2
|
修改组件引入
|
2026-03-19 15:05:16 +08:00 |
于肖磊
|
1196ac3e68
|
修改页面显示
|
2026-03-19 15:02:24 +08:00 |
于肖磊
|
f254070882
|
关闭键盘显示
|
2026-03-19 14:37:33 +08:00 |
于肖磊
|
4a08899e27
|
修改图片显示处理
|
2026-03-19 12:03:15 +08:00 |
于肖磊
|
45ba0da9ba
|
修改按钮文字颜色
|
2026-03-18 19:05:03 +08:00 |
于肖磊
|
be65bbe0fd
|
修改按钮文字颜色
|
2026-03-18 18:42:24 +08:00 |
于肖磊
|
da9e528427
|
修改回复内容为主
|
2026-03-18 18:39:02 +08:00 |
于肖磊
|
c0f9c2f72f
|
修改按钮颜色
|
2026-03-18 18:20:12 +08:00 |
于肖磊
|
ccac3bcd0c
|
修改输入框处理逻辑
|
2026-03-18 17:52:21 +08:00 |
gongfuxiang
|
69ade80697
|
merge
|
2026-03-18 15:15:04 +08:00 |
于肖磊
|
4746681087
|
修改页面显示数据
|
2026-03-16 16:13:59 +08:00 |
于肖磊
|
b5a1b17881
|
修改输入框颜色
|
2026-03-13 18:14:28 +08:00 |
于肖磊
|
e8d647c28d
|
修改nvue输入框的处理
|
2026-03-13 18:13:53 +08:00 |
于肖磊
|
27fcf755de
|
修改数据提示
|
2026-03-13 16:51:27 +08:00 |
于肖磊
|
c34de3be62
|
修改页面显示
|
2026-03-13 16:43:16 +08:00 |
于肖磊
|
47adfa1816
|
修改数据显示
|
2026-03-13 16:42:13 +08:00 |
于肖磊
|
f7b997e55c
|
修改数据显示
|
2026-03-13 16:34:25 +08:00 |
于肖磊
|
c2da7e5f41
|
修改图片上传
|
2026-03-13 15:42:39 +08:00 |
于肖磊
|
ddfb967c72
|
使输入框失去焦点
|
2026-03-13 15:10:23 +08:00 |
于肖磊
|
3ce6f61448
|
关闭信息
|
2026-03-13 15:01:02 +08:00 |
于肖磊
|
0de2f27018
|
关闭输入框内容
|
2026-03-13 14:58:48 +08:00 |
于肖磊
|
2abbfe9b9f
|
修改输入框处理
|
2026-03-13 14:52:58 +08:00 |
于肖磊
|
cdf956c98a
|
修改页面显示处理
|
2026-03-13 14:46:28 +08:00 |
于肖磊
|
f5168b8cc5
|
修改显示
|
2026-03-13 14:19:28 +08:00 |
于肖磊
|
e4f6d1ddd2
|
修改内容信息
|
2026-03-13 14:08:36 +08:00 |
于肖磊
|
fb159220ef
|
增加引入组件名称
|
2026-03-13 11:08:38 +08:00 |
于肖磊
|
067e46e065
|
增加nvue多余代码
|
2026-03-13 10:57:17 +08:00 |