Files
frontend-miniapp/docs/UX/ux-ui-audit-2026-05-28.md

33 KiB
Raw Blame History

frontend-miniapp 用户体验与界面审查报告

日期2026-05-28
分支:analysis/ux-ui-audit-2026-05-28
项目范围:museum-guide-v4.0/frontend-miniapp
审查对象uni-app / Vue 3 小程序与 H5 导览前端,包括地图、讲解、搜索、详情页、路线、设施、音频和 3D 地图模块。

1. 执行摘要

1.1 总体判断

当前项目已经具备“导览原型”的主要界面部件2D 腾讯地图、Three.js 3D 室内地图、顶部导览/讲解切换、搜索框、设施筛选、讲解抽屉、音频播放器、展品/展厅/设施/路线详情页。

但从真实到馆任务看,它还没有形成可完整测试的用户体验闭环。最关键的问题不是视觉细节,而是入口、数据、状态和操作结果之间没有打通:

  • 用户能看到搜索框,但搜索结果体系分散且首页搜索只 console.log
  • 用户能点击地图点位,但 TencentMap.vue 同时触发底部详情浮层和页面跳转。
  • 用户能看到路线详情页,但没有路线入口,“开始导览”只是 uni.navigateBack()
  • 用户能看到音频按钮,但不同入口各自维护状态,且首页回退到 https://example.com/audio.mp3
  • 用户能进入 3D 地图,但首页传入空 POI 数组,ThreeMap.vue 不会回退默认点位。
  • 项目标题是深圳自然博物馆,但核心数据仍是“蒙娜丽莎”“星空”“经典艺术之旅”等艺术馆 mock 内容。
  • 无障碍语义、键盘焦点、读屏标签和颜色对比度基础不足。

1.2 最高优先级建议

优先级 关键发现 用户影响 建议
P0 pages.jsontabBar.list 为空,BottomTabBar 未接入 用户找不到路线、服务、我的等一级任务 重建一级导航:地图、讲解、路线、服务、我的
P0 地图 marker 点击既打开浮层又跳详情页 用户还没选择行动就被带离地图 marker 点击只打开浮层,按钮再触发详情/导航/音频
P0 AreaSelector emit 与首页监听不匹配 设施筛选无法稳定驱动地图 统一为 change(typeId) 并过滤地图/列表
P0 搜索、路线、音频、收藏大量占位 用户测试会卡在功能断点 先完成可测试闭环,再做视觉精修
P0 自然馆数据缺失,艺术馆 mock 混入 用户画像和任务无法真实验证 替换自然博物馆 seed data
P0 无障碍和色彩基础不足 老年、低视力、视障用户不可用 建立语义按钮、图标标签、高对比 token
P1 视觉层级和底部浮层互相竞争 地图、抽屉、播放器会遮挡 定义 z-index 和底部避让规则
P2 竞品已具备路线、音频、多语言、无障碍、AR/AI/客流 功能广度落后 分阶段补齐官方导览生态能力

1.3 推荐实施策略

不要先大面积重做视觉。建议用三条竖切片把产品打通:

  1. 设施导航:搜索/筛选卫生间或电梯,地图定位,点击“到这里”,出现路线状态。
  2. 展品讲解:搜索“恐龙/化石”,进入展品详情,播放真实音频,播放器跨页保留。
  3. 推荐路线:从一级入口进入路线列表,选择亲子/镇馆/无障碍路线,点击开始后回到地图。

这三条链路打通后,再开展第一轮真实用户测试。

2. 审查方法与证据范围

2.1 本地源码审查

重点审查文件:

