feat: 小程序连接服务器IP + 同步未提交开发
- miniprogram/config.js: BASE_URL 指向 http://192.227.237.8:3001 - 动作标题中文化(nameZh),搜索匹配 name/nameZh/nameEn - 新增计划/收藏/我的 等页面与组件 - 后端 Docker 化(Dockerfile/.dockerignore)与翻译脚本 - .gitignore 补充 .DS_Store
This commit is contained in:
@@ -24,24 +24,37 @@ module.exports = { BASE_URL: 'http://localhost:3000' };
|
||||
## 页面
|
||||
| 页面 | 文件 | 说明 |
|
||||
|------|------|------|
|
||||
| 首页 | `pages/index` | Hero + 快捷入口 + 精选轮播 + 训练组合 + 按部位/器械浏览 |
|
||||
| 首页 | `pages/index` | Hero + 快捷入口 + 精选轮播 + 官方计划分级入口 + 按部位/器械浏览 |
|
||||
| 分类浏览 | `pages/category` | 按 dimension(bodyPart/equipment/target/type/muscleGroup) 筛选列表 |
|
||||
| 智能推荐 | `pages/recommend` | 选目标肌群(按部位分组)+ 可选器械 → 评分排序结果 |
|
||||
| 动作详情 | `pages/detail` | GIF + 中文步骤 + 主要/协同肌群 + 相关推荐 + 分享 |
|
||||
| 训练组合 | `pages/collection` | 组合列表(推/拉/腿/核心/上肢/全身/居家/有氧) |
|
||||
| 组合详情 | `pages/collection-detail` | 某组合下的动作 |
|
||||
| 搜索 | `pages/search` | 名称/部位/器械/目标模糊搜索 |
|
||||
| 动作详情 | `pages/detail` | GIF + 中文步骤 + 主要/协同肌群 + 收藏按钮 + 加入计划 + 相关推荐 + 分享 |
|
||||
| 官方计划 | `pages/collection` | 按水平分级(新手/进阶/高级/全阶段)的官方推荐计划列表 |
|
||||
| 计划详情 | `pages/collection-detail` | 官方计划动作列表 + 收藏/一键导入我的计划 |
|
||||
| 搜索 | `pages/search` | 模糊搜索;`mode=select` 时用于向计划添加动作 |
|
||||
| **我的** | `pages/profile` | 个人中心:登录态、资料编辑、收藏/计划统计、菜单入口 |
|
||||
| **收藏动作** | `pages/favorites` | 我收藏的动作,可管理移除 |
|
||||
| **我的计划** | `pages/my-plans` | 计划列表,新建/进入 |
|
||||
| **编辑计划** | `pages/plan-edit` | 新建/编辑计划(名称/描述/图标/主题色) |
|
||||
| **计划详情** | `pages/plan-detail` | 我的计划动作管理(增删/编辑/删除) |
|
||||
| **收藏计划** | `pages/plan-favorites` | 我收藏的官方计划 |
|
||||
|
||||
## 用户体系
|
||||
- **登录**:`utils/auth.js` 封装 `wx.login → POST /api/auth/login`;后端未配 `WX_APPID` 时走开发降级(任意 code 建号)。登录态存于 `wx.storage`(`access_token`/`openid`/`user_profile`)。
|
||||
- **自动重登**:`utils/request.js` 在收到 401 时调用注册的 `unauthorizedHandler` 重新登录并重试一次原请求,页面无需感知。
|
||||
- **个人中心** `pages/profile`:未登录显示登录卡片;已登录显示头像/昵称/统计/菜单,支持改昵称与 emoji 头像、退出登录。
|
||||
- **收藏**:动作收藏(详情页心形)、官方计划收藏(计划详情页)。
|
||||
- **计划**:可新建/编辑计划、向计划添加或移除动作(搜索页 `select` 模式)、从官方计划一键导入为个人副本。
|
||||
|
||||
## 组件
|
||||
`exercise-card`(动作卡)、`section-header`(分区标题)、`chip`(筛选标签)、
|
||||
`navbar`(自定义导航栏,处理状态栏高度)、`bottom-nav`(底部导航)。
|
||||
`navbar`(自定义导航栏,处理状态栏高度)、`bottom-nav`(底部导航:首页/分类/我的)、
|
||||
`level-tag`(难度等级标签)、`avatar`(emoji 头像)、`plan-card`(计划卡)。
|
||||
|
||||
## 接口映射
|
||||
`services/exercise.js` 直接映射后端 7 类接口(`listExercises` / `getExercise` /
|
||||
`getCategories` / `recommend` / `listCollections` / `getCollectionExercises` /
|
||||
`search` / `getStats`),字段与后端响应一一对应。
|
||||
- `services/exercise.js`:列表/详情/分类/推荐/官方计划/搜索/统计。
|
||||
- `services/user.js`、`services/favorite.js`、`services/plan.js`:用户资料、收藏、计划,字段与后端响应一一对应。
|
||||
|
||||
## 注意事项
|
||||
- 小程序 `<image>` 支持 GIF,动作演示直接使用 `gifUrl`。
|
||||
- 所有请求经 `utils/request.js` 单点封装,失败统一 toast。
|
||||
- 所有请求经 `utils/request.js` 单点封装,自动带 `Authorization` 头、失败统一 toast。
|
||||
- 包体保持精简:主包仅含页面与组件,无大体积本地资源。
|
||||
|
||||
Reference in New Issue
Block a user