功能清单.md 4.5 KB

稻城亚丁小程序 · 功能清单

技术栈:UniApp(Vue 3)。目录内 uniappuniapp_副本 为同源结构,功能一致时可视为同一套代码的备份。

全局与导航

  • 应用名:稻城亚丁;全局导航栏样式见 pages.json
  • 底部 Tab:首页上传我的(自定义 ImageTabBar + 隐藏原生 Tab 的配合逻辑)。
  • 二级页:我的作品、个人资料、作品详情、景点地图、管理后台。

首页 pages/home/home

  • 顶部轮播 Banner(多图、标题/副标题)。
  • 搜索:按关键词过滤作品(文案匹配作品、地点等)。
  • 筛选FilterBar
    • 时间:全部 / 今天 / 本周 / 本月 / 今年
    • 作品类别:多选(雪山、湖泊、草甸、寺庙、藏文化等)
    • 点赞量:不限 / 从高到低 / 从低到高
  • 筛选面板展开时锁定页面滚动(page-meta + H5 overflow 兜底)。
  • 下拉刷新:重置搜索与筛选条件,并收起筛选面板。
  • 星空集:瀑布流展示作品卡片(PhotoCard)。
  • 星空榜:按获赞排序的榜单(不受筛选中「点赞量」选项影响)。
  • 卡片:展示地点角标、标签、作者、点赞;点击进入作品详情;卡片内可点赞。

上传 pages/upload/upload

  • 作品图片:最多 9 张,相册或相机,可删除单张。
  • 作品标题(必填,限 10 字)。
  • 作品描述(必填,限 100 字,带字数统计)。
  • 作品类别(必填,多选):雪山、湖泊、草甸、寺庙、藏文化、其他。
  • 拍摄日期(选填,日期选择器)。
  • 提示:发布后进入审核流程。
  • 提交校验通过后 Toast,并切换到「我的」Tab。

我的 pages/user/user

  • 顶部个人区域:背景图、头像(或昵称首字)、昵称、简介文案。
  • 统计:作品数获赞数
  • Tab1 我的作品:网格缩略图、审核状态(已通过 / 审核中)、已通过作品显示赞数;「查看更多」进入我的作品列表页。
  • Tab2 电子证书:证书列表展示(演示数据)。
  • 下载证书:条件解锁(10 张作品 + 100 赞);解锁后可打开证书弹窗并下载。
  • 下载攻略:条件解锁(5 张作品);解锁后可预览地图类攻略并下载。
  • 我的资料:跳转个人资料编辑页。

我的作品 pages/my-works/my-works

  • 列表:封面、标题、地点、发布时间、审核状态、赞数(已通过时)。
  • 点击条目进入 作品详情
  • 无作品时空状态引导去上传。

个人资料 pages/user-profile/user-profile

  • 编辑:头像名字简介性别
  • 弹窗表单编辑名字 / 简介等。
  • 数据持久化:utils/userProfileStorage.ts(本地存储)。

作品详情 pages/photo-detail/photo-detail

  • 大图、作者信息、发布日期。
  • 点赞(作者行右侧,带点赞数)。
  • 标题、标签、正文描述、拍摄地点。
  • EXIF:相机、镜头、拍摄参数(演示/构造数据)。
  • 分享:小程序分享能力(onShareAppMessage)。
  • 自定义顶栏:返回、分享。

景点地图 pages/map/map

  • 静态景区示意图 + 拍摄点 锚点(显示该点作品数量)。
  • 选中锚点:底部/叠加信息卡片(缩略图、名称、说明、作品数、「查看」回首页逻辑)。
  • 热门拍摄地点列表:与地图联动选中,含经纬度展示。
  • 说明:页面已在 pages.json 注册;若需入口,需在其它页配置 navigateTo

管理后台 pages/admin/admin

  • 统计:待审核数量、已通过数量、总浏览(演示)。
  • Tab 待审核:列表展示待审作品,通过 / 拒绝
  • Tab 已通过:列表展示;上移 / 下移 排序;推荐开关。
  • 使用本地图与 Mock 数据结构。

组件与工具(摘要)

路径 作用
components/FilterBar.vue 筛选触发器、遮罩、面板与条件汇总
components/PhotoCard.vue 作品卡片、点赞、进详情
components/ImageTabBar.vue 自定义底部 Tab
utils/filterApply.ts / types/filter.ts 筛选状态与应用逻辑
utils/filterLabels.ts 筛选文案
data/gallery.ts / data/userWorks.ts / data/photo-detail.ts 演示数据
composables/useHideNativeTabBar.ts 隐藏原生 TabBar

导出日期:2026-04-02