模块 文件
路由与导航 src/pages.jsonsrc/pages/index/index.vuesrc/components/navigation/TopTabBar.vuesrc/components/navigation/BottomTabBar.vue
地图 src/components/map/TencentMap.vuesrc/components/map/ThreeMap.vuesrc/components/map/MarkerDetailSheet.vuesrc/services/map/Map3DManager.ts
搜索 src/components/search/SearchBar.vuesrc/components/search/SearchPanel.vuesrc/pages/search/index.vuesrc/utils/search.ts
讲解与音频 src/components/explain/ExplainList.vuesrc/components/audio/AudioPlayer.vuesrc/components/audio/FloatingAudioButton.vue
详情页 src/pages/exhibit/detail.vuesrc/pages/hall/detail.vuesrc/pages/facility/detail.vuesrc/pages/route/detail.vue
数据 src/assets/data/exhibits.jsonhalls.jsonfacilities.jsonroutes.json
视觉 token src/App.vuesrc/styles/variables.scss

2.2 竞品资料来源

官方资料与页面:

3. 核心用户测试场景设计

3.1 用户画像 A首次访客

画像:

  • 年龄 20-45 岁。
  • 第一次到馆,对展馆楼层、展厅名称和服务设施不了解。
  • 目标是“快速开始参观,不迷路”。

关键任务 A1找到目标展品或展区。

项目 内容
任务 打开小程序,搜索或浏览“恐龙/化石/生命演化”相关内容,进入一个展品详情
成功标准 3 分钟内找到目标;不超过 2 次误点;能说出展品所在楼层/展厅
预期行为 先找搜索框或地图点位,然后进入详情,最后返回地图继续参观
当前风险 首页搜索只日志输出;数据仍是艺术馆 mock详情页没有真实加载 id 数据

关键任务 A2从地图点位了解“我点到的是什么”。

项目 内容
任务 点击地图上的一个展厅/展品点位,查看信息后选择“查看详情”
成功标准 点击 marker 后停留在地图,浮层信息清晰;用户自主选择下一步
预期行为 点位先展开底部 sheet再选择导航、详情、讲解或收藏
当前风险 TencentMap.vue 点击 marker 后同时 emit 和 navigateTo,流程冲突

关键任务 A3找到出口或服务台。

项目 内容
任务 在首页找到“出口/服务中心”,点击开始导航
成功标准 45 秒内找到;导航状态明确;能返回地图
预期行为 用户会找“服务”“设施”“地图上的按钮”
当前风险 设施入口隐藏在横向标签中;导航动作多为 toast 或 navigateBack()

3.2 用户画像 B家庭游客

画像:

  • 家长带 6-12 岁儿童。
  • 注意力分散,需要短平快的路线和互动反馈。
  • 目标是找到孩子感兴趣的内容,减少走冤枉路。

关键任务 B1选择亲子路线。

项目 内容
任务 找到适合 60 分钟的亲子路线,查看站点并开始导览
成功标准 60 秒内发现路线入口;路线时长和站点可理解;开始后地图显示第一站
预期行为 用户优先找“路线”“推荐”“亲子”而不是手动搜索每个展品
当前风险 路线详情存在但无一级入口;route/detail.vue 开始导览只是返回

关键任务 B2播放儿童友好讲解。

项目 内容
任务 从讲解列表或展品详情播放一条适合儿童的音频
成功标准 音频 10 秒内开始;标题和当前展品对应;切页后播放器仍存在
预期行为 用户会点击耳机/播放图标,期望自动开始
当前风险 音频状态分散;无儿童标签;无真实音频 URL 时请求 example.com

关键任务 B3完成一个小任务或打卡。

项目 内容
任务 找到一个“寻宝/打卡/问答”互动入口并完成一项
成功标准 入口可发现;反馈明确;儿童能理解完成状态
预期行为 家庭用户会被“任务”“徽章”“找一找”吸引
当前风险 当前没有互动任务体系,上海自然博物馆 App 已提供寻宝游戏方向参考

3.3 用户画像 C资深爱好者

画像:

  • 自然科学爱好者、摄影/标本/古生物爱好者。
  • 愿意花 2-4 小时深度参观。
  • 目标是按主题系统浏览并收藏内容。

关键任务 C1按主题浏览展品。

项目 内容
任务 在讲解页按主题筛选,如古生物、矿物、生态、植物
成功标准 用户能理解主题分类;列表内容匹配主题;可进入详情
预期行为 从“讲解”或“路线”进入主题内容
当前风险 ExplainList.vue 的“按展厅/按主题”只切 activeFilter未真正重组数据

