2.5 KiB
2.5 KiB
K12Study 逻辑视图
1. 分层结构
- 终端层
frontend(React 管理端)app(微信小程序)
- 接入与安全层
gateway(统一入口、鉴权、路由、跨域、trace)auth(登录、刷新、当前用户)
- 平台能力层
upms(租户、组织、用户、角色、菜单、路由元数据)ai-client(Java 侧 AI 适配)python-ai(AI 处理服务)
- 业务域层(规划中)
course、question、achievement、recommendation
- 数据与基础设施层
- PostgreSQL(多 schema)
- Redis(缓存、会话、热点)
- NebulaGraph / Neo4j(知识图谱)
- Milvus(向量检索)
- Nacos(注册配置)
2. 逻辑架构图
graph TD
WEB[Frontend React] --> GW[Gateway]
MINI[Mini Program] --> GW
GW --> AUTH[Auth Service]
GW --> UPMS[UPMS Service]
GW --> COURSE[Course Service]
GW --> QUESTION[Question Service]
GW --> ACHIEVE[Achievement Service]
GW --> REC[Recommendation Service]
AUTH --> PG[(PostgreSQL)]
UPMS --> PG
COURSE --> PG
QUESTION --> PG
ACHIEVE --> PG
REC --> PG
AUTH --> REDIS[(Redis)]
UPMS --> REDIS
COURSE --> REDIS
QUESTION --> REDIS
ACHIEVE --> REDIS
REC --> REDIS
QUESTION --> AICLIENT[AI Client]
AICLIENT --> PYAI[Python AI]
PYAI --> KG[(NebulaGraph / Neo4j)]
PYAI --> VDB[(Milvus)]
PYAI --> PG
3. 主链路视角
3.1 基础架构链路
- 登录:
frontend/app -> /api/auth/tokens -> auth -> token - 权限与路由:
frontend/app -> /api/upms/routes -> upms - 组织数据:
/api/upms/areas|tenants|departments
3.2 教学业务链路
- 教师发作业:题库/试卷/作业配置 -> 投放班级。
- 学生提交:答题内容 + 文件(可选)。
- 批改流程:自动批改 + 人工复核 -> 成绩汇总 -> 错题沉淀。
- 复习与推荐:复习计划 -> 推荐内容 -> 用户反馈 -> 闭环效果。
- 成就激励:事件触发 -> 规则命中 -> 成就发放/进度更新。
3.3 AI 知识链路
- 文件入库:
upms.tb_sys_file -> ai.tb_ai_knowledge_file - 同步任务:
ai.tb_ai_knowledge_sync_task异步推送图谱/向量库 - 检索与推理:业务服务通过
ai-client调python-ai
4. 设计约束
- API 对外统一前缀
/api/*,内部服务前缀保持领域语义。 - 多租户与组织隔离字段在核心表统一保留(
tenant_id/tenant_path/dept_id/dept_path/adcode)。 - 业务域之间优先通过 API 契约与事件解耦,不直接跨模块读写表。