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*
|