关键任务 C2收藏并形成个人清单。

项目 内容
任务 收藏 3 个展品,稍后从“我的”或收藏页找回
成功标准 收藏状态可见;刷新或切页后保留;能批量查看
预期行为 用户点击爱心后期待保存到个人清单
当前风险 收藏是组件局部状态,无持久化和“我的”入口

关键任务 C3在 3D 地图中理解空间关系。

项目 内容
任务 进入 3D 室内地图,查看某楼层展厅和点位关系
成功标准 5 秒内出现可用模型或骨架;有 POI可切换楼层
预期行为 用户会探索模型并点击点位
当前风险 首页传入空 poiList3D 默认点位不会出现3D 与路线/详情未连接

3.4 用户画像 D学生与研学团队

画像:

  • 中小学生、大学生或老师带队。
  • 有明确学习目标,需要时间管理、知识点和团队路线。
  • 目标是完成主题学习和记录。

关键任务 D1按研学主题规划路线。

项目 内容
任务 选择“生命演化 90 分钟”或“地球矿物 60 分钟”路线
成功标准 路线有学习目标、站点、预计时长;可开始导航
预期行为 老师会先看路线目标,再看站点顺序
当前风险 routes.json 是艺术路线,且路线没有地图状态

关键任务 D2获取展品详细信息。

项目 内容
任务 进入某展品详情,查看介绍、年代、位置、讲解
成功标准 关键信息首屏可见;说明适合学习记录;有引用或延伸知识
预期行为 学生会截图、收藏、返回列表继续看
当前风险 展品详情是固定 mock没有按 id 加载,内容和自然馆不匹配

关键任务 D3完成小组集合点导航。

项目 内容
任务 找到集合点、服务台或出口并导航
成功标准 30 秒内找到,地图反馈明确
预期行为 用户会搜索“出口/服务台/电梯”
当前风险 设施搜索和导航未闭环

3.5 用户画像 E老年与无障碍需求用户

画像:

  • 老年游客、低视力用户、视障用户、行动不便用户。
  • 对复杂手势和小图标不敏感或不可用。
  • 目标是独立完成找设施、听讲解、少走楼梯。

关键任务 E1找到无障碍电梯和卫生间。

项目 内容
任务 选择无障碍设施,找到电梯或无障碍卫生间
成功标准 读屏能读出入口;目标点击区域不小于 44px地图或列表明确反馈
预期行为 用户更依赖文字和清晰按钮,而不是图标猜测
当前风险 大量 emoji 和 view @tap;缺少 aria-label、focus、role

关键任务 E2使用语音讲解。

项目 内容
任务 进入展品详情或讲解页,播放、暂停、关闭音频
成功标准 读屏能读出播放状态;按钮可键盘触发;错误可理解
预期行为 用户需要稳定的“播放/暂停/关闭”文字反馈
当前风险 播放按钮缺少语义状态,进度条不可访问

关键任务 E3选择少楼梯路线。

项目 内容
任务 选择“无障碍优先”路线并开始导览
成功标准 路线避开楼梯;明确提示电梯、坡道、休息区
预期行为 用户会寻找“无障碍”“电梯优先”设置
当前风险 路线数据没有无障碍属性

4. UX 交互逻辑系统分析

4.1 信息架构

当前 IA 示意:

flowchart TD
  A["首页 pages/index"] --> B["顶部 TopTabBar"]
  B --> C["导览 guide"]
  B --> D["讲解 explain"]
  C --> E["地图 + 搜索 + 设施筛选"]
  C --> F["点位详情 sheet"]
  D --> G["讲解抽屉 + 搜索"]
  E --> H["展品/展厅/设施详情页"]
  G --> H
  H --> I["导航/收藏/音频占位动作"]
  J["路线详情页"] -. "无稳定入口" .-> A

问题:

