176f098923
chore: add @ant-design/x deps for AI chat feature
CI / check (pull_request) Successful in 3m24s
2026-07-23 15:08:57 +08:00
c401766bc5
fix: replace lucide-react Sparkles with RobotOutlined to avoid extra dependency
2026-07-23 15:02:36 +08:00
6f29220257
test: 跳过外部考勤工作流集成测试
CI / check (pull_request) Successful in 4m0s
2026-07-23 14:35:38 +08:00
9f54fec972
Merge remote-tracking branch 'origin/main'
CI / check (pull_request) Failing after 4m23s
2026-07-23 14:25:15 +08:00
f3b59935d6
feat: 集成 AI 对话与只读查询工具
2026-07-23 14:24:40 +08:00
adf738288f
Merge pull request 'chore: 修复 npm 高危依赖漏洞' ( #43 ) from worktree-npm-security-updates into main
2026-07-23 04:12:10 +00:00
eaca56617c
chore: patch vulnerable npm dependencies
CI / check (pull_request) Successful in 1m33s
2026-07-23 12:02:20 +08:00
0bdc8a067b
fix: satisfy attendance workflow lint
CI / check (pull_request) Failing after 3m33s
2026-07-23 11:48:50 +08:00
490a337446
Merge remote-tracking branch 'origin/main' into fix/pr41-ci
2026-07-23 11:47:30 +08:00
5bd63846d1
fix: prevent touch double-tap zoom
CI / check (pull_request) Successful in 3m46s
2026-07-23 11:27:41 +08:00
fa7ed8e128
feat:移除表格内部的滚动
CI / check (pull_request) Successful in 1m51s
2026-07-23 11:22:31 +08:00
099cff7f00
test: cover end-to-end attendance workflow
CI / check (pull_request) Failing after 1m29s
2026-07-23 10:31:23 +08:00
a267238e7c
merge upstream
CI / check (pull_request) Successful in 3m5s
2026-07-23 01:44:00 +00:00
d93f6cb0b9
修复手机端双击编辑单元格
2026-07-23 09:42:33 +08:00
0ce8f58adb
chore: remove dead code and tune frontend chunks
...
Remove unused production symbols, starter assets, and stale browser tooling; reduce frontend chunk fragmentation.
2026-07-23 01:26:41 +00:00
90cc321221
fix: UI improvements and DingTalk attendance refresh for completed sessions
...
CI / check (pull_request) Successful in 1m33s
- DatePicker editors open immediately on double-click
- Student archive drawer hides empty studentNo parentheses
- Student add/edit form uses 2-column grid layout
- Table horizontal scrollbars show only on hover/focus
- Remove fake 近7日趋势 stats from attendance student detail
- Allow DingTalk refresh to update completed attendance sessions
(late-arriving punches can now change absent → present)
- Switch dev command from concurrently to turbo run dev
- Remove concurrently/wait-on dependencies
2026-07-22 17:50:59 +08:00
6286864df0
修复学习记录实体未注册问题
2026-07-22 17:19:20 +08:00
a9009f86fb
fix: 修正换宿当天查寝归属
CI / check (pull_request) Successful in 3m8s
2026-07-22 15:18:12 +08:00
7ffc573d2e
修复 SQLite 钱包调账锁异常
2026-07-22 15:03:06 +08:00
67fdf093e5
perf: split oversized admin bundles
CI / check (pull_request) Successful in 3m38s
2026-07-22 11:45:35 +08:00
393ee62168
feat: add Jinshuju student sync
CI / check (pull_request) Successful in 2m14s
2026-07-22 11:41:50 +08:00
576dab0d41
fix: 修复测试文件日期比较逻辑
CI / check (pull_request) Successful in 4m40s
2026-07-22 11:25:13 +08:00
da023759a1
fix: 修复后端 CI 检查与测试
2026-07-22 11:17:39 +08:00
54e283b687
feat: 增加宿舍查寝功能
2026-07-22 10:55:48 +08:00
8f1ff5970d
feat: 更新学生余额页面的分页设置,增加页面大小选择功能
2026-07-22 09:43:54 +08:00
cbc04fea4f
feat: add exam score management
CI 检查 / lint (pull_request) Has been cancelled
CI 检查 / typecheck (pull_request) Has been cancelled
CI 检查 / test (pull_request) Has been cancelled
2026-07-21 16:04:17 +08:00
37ef6f9dd7
feat: add college archive fields
CI 检查 / lint (pull_request) Has been cancelled
CI 检查 / typecheck (pull_request) Has been cancelled
CI 检查 / test (pull_request) Has been cancelled
2026-07-21 15:35:35 +08:00
90cc0c10b2
feat: expand student archive import template
2026-07-21 15:11:52 +08:00
a585fd42d5
feat: 支持表格单元格快捷编辑
CI 检查 / lint (pull_request) Has been cancelled
CI 检查 / typecheck (pull_request) Has been cancelled
CI 检查 / test (pull_request) Has been cancelled
2026-07-21 14:17:08 +08:00
fe0b71a0a9
feat:调整登陆页面输入框布局
CI 检查 / lint (pull_request) Has been cancelled
CI 检查 / typecheck (pull_request) Has been cancelled
CI 检查 / test (pull_request) Has been cancelled
2026-07-21 10:43:07 +08:00
a9961d1a99
feat: 更新系统名称为学生管理系统,修改相关页面标题和生成的账单信息
CI 检查 / lint (pull_request) Has been cancelled
CI 检查 / typecheck (pull_request) Has been cancelled
CI 检查 / test (pull_request) Has been cancelled
2026-07-21 10:32:21 +08:00
29c55ebff1
feat: 添加可拖拽的路由停靠组件,支持动态标签管理
CI 检查 / lint (pull_request) Has been cancelled
CI 检查 / typecheck (pull_request) Has been cancelled
CI 检查 / test (pull_request) Has been cancelled
2026-07-21 10:13:47 +08:00
5e1ba70e59
功能:支持侧边栏多项同时展开
2026-07-21 09:59:17 +08:00
d306de48e4
修复:兼容 SQLite 开发环境启动
2026-07-21 09:57:19 +08:00
a87f26a915
feat: 移除 Docker 部署,添加 Gitea CI/CD workflows
...
- 删除 docker-compose.yml、Dockerfile、.dockerignore、docker/ 目录
- 更新 deploy.sh:移除 Docker Compose MySQL 启动,改为 systemd 检查
- 新增 .gitea/workflows/deploy.yml:手动触发、rsync + SSH + PM2 部署
- 新增 .gitea/workflows/ci.yml:PR lint + typecheck + test 自动检查
2026-07-20 15:33:46 +08:00
2c0be0f033
test: 为边界条件修复添加测试用例
...
- rooms: parseRoomNumber 未知格式、楼层0、capacity ?? 测试
- occupancies: capacity undefined/null/0 fail-closed 防守测试
- schedules: startTime > endTime 拒绝测试
- attendance: 重叠检查按时间排序、raw[index] 移除测试
- expenses: 金额零/负/NaN 拒绝、period反转校验测试
5 modules, 40 tests, all passing
2026-07-20 15:30:41 +08:00
00e9c5e45a
fix: 修复多处边界条件问题
...
- rooms: parseRoomNumber 未知格式返回默认 capacity=4,防止 undefined 绕过入住容量检查
- rooms: 修复 parseInt() || undefined 导致楼层 0 被吞掉
- rooms: batchImport 中 capacity 使用 ?? 代替 ||,显式 0 不被覆盖
- occupancies: 所有 capacity 比较加 ?? 0 防守兜底,fail closed
- schedules: assertValidScheduleRange 增加 startTime > endTime 校验
- attendance: 时段重叠检查改为按 startTime 排序后再比较,消除漏检
- attendance: 移除 getScheduleOptionsForAttendance 中不可靠的 raw[index] fallback
- expenses: 个人附加费批量导入增加 assertPositiveAmount 校验
- expenses: 水电费导入增加 periodEnd >= periodStart 校验
2026-07-20 14:45:53 +08:00
990c0c16e6
feat: Docker Compose deployment + auto migration on startup
...
- docker-compose.yml: 移除 MySQL 容器,连宿主机 MySQL
- main.ts: 启动前通过独立 DataSource 执行 runMigrations
- migration-runner.ts: 独立 migration 执行器
- app.module.ts: TypeORM 配置增加 migrations
- 修复 InitialSchema 中 room_expenses 和 financial_operations 重复索引
2026-07-20 12:43:13 +08:00
4c2192d85e
feat: switch to Docker Compose + auto-migration
...
- docker-compose.yml: 移除 MySQL 容器,后端连宿主机 MySQL
- main.ts: 启动时自动 runMigrations
- 前端 Nginx 反代 /api/ → backend:3000 不变
2026-07-20 12:24:51 +08:00
2ee8bd47e2
feat: add TypeORM CLI migration support
...
- 新增 datasource.ts 支持 mysql/sqlite 双模式
- 新增 migration 脚本: generate/create/run/revert/show
- 生成 InitialSchema migration (35 张表全量建表)
2026-07-20 12:16:48 +08:00
ed428c8aa3
fix: 修正档案报告品牌名 工学云 → 恭学教育
2026-07-20 11:59:51 +08:00
c7ba2799b9
feat: 拆分学号/身份证字段 + 考勤教师展示 + 代码优化
...
- 入住导入模板:学号和身份证号拆为独立字段,前后端对齐
- 排课查询关联教师,考勤归档页展示教师姓名
- 抽查时段增加 IsIn 校验
- 抽取 withPessimisticWriteLock 去重悲观锁查询
- import 增加文件空 buffer 校验
- 测试 mock 补全,适配事务 manager
- MySQL init.sql VALUES() 语法兼容修复
2026-07-20 11:54:01 +08:00
375c7ec60b
feat: refine admin forms, attendance and finance workflows
...
Squash merge PR #23 .
Included changes:
- complete occupancy check-in required fields/default payload
- improve responsive admin management pages
- fix attendance edge cases and attendance period config
- refine wallet/finance-related workflow handling
Checks:
- npm run typecheck -w apps/admin
- npm run typecheck -w apps/server
2026-07-18 12:54:10 +00:00
295debee33
Merge teacher attendance workspace
2026-07-18 15:34:36 +08:00
98d335b889
feat: redesign teacher attendance workspace
2026-07-18 15:34:02 +08:00
5836b421d8
fix: harden financial transaction boundaries
2026-07-18 15:33:41 +08:00
c11f6bb614
fix: harden DingTalk student synchronization
2026-07-18 14:51:53 +08:00
7edb4ff853
fix: prune unused RBAC permissions
2026-07-17 17:43:45 +08:00
b3d0bafc22
feat: refine deposit room type workflows
2026-07-17 17:36:04 +08:00
f7328d670d
fix: 归档删除改为软删除
2026-07-17 14:13:17 +08:00