# zxyj-frontend uni-app 微信小程序前端,Vue 2 语法,家庭教育任务管理。 ## WHERE TO LOOK | Task | Location | Notes | |------|----------|-------| | 页面组件 | `pages/*/` | login, index, tasks, rewards, profile, guide, games等 | | 页面注册 | `pages.json` | TabBar配置和页面路径 | | 应用配置 | `manifest.json` | AppID: `wx5ba8038ef16fb245` | | 全局样式 | `uni.scss` | SCSS变量和全局样式 | | 应用入口 | `App.vue` | 全局生命周期和配置 | | 组件库 | `components/` | 地址选择器、任务卡片等可复用组件 | | API配置 | `config/` | baseUrl和请求封装 | ## STRUCTURE ``` pages/ ├── index/ # 首页(角色分流) ├── login/ # 登录页 ├── tasks/ # 任务管理 ├── rewards/ # 心愿单 ├── profile/ # 个人中心 ├── guide/ # 成长规划师功能 ├── games/ # 小游戏 └── parent/ # 家长专属功能 ``` ## TabBar 配置 pages.json 中定义 5 个 TabBar 页面(TabBar 文案,非五维维度名): - 首页: `pages/index/index` - 角色分流入口 - 身: `pages/body/index` - 身体健康维度 - 智: `pages/wisdom/index` - 智慧维度(心智测评) - 心: `pages/mind/index` - 心理/情感维度 - 我的: `pages/profile/profile` - 个人设置和积分 ## CONVENTIONS - **Vue 2:** 使用 Options API,生命周期 `onLoad`、`onShow` - **页面注册:** 新页面必须在 `pages.json` 中注册 - **导航:** 使用 `uni.navigateTo`、`uni.redirectTo` - **API 调用:** 使用 `uni.request`,统一在 `config.baseUrl` - **地址选择:** 使用 `components/address-picker.vue` 四级联动组件 - **角色切换:** 页面根据用户角色显示不同内容 ## ANTI-PATTERNS - **DO NOT** 创建页面后忘记在 `pages.json` 注册 - **DO NOT** 硬编码 API 地址,使用 `config.baseUrl` - **DO NOT** 在前端存储敏感信息 (密码、密钥) - **NEVER** 跳过 JWT 认证直接调用需登录接口 - **NEVER** 在本地存储中保存敏感用户信息 - **NEVER** 在 WXML/Vue 模板中使用可选链 `?.`,微信小程序不支持 → 使用 `&&` 代替(如 `currentWish?.title` 改为 `currentWish && currentWish.title`) - **NEVER** 在 `:class` 绑定中调用方法(如 `:class="getStatusClass(item)"`),微信小程序模板编译器不支持带参数的方法调用 → 改用内联表达式(如 `:class="'status-' + item.status"`)或计算属性 ## UNIQUE FEATURES - 地址匹配页面: `pages/match/street-match.vue` - 街道地址匹配功能 - 地址编辑页面: `pages/family/address-edit.vue` - 家庭地址管理 - 四级地址选择: `components/address-picker.vue` - 省市区街道联动 - 双角色界面: 根据用户角色(parent/child)显示不同UI ## COMMANDS ```bash npm install # 安装依赖 npm run dev:mp-weixin # 开发模式 (微信小程序) npm run build:mp-weixin # 构建生产版本 ``` ## NOTES - 小程序AppID: `wx5ba8038ef16fb245` - 后端API地址: 配置在 `config/index.js` 的 `baseUrl` - 地址数据: 使用后端街道API获取四级地址数据 - 调试工具: 微信开发者工具需配置合法域名