问题 证据 影响 建议
一级导航缺失 pages.jsontabBar.list 为空;BottomTabBar.vue 未接入首页 用户只能看到“导览/讲解”,路线、服务、我的缺位 建立 5 个一级入口:地图、讲解、路线、服务、我的
路线入口过深或不存在 仅有 pages/route/detail.vue,无列表页和首页入口 时间敏感用户无法开始路线 新增 route/index 和首页/底部 tab 入口
内容分类不匹配 exhibits.jsonhalls.jsonroutes.json 是艺术馆内容 自然馆测试失真 替换自然科学 taxonomy 和 seed data
搜索 IA 重复 搜索页、SearchPanel、ExplainList 内各有 mock 数据 用户从不同入口得到不同结果 统一搜索服务和结果动作
服务信息缺位 没有开放时间、预约、票务、交通、临展、服务须知入口 到馆前/馆内服务链路断裂 新增服务页,整合官方服务能力

建议 IA

flowchart TD
  A["底部主导航"] --> M["地图"]
  A --> N["讲解"]
  A --> R["路线"]
  A --> S["服务"]
  A --> U["我的"]
  M --> M1["2D/3D 地图"]
  M --> M2["楼层/设施筛选"]
  M --> M3["点位详情"]
  N --> N1["按展厅"]
  N --> N2["按主题"]
  N --> N3["当前播放"]
  R --> R1["亲子路线"]
  R --> R2["镇馆路线"]
  R --> R3["无障碍路线"]
  S --> S1["开放时间/预约"]
  S --> S2["卫生间/电梯/出口"]
  U --> U1["收藏"]
  U --> U2["历史"]
  U --> U3["无障碍偏好"]

4.2 交互流程

关键断点示意:

flowchart LR
  A["点击地图点位"] --> B["父组件打开 MarkerDetailSheet"]
  A --> C["TencentMap 内部 navigateTo"]
  B --> D["用户本应选择行动"]
  C --> E["页面已跳走"]
  D -. "被中断" .-> E

主要问题:

流程 当前问题 建议
地图点位 TencentMap.vue marker 点击同时 emit 和跳页 marker 点击只打开 sheetsheet 按钮触发详情/导航
设施筛选 AreaSelector emits change,父组件监听 area-clickfloor-change 统一事件合约,筛选后更新地图点位和结果列表
3D 地图 poiList 空数组传入后不回退默认 POI 改为 props.pois?.length ? props.pois : defaultPOIs,再接真实数据
搜索 首页 handleSearch 只日志输出;搜索组件重复 mock 一套搜索服务,多入口复用
音频 详情页只切换 isPlaying;首页 fallback 到 example.com 统一音频 store禁用无音频项支持加载/错误/重试
路线 handleStartRoute 只是返回 设置导航状态,回地图展示路线进度
收藏 组件局部 ref无“我的” 持久化收藏,增加收藏入口

操作步骤数量评估:

任务 理想步骤 当前可能步骤 问题
找卫生间并导航 3服务/筛选 -> 选择卫生间 -> 到这里 5+,且可能无结果 入口、筛选、导航未闭环
播放展品讲解 2展品 -> 播放 3-5且可能是假 URL 音频状态分散
开始推荐路线 3路线 -> 选路线 -> 开始 无稳定入口 IA 缺口
查看点位详情 2点 marker -> 查看详情 1但被自动跳页 缺少确认和行动选择

4.3 认知负荷

负荷来源 表现 用户后果 改进
功能命名抽象 “导览/讲解”重叠 用户不确定去哪找路线、设施、音频 改为任务型一级导航
控件过多且叠加 顶部 tab、搜索、设施、楼层、地图按钮、抽屉、播放器 首屏决策复杂 分组并减少默认可见控件
状态不可见 收藏、路线、音频、筛选状态本地化 用户不知道操作是否生效 全局状态条和明确反馈
手势学习成本 抽屉拖拽、地图拖拽、浮层关闭同时存在 用户误触或不知道如何关闭 增加显性按钮,手势作为增强
图标语义不稳定 emoji 用于设施、导航、收藏 读屏和跨端展示不可控 SVG 图标 + 文字 label
内容可信度低 自然馆里出现艺术名作 用户信任下降 换真实自然馆内容

