|
|
4 дней назад | |
|---|---|---|
| .gitignore | 4 дней назад | |
| README.md | 4 дней назад |
单一 Vue 项目,按角色分包:
teacher/student/parent三端共享shared/(身份/登录态、通用组件、接口封装)。本文档描述工程结构约定;接口契约见../unified/、../academic/05-architecture/、../teaching/05-architecture/。
一个移动端仓服务三个角色端:
| 端 | 主要场景 | 主要域 |
|---|---|---|
| 老师端 | 打卡、查看/批改练习、备课查看 | 教务(打卡)+ 教学(练习/备课) |
| 学生端 | 做题、查看练习记录与分析 | 教学 |
| 家长端 | 绑定孩子、查看孩子练习/费用 | 教务(bindchild 绑定、费用)+ 教学(练习) |
三端底层用户统一(canonical_user_id + 7 角色),故共用 shared/ 的 SSO 接入与登录态,仅按角色分包差异视图。
| 关注点 | 选型 | 依据 |
|---|---|---|
| 框架 | Vue 3 + TypeScript + Vite | 与 PC 端同栈,组件/工具可复用 |
| UI | 移动端 UI 组件库(Vant 系,落地时定) | 移动交互 |
| 状态 | Pinia | 登录态 / 角色 / institution·campus 作用域 |
| 接口封装 | 统一 {code, data, message} 信封 |
以教学 code 体系为基线(对齐清单 §2) |
| 鉴权 | SSO(OIDC)token;家长端走微信 per-campus 授权 | 统一 identity 签发;教务微信免登收敛 |
frontend-mobile/
├── README.md ← 本文件
└── src/
├── shared/ # 三端共享
│ ├── identity/ # SSO 接入:token 存取、刷新/吊销、微信授权(per-campus appid)
│ ├── components/ # 通用组件(作用域感知、列表、表单)
│ └── api/ # 接口封装:统一信封 + 错误码;按域分子目录
├── teacher/ # 老师端:views/ + 路由
├── student/ # 学生端:views/ + 路由
└── parent/ # 家长端:views/ + 路由
shared/identity;三端不得各自实现登录(对齐"底层用户统一")。bindchild 为事实源(对齐清单 §6):家长端进入时按绑定关系拉取孩子数据。views/),但共用 shared/components 与 shared/api;角色差异用权限码判断,不写 role == N 硬编码。shared/api/,三端 views 内不散写请求。shared"模式;shared/identity(SSO 接入、token 存取/刷新/吊销)三端共用一份。code」,判成功读 code===200、错误文案读 data.msg。../frontend-pc 共用 shared(types/http/色板/列表规范);移植清单见 ../unified/00-planning/experience-impact-analysis.md §4。../academic/05-architecture/ 与 ../teaching/05-architecture/;学生端契约兼容基线见 ../unified/00-planning/cross-system-reconciliation.md §5。