6249fefc64
refactor(ai-chat): 移除 excel_analyze/office_analyze 工具与 OfficeKit 依赖
...
- 删除 excel_analyze/office_analyze 两个 A2UI 工具(schema、分发、执行器、测试)
- 附件分析改为依赖上传时自动提取的文本与 preflight_import 报告 errorSamples
- 移除 @officecli/officecli 依赖及 OfficeCliService(PPT 上传不再自动提取文本)
- 保留 AiExcelReaderService(附件文本提取与导入预检仍使用)
2026-08-05 22:26:05 +08:00
47720a8fcc
refactor: 移除 SQLite 支持,仅保留 MySQL
2026-08-05 17:43:13 +08:00
a9ce5563b1
chore: 升级依赖与工程配置
2026-08-05 17:10:14 +08:00
ce1dcc07ea
chore: 新增 zustand、@ant-design/x-card 与 officecli 依赖
2026-08-04 14:41:14 +08:00
8656394b9b
Refactor AI chat: streaming, tool calls, UI polish
CI / check (pull_request) Successful in 3m25s
2026-07-24 16:27:50 +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
eaca56617c
chore: patch vulnerable npm dependencies
CI / check (pull_request) Successful in 1m33s
2026-07-23 12:02:20 +08: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
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
aa1ed7db56
refactor: resolve remaining field audit issues
2026-07-13 16:12:57 +08:00
b5ef91bf2d
fix: support Windows dev startup
2026-07-13 10:35:43 +08:00
1e1c476bc3
feat: add CASL authorization and AI configuration
2026-07-11 14:25:34 +08:00
8ed1682b90
fix permissions and teacher attendance workflows
2026-07-10 20:40:52 +08:00
40aad81087
fix: use rimraf for cross-platform clean command
2026-07-09 10:38:17 +08:00
5ddd6d305a
feat: ordered dev startup with concurrently + wait-on (server → admin)
2026-07-09 10:26:49 +08:00
42d3f0e27f
feat: DingTalk attendance import + integration config + expense types + UI polish
...
Server:
- Add DingTalk attendance import service with SSE progress streaming
- Add IntegrationConfig entity & module for multi-tenant DingTalk setup
- Add ExpenseType entity & ExpenseTypesModule
- Add SeedModule for DB initialization
- Add UserDingMapping entity for DingTalk user linkage
- Attendance service: import flow with dedup & student auto-mapping
- Rooms service: time-range overlap queries
- Sync controller/service: DingTalk integration wiring
- Permission guard: refactor to pure re-export
- Campus scope middleware: tenant-aware filtering
Admin UI:
- Attendance page: import UI with progress & result summary
- All pages: tableStyle/tablePagination standardization
- Login page: responsive styling
- Sensitive data: useViewSensitive hook for masked viewing
- Vite config: path aliases, build optimization
- Test infra: vitest config, test utilities
Docs: PRD DingTalk batch 1 & 2 design docs
2026-07-09 09:11:56 +08:00
d3437311dc
refactor: remove Puppeteer, delete old PDF download endpoint
2026-07-07 09:56:52 +08:00
72f9a58838
feat: rewrite PDF report to puppeteer HTML→PDF with professional 6-page gongxue design
2026-07-06 16:19:50 +08:00
c81b0a0b5c
chore: commit remaining integration files, PM2 single instance, PRD doc
2026-07-06 16:04:53 +08:00
7b298a615c
feat: complete PRD verification fixes and deployment readiness
...
- Add CommonModule to provide/export CampusScope across business modules
- Replace DepartmentsModule imports with CommonModule in 11 modules
- Add missing Class/Tenant repository imports to StudentsModule and SchedulesModule
- Fix service specs with CampusScope, ClassRepository, StudentRepository mocks
- Move better-sqlite3 to optionalDependencies for production Docker builds
- Rewrite Dockerfiles for monorepo root build context
- Update docker-compose.yml service build contexts
2026-07-06 01:55:35 +08:00
5f14b9ff15
feat: add NotificationsService with SSE subject pool
2026-07-05 23:01:26 +08:00
b77e5a2f50
fix: remove PermissionButton wrappers from Upload components
2026-07-05 21:37:47 +08:00
5cf7fe05e9
feat(task4): update TypeScript configs to use shared presets
2026-07-02 15:31:29 +08:00
73dd92e615
feat(task3): migrate toolchain to oxfmt + oxlint
...
- Install oxfmt with .oxfmtrc.json (maps Prettier config)
- Install oxlint with oxlint.config.ts (TypeScript + React rules)
- Replace admin ESLint with oxlint
- Remove Prettier integration from server ESLint (keep ESLint for type checking)
- Delete server .prettierrc and admin eslint.config.js
2026-07-02 15:24:29 +08:00
ee2cad0941
feat(task2): add root turborepo and npm workspaces configuration
2026-07-02 15:16:07 +08:00
ef645c0f40
fix: resolve 3 review findings (permission codes, profile guard, JSDoc)
2026-07-02 12:22:49 +08:00