5. UI 展示逻辑审查

5.1 当前首页层级示意

┌──────────────────────────┐
│ 顶部 TopTabBar: 导览/讲解 │ z=1001
├──────────────────────────┤
│ 搜索栏                   │ z=1001
├──────────────────────────┤
│ 设施横向筛选             │ z=1001
│                          │
│        地图/3D模型        │ base
│        楼层按钮/定位按钮  │ map-control
│                          │
├──────────────────────────┤
│ Marker Sheet / 讲解抽屉   │ z=500 / 100
├──────────────────────────┤
│ 音频播放器               │ z=1000
└──────────────────────────┘

问题:顶部工具层和底部播放器层级接近,底部 sheet、讲解抽屉和音频条缺少互斥或避让规则。

5.2 视觉层次

问题:

  • 主任务入口不突出,顶部只有两个文字 tab缺少地图/路线/服务等核心任务权重。
  • 详情页 hero 固定 450px小屏首屏几乎只剩图片标题和位置下沉。
  • MarkerDetailSheet 的标题、位置、导航、音频、收藏都在 280px 内挤压。
  • 3D 地图加载态视觉强,但失败态和回退态弱。
  • 地图控件右侧堆叠,缺少任务分组。

建议:

  • 一级导航使用底部 tab 或平台原生 tab地图页内部再用 segmented control。
  • 展品详情首屏优先级:标题、展厅/楼层、播放、导航,再是大图。
  • 底部 sheet 两档:摘要态 180-240px全屏态承载详细信息。
  • 地图控件按“定位/缩放”“楼层”“模式”分区。

5.3 色彩系统

当前主色:

  • --museum-accent: #E0E100
  • --museum-poi-marker: #5ED0E4
  • 多处硬编码 #E0E100

对比度风险:

组合 对比度 结论
#E0E100 / 白色 约 1.41:1 不适合白底小图形、边框、细状态
#E0E100 / #262421 约 11.01:1 适合作为深色文字背景
#5ED0E4 / 白色 约 1.81:1 白底可见性不足
#999999 / 白色 约 2.85:1 不适合正文

问题:

  • 同一个黄色承担品牌、选中态、路径、地图建筑边界、音频、加载、按钮等过多语义。
  • 缺少功能色:成功、警告、错误、信息、拥挤度、无障碍。
  • 地图上浅色点位和浅色路径在复杂背景上不稳定。

建议:

  • 保留黄色作为品牌背景和大面积 CTA不作为白底细边框。
  • 增加语义色 token
    • --color-info: #1463D9
    • --color-success: #1B7F3A
    • --color-warning: #9A5B00
    • --color-danger: #C62828
    • --color-accessible: #005A9C
  • 地图点位采用深色底、白描边、类型图标和文字缩写。

5.4 空间布局

问题:

  • 大量固定高度:100vh450px hero、50vh 抽屉、46px 控件。
  • AreaSelector.vue 的展开面板 top: 100%,在 fixed overlay 内可能落在视口外。
  • 设施标签固定 68px长词如“无障碍设施”容易拥挤。
  • 抽屉和播放器都在底部,没有全局占位变量。

建议:

  • 详情图使用 height: min(42vh, 320px) 思路。
  • 抽屉使用 bottom: 0 和明确 max-height,不要依赖 top: 100%
  • 设施标签改为内容自适应,常用设施用快捷按钮。
  • 定义 --bottom-player-height,所有底部浮层避让。

5.5 响应式设计

风险:

视口 风险 建议验证
375x667 小屏 顶部 tab + 搜索 + 筛选占用地图过多 首屏是否还能看到当前位置和地图点位
390x844 常规手机 抽屉、播放器、marker sheet 互相遮挡 播放音频时打开 marker sheet
430x932 大屏手机 控件分散但仍偏移动端 检查底部操作区拇指可达
768x1024 平板 列表过窄,地图空旷 讲解列表可改侧栏
横屏 100vh 和底部栏遮挡严重 改为侧边工具栏或紧凑布局

