feat: 首次登录引导与注册修复
All checks were successful
CI / build-and-test (push) Successful in 20m12s
CI / deploy (push) Successful in 1m18s

This commit is contained in:
SpecialX
2026-01-12 10:49:30 +08:00
parent 15fcf2bc78
commit 8577280ab2
12 changed files with 653 additions and 25 deletions

View File

@@ -214,3 +214,18 @@ Seed 脚本已覆盖班级相关数据,以便在开发环境快速验证页面
#### 6.7.4 Seed 支持
- `scripts/seed.ts` 为示例班级补充 `invitationCode`,便于在开发环境直接验证加入流程。
### 6.8 更新记录2026-01-09
#### 6.8.1 班级创建权限收紧
- 目标:仅允许年级组长与 admin 创建班级。
- 后端:`createTeacherClassAction` 增加权限校验,非 admin 必须是对应年级的 `gradeHead``createAdminClassAction` 强制仅 admin 可调用(`src/modules/classes/actions.ts`)。
- 前端教师端「My Classes」页基于当前用户是否为任一年级 `gradeHead` 计算 `canCreateClass`,并禁用创建入口(`src/app/(dashboard)/teacher/classes/my/page.tsx``src/modules/classes/components/my-classes-grid.tsx`)。
#### 6.8.2 注册页面从演示提交改为真实注册
- `/register` 增加服务端注册动作:校验输入、邮箱查重、插入 `users` 表,默认 `role=student``src/app/(auth)/register/page.tsx`)。
- 注册表单接入注册动作并展示成功/失败提示,成功后跳转至 `/login``src/modules/auth/components/register-form.tsx`)。
#### 6.8.3 生产环境登录 UntrustedHost 修复
- 问题:服务器上访问 `/api/auth/session``[auth][error] UntrustedHost`
- 修复Auth.js 配置开启 `trustHost: true` 并显式设置 `secret``src/auth.ts`)。