Blame view

稻城亚丁小程序/功能清单.md 4.5 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  # 稻城亚丁小程序 · 功能清单
  
  > 技术栈:UniApp(Vue 3)。目录内 `uniapp` 与 `uniapp_副本` 为同源结构,功能一致时可视为同一套代码的备份。
  
  ## 全局与导航
  
  - 应用名:稻城亚丁;全局导航栏样式见 `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*