建议:

  • 增加 H5 视觉回归,至少覆盖上述 5 个视口。
  • 平板/H5 使用地图 + 侧栏双栏布局。
  • 小屏默认折叠非必要筛选,仅保留搜索和“最近设施”。

5.6 无障碍性

问题:

  • 核心控件是 view @tapH5 下缺少 button 语义。
  • 未发现 aria-labelaria-liverole="dialog"aria-pressed
  • emoji 图标用于卫生间、收藏、导航、播放等核心功能。
  • 播放器进度条不可键盘操作,读屏无法知道当前时间。
  • 抽屉打开后没有焦点陷阱,背景地图仍可被误触。

建议:

  • 抽象 AppButtonIconButtonH5 输出语义 button小程序端映射为可点击 view。
  • 所有图标按钮必须具备文字 label 或 aria-label
  • 弹层用 role="dialog",关闭按钮明确,打开时聚焦标题或第一个操作。
  • 音频状态用 aria-live="polite"
  • 增加“大字/高对比/减少动画/无障碍路线优先”设置。

6. 竞品对比分析

6.1 竞品选择

本次选取 5 个官方移动端/数字导览生态:

  1. 故宫博物院“数字故宫”小程序与官方导览页。
  2. 上海自然博物馆 App/H5 楼层导览/虚拟漫游。
  3. British Museum Audio app。
  4. MoMA Audio + Bloomberg Connects digital guide。
  5. The Met Audio Guide / Digital Guide / interactive map。

6.2 核心功能差异

功能 当前项目 故宫 上海自然博物馆 British Museum MoMA The Met 我们缺失
一级导航 仅导览/讲解 导览、展览、探索、票务等 常设展览、参观服务等 Visit 下含 audio app/map/accessibility Visit 下含 map/audio/accessibility Plan Visit 下含 audio/map/accessibility 任务型主导航
官方路线 mock 路线,无入口 LBS 推荐路线、定制路线 App 提供参观路线 self-guided tours self-guided tours highlights / collection tours 路线入口和开始导览
地图 2D/3D 原型 精确路线、AR 实景导航 楼层导览 interactive map interactive museum map interactive map 地图与路线/服务打通
音频 组件存在,未闭环 官方语音讲解 实时学习/导览生态 250 highlights、65 gallery intros、多语言 分主题音频、kids、verbal descriptions 展览/藏品音频 playlists 真实音频、分类、多语言、儿童/无障碍版本
收藏 局部状态 未作为本次重点 未作为本次重点 favourites digital guide 支持探索内容 digital guide/audio guide 持久化收藏和“我的”
互动 AI 助手、AR 瑞兽 寻宝游戏、AR 展品复原 self-guided tours highlights / exhibitions featured tours 亲子任务、AR、AI
客流 舒适度指数 限流提示 无官方页面重点 无官方页面重点 访问计划信息 客流/拥挤度
无障碍 基础缺失 读屏、无障碍路线/设施 页面有基础服务App 未见完整无障碍描述 BSL、audio descriptive guide verbal descriptions accessibility guide 读屏、无障碍路线、描述音频
离线/预下载 未见明确离线 建议到馆前下载 App 建议到馆前下载 audio tours Bloomberg Connects app Digital guide/app store 到馆前下载/缓存策略

6.3 交互设计亮点

竞品 亮点 可借鉴点
故宫 将路线、语音讲解、AR 导航、舒适度指数、AI 助手、无障碍路线整合为到馆闭环 把“地图”升级为路线和服务中枢,不只是展示平面图
上海自然博物馆 楼层导览和虚拟漫游围绕自然科学主题,如起源之谜、生命长河、演化之道 当前项目应采用自然馆主题 taxonomy而不是通用展品列表
British Museum 音频 app 有多语言、主题 tour、250 件重点藏品、收藏、互动地图、BSL 和描述音频 音频应按主题、语言、人群和无障碍类型组织
MoMA Audio 页面按 collection、kids、verbal descriptions 等分组,并接入 Bloomberg Connects 讲解不只是列表,应有人群化入口,如儿童、描述音频、展览专题
The Met Plan Visit 聚合票务、地图、音频、无障碍、家庭访问Audio Guide 支持 stop number 和 playlists 到馆前信息和到馆中导览应在一条链路里

