周瑞哲
|
7ef4094788
|
fix(map): 收敛 regionchange 回写回路,修复选中标点后地图抽动
AI Code Review / review (pull_request) Successful in 2m11s
选中标点后地图在左右/上下反复抽动,根因是视口回写形成了自激回路:
map 的 longitude/latitude/scale 绑定到 store,而 regionchange 又无条件把
地图当前中心点写回 store —— 写 store 触发地图移动,移动结束回传一个
「差一点点」的中心点,再写回,再移动。上一个提交把中心点改成从
detail.centerLocation 同步读取后,回路里原本靠 getCenterLocation 异步跳变
掩盖住的这一点噪声就直接闭合了。
两道闸:
- 只接受手势造成的变化。causedBy 为 update(我们自己改绑定值或调
includePoints 触发)时 store 已是权威值,不回写。老基础库拿不到
causedBy 时退化到下一道闸。
- 所有回写走 commitViewport,经 isSignificantViewportChange 过滤掉小于
1e-4 度 / 0.01 级的变化。远小于任何一次真实拖动,足以吸收量化噪声。
顺带修一个 H5 构建回归(1bcdd40 引入):uni 的 H5 路由生成器按路径推导
组件标识,pages/poi/detail 与 pages-poi/detail 都归一成 PagesPoiDetail,
重复声明导致 build:h5 失败。兼容跳板必须留在旧路径上,所以改名分包路由
pages-poi/detail -> pages-poi/poi-detail。
|
2026-08-03 11:08:39 +08:00 |
|
周瑞哲
|
1bcdd40729
|
fix(map): 修正定位落到零坐标、旧详情页路由白屏与跳转期间地图可拖动
三个问题,前两个各有独立根因。
1) 首次打开定位到几内亚湾、底图变成 HERE
regionchange 处理里读的是 `event.detail.longitude`,但微信的 regionchange
载荷没有这个字段,`Number(undefined)` 恒为 NaN,于是每次都落到异步的
getCenterLocation。冷启动时地图 SDK 还没拿到有效中心点,它会回传 (0, 0),
而两个 store 的坐标校验只查 Number.isFinite,(0, 0) 直接通过。
(0, 0) 落在几内亚湾(Null Island),微信 <map> 一到境外坐标就切 HERE 底图。
全程不需要用户点过定位按钮。
数据集校验器本来就在拒绝零坐标,只是运行时 store 没套用同一条规则。现把它
提成共享守卫 isTrustworthyCoordinate,validateCoordinates 改为复用,并铺到
map store、location store 和打卡定位服务。regionchange 一侧改为优先读微信
真正给的 detail.centerLocation,回落路径校验后才写入,且 mapReady 为 false
时不接受任何回写。
2) 冷启动白屏、左上角只剩回首页的小房子
f8ad5e1 把详情页从 pages/poi/detail 移进 pages-poi 分包,源码调用点都改了,
但旧路由本身从 app.json 消失。任何还攥着旧路径的入口 —— 开发者工具模拟器上次
停留的路由、预览启动页、已发出的分享卡片或二维码 —— 冷启动会落到微信解析不出
的路由,渲染成白屏;因为不是 tabBar 页且栈深为 1,左上角只剩小房子。
旧路径补一个只做重定向的跳板页,带 poiId 就 redirectTo 新路径,不带就 reLaunch
回地图。用 redirectTo 是为了让跳板不留在页面栈里。主包 +1 KB。等所有入口都刷新
过可以删掉。
3) 跳转详情页时地图仍可拖动几毫秒
<map> 是渲染在 webview 之上的原生组件,销毁是异步的,页面转场开始了它还在。
navigating 之前只用于防重复点击,没接到地图上。现在接上 enable-scroll /
enable-zoom,并给 selectMarker、openCheckInRecords 补同一个守卫(后者原先完全
没有防护),regionchange 在跳转期间也不再回写 viewport。onShow 里直接复位
navigating,返回时立刻恢复交互,不等 500ms 兜底定时器。
原生组件的异步销毁消不掉,但那几毫秒里地图不再响应拖动和缩放。
验证:测试 100 passed(map store 新增零坐标、越界、resetViewport 兜底用例),
type-check 干净。build 主包 1187 KB / 分包 1841 KB,dev 1527 KB / 1847 KB,
均过 verify:mp-weixin。
|
2026-08-03 10:45:28 +08:00 |
|
周瑞哲
|
f8ad5e1faf
|
perf(mp-weixin): 照片分两层,详情页移入 pages-poi 分包
微信主包上限 2 MB,30 张 800×600 照片单独就 2.6 MB,
整包 3.2 MB,上传被拒(错误码 80051)。
按使用场景把照片拆成两层:
- 主包缩略图 400×300 q75(678 KB),供地图、行程、打卡卡片使用,
这些场景最大只显示 192rpx(≈288 px @DPR3),800×600 是过剩
- 分包大图 800×600 q66(1832 KB),供详情页 hero 使用,
随 pages-poi 分包按需下载
两层都保持 4:3,PoiImage 的 aspectFill 行为不变,视觉表现与之前一致。
详情页从 pages/poi/detail 移到 pages-poi/detail:主包页面无法引用
分包资源,hero 要用大图,页面就必须在分包内。新增
coverPhotoFullUrlFor() 供分包内页面取大图,占位图仍指向主包。
verify-weixin-output.mjs 增加防回归检查:分包注册、两层照片数量
一致、主包与各分包实际体积(留 64 KB 余量)。包体再超限会在
verify 阶段失败,不必等上传才发现。
process-poi-photos.mjs 重写为双层产出,幂等,末尾报告包体占用并
在超限时退出非零。原图改从 src/photo-intake/ 读取(不提交仓库)。
改造后:主包 1522 KB、分包 pages-poi 1847 KB,均在 2048 KB 内。
mp-weixin 与 H5 均编译通过,97 个测试通过,vue-tsc 与 ESLint 无错。
|
2026-08-03 09:21:23 +08:00 |
|
 周瑞哲andClaude Opus 5
