1. 在线培训与能力认证 — 面向企业客服支撑等岗位,通过 17 个业务模块的题库组卷,量化员工对各
产品域的掌握程度,输出可用于上岗认证与绩效评估的成绩单。
2. 入职与转岗考核 — 新员工或跨岗人员按角色蓝图参加准入考试;系统按模块统计通过率,识别薄
弱模块,支撑针对性的补训计划。
3. 培训效果度量 — 管理员按角色/模块查看题库覆盖度、答题正确率与通过率看板,评估培训课程与
考试内容的覆盖缺口。
4. 岗位能力画像 — 逐模块的百分比得分( score/total )构成能力画像,支撑岗位能力矩阵与人才
盘点。5. 题库资产沉淀与复用 — 题库以 JSON 形式集中维护,支持 Excel 批量导入与扫描校验,按模块/角
色/题量灵活组卷,避免重复命题。
6. 模拟测验与查漏补缺 — 学员可按配置自行开考,答后可查看正确答案( show_answers )并针对
错题复习,形成"考—评—补"闭环。
六、功能模块
① 认证与鉴权
职责: 用户登录、令牌签发与校验、当前用户上下文注入。
实现: OAuth2PasswordBearer(tokenUrl="/api/auth/login") 走表单(用户名 + 密码)换
JWT; app/core/security.py 使用 jose 签发令牌, app/core/deps.py 的
get_current_user 解析 sub (用户 ID)与 username ,失败统一返回 401「无法验证凭据」。
鉴权粒度: 角色判定在各自路由内部完成(管理员 / 普通用户),未使用集中式权限中间件。
② 角色与模块权限管理
职责: 定义角色、绑定可考模块、设置每个模块的通过分数线。
实现: roles + role_modules + modules 三表关联; role_modules.passing_score 默认
60(百分比),唯一约束 (role_id, module_id) 防重复授权。
重要语义: 模块粒度目前只存在于"组卷"和"判分"两处—— exam_config_modules 决定抽哪些模
块的题, role_modules.passing_score 决定各模块分数线;不存在按模块的独立权限依赖(即
某个模块没授权不影响其他模块能否作答)。
③ 题库管理
职责: 维护三类题目( single_choice 单选 / multiple_choice 多选 / true_false 判断),
选项以 JSON 数组存储,标准答案为 A/B/C/D (单选、判断)或 AB/ABC (多选)。
实现: questions 表 + exam_questions 表;考试组卷时把题目复制进 exam_questions 形成
快照,并写入乱序后的选项 shuffled_options ,保证考试过
我在这个项目的实现过程中,主要担任系统设计,验证,测试的工作。使用大模型完成该系统的开发。使用的技术栈如下:
前端
Vue、vue-router、Pinia、Vite、Element Plus、axios、Vitest
后端
Python、FastAPI、uvicorn、SQLAlchemy、Pydantic、python-jose、PyJWT、passlib、python-multipart、alembic
数据库
SQLite、psycopg2
其他
openpyxl、aiohttp、aiofiles、pytest、httpx、Docker Compose、nginx、arc42、PlantUML、OpenSpec
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论