6.4 技术实现优势对比

方向 竞品优势 当前差距 建议
内容分发 British Museum / MoMA / The Met 使用成熟的音频和导览内容体系 当前音频 URL、内容分类、详情加载均未成熟 建立内容模型和 CMS/API 接口
定位与路线 故宫 LBS 路线和 AR 导航 当前路径是模拟,详情导航只返回 先做静态路线状态,再接真实室内定位
预下载 British Museum 建议到馆前下载音频 当前没有缓存策略 H5/小程序缓存地图、音频元数据、轻量图片
多语言 British Museum、The Met、MoMA 支持多语言或 Bloomberg Connects 多语言能力 当前只有中文 中期增加中英双语,长期多语言
无障碍 故宫、British Museum、MoMA、The Met 都有可访问内容或服务入口 当前语义和内容均缺失 建立 a11y 组件规范和无障碍路线数据
性能 竞品多数使用轻量列表/音频/地图3D 不作为首屏基础依赖 当前 3D GLB 可能成为性能风险 默认 2D3D 按需加载,低端机降级

6.5 按优先级的竞品借鉴建议

P0

  • 借鉴 The Met / MoMA 的“Visit/Map/Audio/Accessibility”任务入口重建主导航。
  • 借鉴 British Museum 的音频内容模型:主题 tour、重点对象、收藏、地图信息。
  • 借鉴上海自然博物馆的自然科学主题命名,替换艺术馆 mock。

P1

  • 借鉴故宫路线闭环:路线推荐、语音讲解、地图导航联动。
  • 借鉴 MoMA 的 kids / verbal descriptions 分组,建立儿童和无障碍讲解入口。
  • 借鉴 The Met 的计划访问页面,把开放时间、票务、地图、音频、无障碍聚合。

P2

  • 借鉴故宫舒适度指数,增加人工或实时客流状态。
  • 借鉴上海自然博物馆寻宝和 AR 展品复原,做亲子互动任务。
  • 借鉴故宫 AI 助手,但限制在官方知识库和地图数据内,避免编造。

7. 分阶段优化计划

7.1 短期1-2 周:可测试版本

目标:修复 P0 阻塞,让 5 类用户任务能被真实测试。

编号 改进项 涉及模块 工作量
S1 建立主导航:地图、讲解、路线、服务、我的 pages.json、导航组件、首页 3-5 人日
S2 修复 marker 点击冲突 TencentMap.vueMarkerDetailSheet.vue 1-2 人日
S3 修复设施筛选事件和展开面板 AreaSelector.vueindex.vue 2-3 人日
S4 统一搜索服务和结果动作 SearchPanelExplainListsearch/indexutils/search.ts 4-6 人日
S5 替换自然馆 seed data data JSON、详情页加载 3-5 人日
S6 统一音频播放器,去掉假 URL AudioPlayer、详情页、讲解列表 4-6 人日
S7 路线入口和开始导览闭环 路线列表、路线详情、地图状态 5-7 人日
S8 P0 无障碍和对比度修复 基础按钮、图标、色彩 token 4-6 人日

短期验收:

  • 5 个用户画像至少各 1 条任务可完整执行。
  • 地图点位、搜索、设施、音频、路线不再只停留在 toast 或 console。
  • 读屏能识别核心按钮。

7.2 中期3-6 周:体验一致性与内容体系

目标:降低认知负荷,提高导览效率,支撑第二轮用户测试。

