DOO 移动端
DOO 移动端
基于 uni-app (Vue 3) 构建,22 个页面,5 个 Tab。
技术参数
| 项目 | 说明 |
|---|---|
| 框架 | uni-app (Vue 3) |
| AppID | __UNI__F3BE11F |
| 版本 | 1.1.3 (build 502) |
| 编译工具 | HBuilderX 3.2.0+ |
| 样式 | SCSS + uni.scss |
| 状态管理 | Vuex (2 模块: user + recommendation) |
| 存储 | uni.setStorageSync / uni.getStorageSync |
| 网络 | uni.request / uni.uploadFile |
| 组件 | 10 个 (含 7 个功能模块组件) |
Tab Bar (5 个 Tab)
| Tab | 页面路径 | 功能 |
|---|---|---|
| 首页 | pages/tabbar/tabbar-1 |
轮播图 Banner + 图片瀑布流推荐,预加载 Tab 2/3 |
| 用户 | pages/tabbar/tabbar-2 |
用户发现列表(头像/昵称/关注数/粉丝数),点击跳转主页 |
| 发布 | pages/tabbar/tabbar-3 |
底部弹出菜单:发图片 / 发视频 / 写文章 |
| 消息 | pages/tabbar/tabbar-4 |
消息列表(会话分组 + 未读数) |
| 我 | pages/tabbar/tabbar-5 |
个人中心:资料卡、内容统计(帖子/图片/收藏/文章)、设置入口 |
全部页面 (22 个)
认证模块
| 页面 | 路径 | 功能 |
|——|——|——|
| 登录 | pages/auth/login | 登录/注册双模式,已登录自动跳转,localStorage 存储 |
| 修改密码 | pages/auth/change-password | 旧密码 + 新密码 + 确认,自定义导航栏 |
内容模块
| 页面 | 路径 | 功能 |
|——|——|——|
| 内容详情 | pages/content/card-detail | 通过 eventChannel 接收数据,大图浏览 |
| 消息详情 | pages/content/message-detail | 1v1 聊天对话页面 |
| 公告详情 | pages/content/announcement-detail | Markdown 公告展示 |
| 文章详情 | pages/content/article-detail | 文章阅读页面 |
用户模块
| 页面 | 路径 | 功能 |
|——|——|——|
| 编辑资料 | pages/user/edit-profile | 头像/背景上传、昵称、性别、生日、地区、简介 |
| 设置 | pages/user/settings | 修改密码入口、退出登录 |
| 用户主页 | pages/user/user-profile | 用户资料卡 + 内容列表 |
| 我的帖子 | pages/user/my-posts | 当前用户发布的内容列表 |
| 我的图片 | pages/user/my-images | 当前用户上传的图片列表 |
| 我的收藏 | pages/user/my-favorites | 收藏的图片列表 |
| 我的文章 | pages/user/my-articles | 当前用户发布的文章列表 |
| 我的问答 | pages/user/my-questions | 问答内容列表 |
信息模块
| 页面 | 路径 | 功能 |
|——|——|——|
| 关于我们 | pages/info/about-us | 应用介绍 |
| 系统设置 | pages/info/system-settings | 缓存清理、检查更新 |
| 隐私政策 | pages/info/privacy-policy | 法律文本 |
| 用户协议 | pages/info/user-agreement | 法律文本 |
| 使用文档 | pages/info/documentation | 帮助文档 |
| 抖音热搜 | pages/hot/douyin-hot | 爬虫数据展示 |
自定义导航栏
以下页面使用 navigationStyle: custom:
全部 22 个页面中除 settings 外均使用自定义导航栏。
Vuex Store
user 模块
- 用户登录状态管理
- Token + 用户信息存储
- 登录/登出/注册 actions
recommendation 模块
- 推荐内容缓存
- 推荐算法标识
- A/B 测试 ID 追踪
- 推荐点击上报
组件库 (10 个)
| 组件 | 路径 | 功能 |
|---|---|---|
| image-lazy | components/image-lazy |
图片懒加载 |
| skeleton | components/skeleton |
骨架屏占位 |
| carousel | components/modules/carousel |
轮播图组件 |
| form-validator | components/modules/form-validator |
表单验证 |
| image-waterfall | components/modules/image-waterfall |
图片瀑布流布局 |
| modal | components/modules/modal |
通用模态框 |
| nav-bar | components/modules/nav-bar |
自定义导航栏 |
| recommend-card | components/modules/recommend-card |
推荐内容卡片 |
| user-card | components/modules/user-card |
用户卡片 |
API 地址配置
前端 API 地址硬编码在各 Vue 页面和组件中。部署前需批量替换:
开发:http://192.168.1.12/DOO/server/api/
生产:http://139.196.185.197:7070/doo/server/api/
涉及所有 pages/ 下 .vue 文件、components 中的组件、admin-web/script.js。
Tab Bar 样式
- 背景:白色 (#ffffff)
- 文字色:黑色 (#000000)
- 选中色:黑色
- 5 个 Tab 各有独立图标(常态/选中态 PNG)
编译部署
原生 App (iOS/Android)
- HBuilderX 打开项目根目录
- 配置 manifest.json(AppID、图标、启动图、权限)
- 「发行」→「原生 App 云打包」
- 配置签名证书
- 提交云端打包
已编译 APK:unpackage/cache/apk/__UNI__F3BE11F_cm.apk
H5 网页版
HBuilderX → 发行 → 网站-H5 手机版
输出到 unpackage/dist/build/h5/。
微信小程序
- manifest.json 配置微信小程序 AppID
- HBuilderX → 发行 → 小程序-微信
- 微信开发者工具打开 dist 目录上传
权限配置 (Android)
应用请求的 Android 权限包括:网络状态、WiFi 状态、相机、闪光灯、读取手机状态、写入设置、挂载文件系统等。
静态资源
static/
├── logo.png
├── logoo.png
├── 42FB82841F6A65D8BA8FCC4EEFCA43DD.png # 启动图
├── css/
│ └── global.css
└── img/
├── tabbar/ # Tab 图标 (10 个 PNG)
│ ├── home.png / homeactive.png
│ ├── guanzhu.png / guanzhuactive.png
│ ├── add.png / addactive.png
│ ├── news.png / newsactive.png
│ └── me.png / meactive.png
├── release.png
├── video.png
└── qa.png
FTP 自动部署
项目包含 4 个 PowerShell 脚本用于 FTP 自动上传:
auto-ftp-upload.ps1ftp-upload-optimized.ps1ftp-upload-english.ps1simple-ftp-upload.ps1
配置存储在 ftp-config.json,缓存记录在 ftp-upload-cache.json。