|
|
8b7615bcf1
|
fix(auth): 修复学校账号登录角色返回错误问题
loginWithRole()中SCHOOL/TEACHER分支改为返回请求中指定的role(school或teacher),
而非硬编码"teacher"。同步修复getCurrentUserInfo()和changePassword()支持"school"角色。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-02 15:41:58 +08:00 |
|
|
|
859c71db09
|
fix(backend): 修复租户创建、接口字段和500错误
Bug 1: 创建租户时同步创建学校登录账号(teachers表)
- TenantCreateRequest支持loginAccount/contactPerson/studentQuota/teacherQuota字段
- TenantServiceImpl.createTenant()后自动插入Teacher记录,包含BCrypt加密密码
- 返回tempPassword字段供前端展示
Bug 2: 修复多个接口500错误
- 新增POST /auth/logout端点(JWT无状态,直接返回成功)
- 新增GET /admin/stats/trend端点(最近6个月统计趋势)
- 完善getStats()返回activeTenantCount/publishedCourseCount/monthlyLessons字段
- 新增AdminSettingsController(GET/PUT /admin/settings)
- 新增租户操作端点:/status、/reset-password、/quota
Bug 3: 统一前后端接口字段名
- Tenant实体用@JsonProperty重命名:code→loginAccount, contactName→contactPerson
maxStudents→studentQuota, maxTeachers→teacherQuota, expireAt→expireDate
- status字段用UpperCaseSerializer返回大写值(前端期望ACTIVE/SUSPENDED)
- TenantCreateRequest/UpdateRequest用@JsonAlias接受前端字段名
- PageResult用@JsonProperty重命名:list→items, pageNum→page, pages→totalPages
- 所有分页控制器将pageNum参数改为page(与前端对齐)
- 新增TenantService.resetSchoolAccountPassword()方法
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-02 15:20:37 +08:00 |
|
|
|
5e0c87768c
|
chore(frontend): 更新依赖锁文件和组件类型声明
- package-lock.json:本地 npm install 后依赖树更新
- components.d.ts:unplugin-vue-components 自动生成的
组件类型声明同步更新
|
2026-02-28 19:33:01 +08:00 |
|
|
|
0b3998489d
|
feat(deploy): 添加 docker-compose 一键部署配置
定义 backend 和 frontend 两个服务:
- backend 监听 3001 端口,设置 Prisma OpenSSL 3.x 环境变量,
JWT_SECRET 通过宿主机环境变量注入避免硬编码
- frontend 监听 8080 端口,depends_on backend 保证启动顺序
使用方式:
JWT_SECRET=your-secret docker-compose up -d
|
2026-02-28 19:32:54 +08:00 |
|
|
|
92071e5ba6
|
feat(frontend): 添加 Docker 部署配置和生产环境变量
- Dockerfile:多阶段构建,node:20-alpine 编译 Vue3,
nginx:alpine 提供静态资源服务,使用国内 npm 镜像加速
- nginx.conf:配置 Vue Router history 模式(try_files),
/api/ 和 /uploads/ 反向代理到后端容器
- .env.production:生产环境 API 地址(8.148.151.56:3001)
- .gitignore:放开 .env.production 提交权限(无敏感信息)
|
2026-02-28 19:32:45 +08:00 |
|
|
|
3a921250c3
|
feat(backend): 添加 Docker 部署配置
- Dockerfile:基于 node:20-alpine,包含 TypeScript 编译和
Prisma Client 生成步骤,对外暴露 3001 端口
- .env.example:提供环境变量模板,团队成员按此创建 .env 文件
(.env 本身含敏感信息,已加入 .gitignore 不提交)
|
2026-02-28 19:32:14 +08:00 |
|
|
|
f056bf72a2
|
fix(backend): 修复 Prisma 在 Alpine Linux 容器中的 OpenSSL 兼容性问题
在 generator client 中添加 binaryTargets,显式指定
linux-musl-openssl-3.0.x,解决 Alpine Linux 3.18+ 使用
OpenSSL 3.x 时 Prisma 引擎无法加载的问题。
|
2026-02-28 19:32:03 +08:00 |
|
|
|
2c67204ef7
|
添加 dev.db 数据库文件
|
2026-02-28 17:53:32 +08:00 |
|
|
|
7f757b6a63
|
初始提交:幼儿园阅读平台三端代码
- reading-platform-backend:NestJS 后端
- reading-platform-frontend:Vue3 前端
- reading-platform-java:Spring Boot 服务端
|
2026-02-28 17:51:15 +08:00 |
|