编号 改进项 说明 工作量
M1 全局状态模型 地图、路线、音频、收藏、搜索历史 5-8 人日
M2 视觉层级和 z-index token 顶栏、地图控件、sheet、播放器、modal 2-3 人日
M3 响应式专项 小屏、常规手机、平板、横屏 5-7 人日
M4 内容分类体系 展厅、主题、展品、路线、设施 taxonomy 5-8 人日
M5 真实加载/空态/错误态 3D、音频、搜索、定位、路线 4-6 人日
M6 收藏和我的 收藏、历史、设置、无障碍偏好 4-6 人日
M7 多语言基础 中英字段、语言切换框架 5-8 人日

中期验收:

  • SUS 目标 75+。
  • 设施查找 30 秒内。
  • 搜索结果一致性 100%。
  • 关键视口无明显遮挡。

7.3 长期7-12 周:官方导览生态和差异化

目标:补齐竞品能力,形成 3D + 自然科学 + 亲子/研学差异化。

编号 改进项 说明 工作量
L1 服务与票务入口 开放时间、预约、票务、交通、临展 5-8 人日
L2 无障碍路线 电梯优先、少楼梯、休息区、无障碍卫生间 8-12 人日
L3 客流舒适度 先人工运营,后接实时数据 8-15 人日
L4 亲子寻宝/研学任务 打卡、问答、奖励、路线 10-15 人日
L5 3D 地图产品化 POI、路线、楼层剖切、性能降级 12-20 人日
L6 AR 展品复原 古生物/化石复原场景 15-30 人日
L7 AI 导览助手 官方知识库、路线推荐、服务问答 15-25 人日

长期验收:

  • 亲子路线、无障碍路线、深度主题路线均可测试。
  • 3D 不只是模型展示,而能完成找展品/找设施/走路线。
  • AI 回答有来源边界,不编造展品和场馆信息。

8. 工作量与资源需求

8.1 角色配置

阶段 前端 UX/UI 内容/策展 后端/API 3D/图形 QA 备注
短期 1-2 人 0.5 人 0.5 人 0-0.5 人 0.2 人 0.5 人 以本地 seed data 为主
中期 1-2 人 1 人 1 人 0.5-1 人 0.5 人 0.5-1 人 建立状态、内容和响应式体系
长期 2 人 1 人 1-2 人 1-2 人 1 人 1 人 涉及客流、AR、AI、3D 性能

8.2 粗略工期

阶段 工期 人日估算
短期 P0 1-2 周 26-40 人日
中期 P1 3-6 周 30-46 人日
长期 P2/P3 7-12 周 73-125 人日

8.3 关键依赖

  • 自然馆真实内容 taxonomy 和 seed data。
  • 展厅、展品、设施、路线的统一 ID。
  • 音频资源和版权状态。
  • 室内点位坐标和无障碍设施数据。
  • 是否接入实时客流、定位、AR 或 AI 后端服务。

9. 用户测试计划

9.1 测试轮次

轮次 时间点 样本 目标
第 1 轮 短期 P0 完成后 8-10 人 验证核心任务是否可执行
第 2 轮 中期 P1 完成后 15-20 人 验证 IA、响应式、无障碍基础
第 3 轮 长期能力上线后 25+ 人 验证亲子、研学、无障碍和 3D 差异化

9.2 指标

指标 P0 目标 P1 目标 P2/P3 目标
核心任务完成率 80% 90% 95%
找设施用时 45 秒内 30 秒内 20 秒内
路线入口发现率 70% 90% 95%
音频播放成功率 90% 95% 98%
SUS 68+ 75+ 80+
读屏核心按钮可识别率 80% 95% 98%

10. 结论

当前项目最需要的不是再增加一个视觉模块,而是把已经存在的部件连接成真实任务:

  1. 信息架构从“导览/讲解”改为“地图/讲解/路线/服务/我的”。
  2. 地图点位先确认,再由用户选择导航、详情、音频或收藏。
  3. 搜索、音频、路线、收藏都要统一状态和统一数据源。
  4. 先替换自然博物馆内容,再做用户测试。
  5. 先满足老年、儿童、首次访客的基础可用性,再上 AR、AI、客流、3D 深化。

建议下一步直接以“设施导航”和“展品讲解”两条竖切片启动 P0实现后用 8-10 名用户做第一轮可用性测试。