finance和marking v3 移动前端

Q f30f6486a7 docs: 初始化移动端前端仓库(工程约定 README + .gitignore 占位) 4 дней назад
.gitignore f30f6486a7 docs: 初始化移动端前端仓库(工程约定 README + .gitignore 占位) 4 дней назад
README.md f30f6486a7 docs: 初始化移动端前端仓库(工程约定 README + .gitignore 占位) 4 дней назад

README.md

移动端前端(老师 / 学生 / 家长)

单一 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/ + 路由

结构铁律

  1. 登录态/SSO 只有一份,放 shared/identity;三端不得各自实现登录(对齐"底层用户统一")。
  2. 家长↔学生绑定以教务侧 bindchild 为事实源(对齐清单 §6):家长端进入时按绑定关系拉取孩子数据。
  3. 三端路由独立(各自 views/),但共用 shared/components 与 shared/api;角色差异用权限码判断,不写 role == N 硬编码。
  4. 接口调用只经 shared/api/,三端 views 内不散写请求。

可复用资产(源自教务 Go 重构实战)

  • 三端复用:与教务重构一致采用"移动教师/移动家长 Vant + 共享 shared"模式;shared/identity(SSO 接入、token 存取/刷新/吊销)三端共用一份。
  • locale:Vant4 默认中文,不动;如混用 Element Plus 组件需命令式+声明式双注入。
  • 响应封装:统一「HTTP 恒 200 + body code」,判成功读 code===200、错误文案读 data.msg。
  • 建议 pnpm monorepo 与 ../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。