Skip to content

feat(map): 新增书院办公室+两架飞机+校门信息完善 - #150

Merged
programmingWTF merged 22 commits into
mainfrom
convert/hand-drawn-map-final
Aug 6, 2026
Merged

feat(map): 新增书院办公室+两架飞机+校门信息完善#150
programmingWTF merged 22 commits into
mainfrom
convert/hand-drawn-map-final

Conversation

@Cj-12111

@Cj-12111 Cj-12111 commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

新增建筑

  • 波音B737-500 — 学校自主采购,南航首架适航教学飞机
  • BAe146-300 — 南航上海校友会捐赠(吴光辉院士牵头)
  • 书院办公室 — 标签字体加大加深突出显示

交互修复

  • 恢复无精灵图建筑的热区点击(校门、书院办公室等)
  • 有精灵图建筑仅走精灵图交互,避免双击冲突
  • 师生服务厅精灵图适当缩小防遮挡校医院
  • 校医院热点区增大

校门信息

  • 西北门:24小时全天开放 | 人车通行
  • 东北门(北门):06:30-23:00,靠近学生公寓
  • 南门/西门/东门:07:00-22:00

开发体验

  • 本地开发模式建筑照片走本地路径(不走CDN)
  • BuildingPopover resolveImageUrl 区分 dev/prod

Cj-12111 added 17 commits August 6, 2026 17:56
- B737-500: (1881, 1115) 84×80
- BAe146-300: (1817, 1295) 76×76
- 导出字段修复 w→width h→height
- 垃圾中转站 displayWidth 500→300
- 师生服务厅+综合楼 displayWidth 600→400
- 西北门:24小时全天开放 | 人车通行
- 东北门(北门):06:30-23:00,靠近学生公寓
- 南门/西门/东门:07:00-22:00
@programmingWTF

Copy link
Copy Markdown
Collaborator

@Cj-12111 关于新增的两架飞机(波音B737-500 / BAe146-300)在地图上「看不见也点不到」的问题,我排查后的结论如下:

根因:精灵图文件缺失,点击交互两头落空

  1. building-sprites.ts 里两架飞机配的是本地相对路径
    • building-037image: '/buildings/sprites/B737-500.png'
    • building-038image: '/buildings/sprites/BAe146-300.png'
      而其余 27 张精灵图全部是 ${CDN_BASE}/sprites/xxx.png(CDN 路径)。
  2. 这两个 PNG 没有进仓库.gitignore 第 53 行忽略了整个 frontend/public/buildings/sprites/ 目录,git ls-tree 确认仓库里没有这两个文件;实测 COS 上 sprites/B737-500.pngsprites/BAe146-300.png 也均返回 404。
  3. 本 PR 又把热区改成「仅无精灵图建筑渲染」(buildingsWithoutSprite 过滤),于是飞机被精灵图配置"占位"、热区被移除,而精灵图本身又加载 404 → 既不显示、也没有热区可点

仓库里实际提交的飞机图片只有 frontend/public/buildings/b737/01.webpfrontend/public/buildings/bae146/01.webp——它们是实拍照片(VP8 有损编码、无透明通道),用于详情页展示,不是可叠加在地图上的透明精灵图。(commit 34760a8 "fix: 飞机精灵图改用本地路径(CDN未上传)" 也印证了当时 CDN 未上传。)

建议修复(二选一)

  • ✅ 推荐:把透明背景抠图 B737-500.png / BAe146-300.png 上传到 COS 的 sprites/ 目录,并把 building-sprites.ts 里这两条路径改回 ${CDN_BASE}/sprites/B737-500.png(与其余精灵图保持一致)
  • 或:暂时把 037/038 从 building-sprites.ts 移除,让它们回到热区模式(mock-buildings.json 里 hotspot 数据齐全,可先保证能点击)

另外说明:我已把 main 合并进本分支,并更新了 3 个测试文件以适配新的热区/精灵图交互(热区 6 栋、精灵图 29 张),CI 已恢复通过,可以正常走 review。

@programmingWTF

Copy link
Copy Markdown
Collaborator

补充一下 @Cj-12111:上面的修复方案 1(上传 COS)不用你操作——COS bucket 是李桂聿(@programmingWTF)的,你动不了。

你只需要做一件事:把两架飞机的透明背景抠图B737-500.pngBAe146-300.png,PNG 带 alpha 通道、背景镂空)直接通过微信发给李桂聿。收到后他会负责上传到 COS 并把 building-sprites.ts 里的路径改回 CDN 路径,到时候飞机在地图上就能正常显示和点击了。

@LiGuiyu-AI LiGuiyu-AI added 类型:功能请求 新功能/改进 规模:L 3-7天 labels Aug 6, 2026
@LiGuiyu-AI

LiGuiyu-AI commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

🏆 段位评定:🌟 至尊星耀(自上次评审以来问题全部清零,升段)

复查新增的 3 个 commit,上次提的问题都已解决:

  1. 飞机精灵图上 CDN085f110@programmingWTF 代提):building-sprites.ts 两架飞机路径改回 ${CDN_BASE}/sprites/...,实测 B737-500.png(227KB)和 BAe146-300.png(218KB)COS 均返回 200 —— 飞机在地图上可以正常显示和点击了 ✅
  2. 飞机实拍照片转 COSa5cc21e):b737/01.webpbae146/01.webp 从仓库移除改走 COS 完整 URL,实测两张均 200,仓库瘦身思路正确 ✅
  3. .gitignore 粘连:上轮提到的 sprite-cropper.htmlhand-drawn-map*.jpg 粘成一行,我已直接 push 修复(a8ca678),恢复两条独立规则 ✅

现在 PR 内容完整度很高:29 张精灵图 + 6 个热区全部就位,五个校门开放时间信息齐全,dev/prod 图片路径分离,测试断言同步更新。唯一小建议:scripts/upload-airplane-*.cjs 里的本地路径写死了 C:/Users/34774/Desktop/...,一次性脚本无伤大雅,后续可考虑改成命令行参数。

合并状态:与 main 无冲突、可合并,但这是地图核心交互改动,按惯例留给桂鱼实测确认后合。 @Cj-12111 辛苦!

📊 段位排名简介
段位 含义
👑 最强王者 顶级质量,完美无瑕
🌟 至尊星耀 非常出色,堪称范例
💎 永恒钻石 高质量,细节到位
🥇 荣耀黄金 描述完整,质量不错
🥈 秩序白银 基本清晰,可以正常处理
🥉 倔强青铜 初具雏形,仍需补充
❓ 未定级 信息不足,尚无法评估

programmingWTF and others added 3 commits August 6, 2026 20:40
上次合并 main 时 sprite-cropper.html 与 hand-drawn-map*.jpg 两行粘成了一行,
导致 sprites/hand-drawn-map*.jpg 这一忽略规则实际失效(多了一行无效路径)。
拆开恢复原有两条规则。
@programmingWTF
programmingWTF merged commit ddcc53d into main Aug 6, 2026
1 check passed
@programmingWTF
programmingWTF deleted the convert/hand-drawn-map-final branch August 6, 2026 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants