docs: 添加H5前端同步变更记录(附录C)

- 注册流程简化
- 教育身份改为数组
- 基础数据前端缓存策略
This commit is contained in:
神码-方晓辉 2026-02-03 17:56:38 +08:00
parent 8ba5e3e174
commit d543b868b1
1 changed files with 93 additions and 0 deletions

View File

@ -723,3 +723,96 @@ ALTER TABLE pg_student DROP COLUMN member_id;
变更前:会员 --1:N--> 学生(通过 pg_student.member_id 变更前:会员 --1:N--> 学生(通过 pg_student.member_id
变更后:会员 --N:M--> 学生(通过 pg_member_student 关联表) 变更后:会员 --N:M--> 学生(通过 pg_member_student 关联表)
``` ```
---
## 附录CH5 前端同步变更
> 完成时间2026-02-03
> 项目user_authentication_center_front
### C.1 变更概述
H5 前端同步适配后端「会员教育信息重构」和「学生多会员绑定」变更。
### C.2 注册流程简化
删除注册页面的身份类型选择步骤:
| 变更前 | 变更后 |
|--------|--------|
| 步骤1: 基本信息 → 步骤2: 身份选择 → 步骤3: 详细信息 | 仅基本信息,注册后跳转用户中心 |
**涉及文件**
- `views/register/index.vue` - 删除身份选择和详细信息步骤
### C.3 教育身份改为数组
| 文件 | 变更 |
|------|------|
| `stores/user.ts` | 删除 `identityType``education: any` → `educations: any[]` |
| `api/user.js` | 接口路径 `/h5/member/education``/h5/member/educations` |
| `views/userCenter/index.vue` | 列表展示多教育身份,支持删除指定 ID |
**接口变更**
```javascript
// 变更前
POST /h5/member/education // 新增(覆盖式)
GET /h5/member/education // 获取单个
DELETE /h5/member/education // 删除
// 变更后
POST /h5/member/educations // 新增
PUT /h5/member/educations/{id} // 修改
GET /h5/member/educations // 获取列表
DELETE /h5/member/educations/{id} // 删除指定
PUT /h5/member/educations/{id}/default // 设为默认
```
### C.4 基础数据前端缓存
新建 `stores/baseData.ts` 实现区域和学科数据的前端缓存:
```typescript
// 缓存结构
{
regionTree: [], // 区域树
subjects: [], // 学科列表
expire: timestamp, // 过期时间24小时
}
// 存储位置
localStorage.setItem('h5:baseData', JSON.stringify(data))
```
**数据流**
```
用户登录成功
强制刷新基础数据fetchRegionTree(true), fetchSubjects(true)
存入 Pinia Store + localStorage
后续页面从 Store 读取,秒加载
```
**涉及文件**
| 文件 | 变更 |
|------|------|
| `stores/baseData.ts` | **新建** - 基础数据 Store |
| `views/login/index.vue` | 登录成功后调用 `fetchRegionTree(true)``fetchSubjects(true)` |
| `components/TeacherIdentityForm.vue` | 区域和学科使用 Store 缓存 |
| `components/ParentChildrenForm.vue` | 区域使用 Store 缓存 |
### C.5 缓存策略说明
| 数据 | 是否缓存 | 原因 |
|------|----------|------|
| 区域树 `/h5/base/regions` | ✅ 缓存 | 数据量大且变化少 |
| 学科列表 `/h5/base/subjects` | ✅ 缓存 | 基础数据,变化少 |
| 学校列表 `/h5/base/schools` | ❌ 不缓存 | 依赖区域动态查询 |
| 年级列表 `/h5/base/grades` | ❌ 不缓存 | 依赖学校动态查询 |
| 班级列表 `/h5/base/classes` | ❌ 不缓存 | 依赖学校+年级动态查询 |