|
9e8c7bf908
|
chore: 清理归档文件和打卡相关旧代码
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-03 07:41:11 +08:00 |
|
admin
|
b1e0cae07a
|
Merge pull request 'Update planner, check-in records, location service and tests' (#10) from zhouruizhe into main
Reviewed-on: #10
|
2026-08-01 22:01:35 +08:00 |
|
zuozhou
|
352a94b148
|
Merge pull request 'feat: 30个景点替换为真实照片,添加图片批处理脚本' (#12) from zuozhou into main
Reviewed-on: #12
|
2026-07-31 18:17:26 +08:00 |
|
zuozhou
|
d01525fd51
|
feat: 30个景点替换为真实照片,添加图片批处理脚本
AI Code Review / review (pull_request) Successful in 2m58s
|
2026-07-31 18:11:38 +08:00 |
|
zuozhou
|
33b9c53be6
|
Merge pull request 'feat: 统一推荐指数显示格式,移除地图底部免责声明' (#11) from zuozhou into main
Reviewed-on: #11
|
2026-07-31 15:29:11 +08:00 |
|
周瑞哲
|
c0ed0048aa
|
Update planner, check-in records, location service and tests
AI Code Review / review (pull_request) Successful in 6m54s
|
2026-07-31 15:12:21 +08:00 |
|
zuozhou
|
09f8ec7ecf
|
feat: 统一推荐指数显示格式,移除地图底部免责声明
AI Code Review / review (pull_request) Successful in 2m31s
|
2026-07-31 15:01:44 +08:00 |
|
zhouruizhe
|
12380cd8cf
|
Merge pull request 'Done: Merge zhouruizhe into 'main'' (#9) from zhouruizhe into main
Reviewed-on: #9
|
2026-07-31 13:10:17 +08:00 |
|
周瑞哲
|
73664ca974
|
Merge branch 'main' into zhouruizhe
AI Code Review / review (pull_request) Successful in 5m25s
|
2026-07-31 12:57:22 +08:00 |
|
周瑞哲
|
5511c85f58
|
Merge branch 'main' of http://192.168.8.242:3000/zhouruizhe/gmTouringMiniApp
|
2026-07-31 12:53:14 +08:00 |
|
周瑞哲
|
3ef7266591
|
Add check-in feature and update travel planner UI
|
2026-07-31 12:50:14 +08:00 |
|
zhouruizhe
|
14ca296d7d
|
Merge pull request 'zhouruizhe' (#8) from zhouruizhe into main
|
2026-07-31 11:19:53 +08:00 |
|
zhouruizhe
|
941fd13859
|
Merge branch 'main' into zhouruizhe
AI Code Review / review (pull_request) Successful in 2m38s
|
2026-07-31 11:04:46 +08:00 |
|
admin
|
2844ecd5bb
|
Merge pull request 'Admin patch 1' (#1) from team/gmTouringMiniApp:admin-patch-1 into main
Reviewed-on: zhouruizhe/gmTouringMiniApp#1
|
2026-07-31 08:38:19 +08:00 |
|
admin
|
7deba0dd37
|
更新 README.md
|
2026-07-31 08:37:16 +08:00 |
|
admin
|
f93cc9da1b
|
merge upstream
|
2026-07-31 08:35:31 +08:00 |
|
gitea-bot
|
310063ac9d
|
ci: revert to secure same-repo PR review
AI Code Review / review (pull_request) Successful in 1s
|
2026-07-31 08:32:30 +08:00 |
|
gitea-bot
|
e71747fb20
|
ci: revert to secure same-repo PR review
|
2026-07-31 08:32:27 +08:00 |
|
gitea-bot
|
7f2fdc86b9
|
ci: normalize clone URL host to gitea:3000 (container-reachable)
AI Code Review / review (pull_request) Failing after 1s
|
2026-07-31 08:10:59 +08:00 |
|
gitea-bot
|
2ab836cf9e
|
ci: normalize clone URL host to gitea:3000 (container-reachable)
|
2026-07-31 08:10:56 +08:00 |
|
gitea-bot
|
b8be62d6d0
|
ci: runner-envs + fork-aware checkout (review any PR)
AI Code Review / review (pull_request) Failing after 1s
|
2026-07-31 08:08:40 +08:00 |
|
gitea-bot
|
1f2d64fbd2
|
ci: runner-envs + fork-aware checkout (review any PR)
|
2026-07-31 08:08:37 +08:00 |
|
gitea-bot
|
e896e7d172
|
ci: sync hardened workflow (fork-PR graceful skip)
AI Code Review / review (pull_request) Successful in 1s
|
2026-07-31 00:19:58 +08:00 |
|
gitea-bot
|
392b8b3c83
|
chore: add .gitattributes for Git LFS
|
2026-07-30 23:34:45 +08:00 |
|
gitea-bot
|
15af529bc0
|
ci: PAT via extraHeader + --data@file
|
2026-07-30 23:01:38 +08:00 |
|
gitea-bot
|
7bbaa37802
|
ci: detect claude before install + graceful fork-PR skip
|
2026-07-30 22:50:20 +08:00 |
|
admin
|
353b313623
|
更新 README.md
AI Code Review / review (pull_request) Failing after 1m30s
|
2026-07-30 22:42:02 +08:00 |
|
admin
|
c5d8060f29
|
Merge pull request 'Update AI planner integration, docs, and config' (#1) from zhouruizhe/gmTouringMiniApp:main into main
Reviewed-on: #1
Reviewed-by: admin <zhouruihe@gml.ac.cn>
|
2026-07-30 16:40:20 +08:00 |
|
周瑞哲
|
ac4179086c
|
Update AI planner integration, docs, and config
AI Code Review / review (pull_request) Successful in 11m45s
|
2026-07-30 16:33:39 +08:00 |
|
周瑞哲
|
33c14eec86
|
Merge branch 'main' of http://192.168.8.242:3000/zhouruizhe/gmTouringMiniApp
|
2026-07-30 16:08:13 +08:00 |
|
周瑞哲
|
ebcae02d35
|
Initial commit: gmTouringMiniApp project
|
2026-07-30 16:04:34 +08:00 |
|
zhouruizhe
|
d5d732335d
|
Initial commit
|
2026-07-30 15:55:29 +08:00 |
|