# 测评与投递模块 API 接口文档 (`pages/assessment`) ## 1. 获取测评试题内容 * **接口说明**: 进入在线测评页面时,根据岗位或业务类型获取相应的题库。 * **请求路径**: `/assessment/questions` * **请求方法**: `GET` * **公共头部**: `Authorization: Bearer {Token}` * **接口参数**: | 参数名 | 类型 | 必填 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | :--- | | job_id | Number | 否 | 岗位 ID (针对特定岗位测评) | 101 | | type | String | 否 | 业务类型: `audit` (审计类通用测评) | "audit" | * **接口返回 JSON 数据**: | 字段名 | 类型 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | | code | Number | 状态码 | 200 | | data | Object | 包装对象 | { ... } | | data.total_questions | Number | 总题数 | 60 | | data.time_limit | Number | 答题限时 (分钟) | 30 | | data.questions | Array | 题目数组 | [ ... ] | | data.questions[].id | Number | 题目唯一 ID | 1001 | | data.questions[].title | String | 题干描述 | "以下哪项属于资产类科目?" | | data.questions[].options | Array | 选项列表 | ["A. 现金", "B. 收入", ...] | --- ## 2. 提交答案并评分 * **接口说明**: 用户完成测评后提交所有答案,后端实时计算分数并更新岗位申请进度。 * **请求路径**: `/assessment/submit` * **请求方法**: `POST` * **公共头部**: `Authorization: Bearer {Token}` * **接口参数**: | 参数名 | 类型 | 必填 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | :--- | | job_id | Number | 是 | 关联的岗位 ID | 101 | | answers | Array | 是 | 用户答案数组 | `[{ "q_id": 1001, "val": "A" }]` | * **接口返回 JSON 数据**: | 字段名 | 类型 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | | code | Number | 状态码 | 200 | | data | Object | 评分结果摘要 | { ... } | | data.score | Number | 总分 | 85 | | data.is_pass | Boolean | 是否通过进入投递环节 | true | --- ## 3. 获取测评报告详情 * **接口说明**: 用于展示测评结果页、雷达图及详细分析对比。 * **请求路径**: `/assessment/report` * **请求方法**: `GET` * **接口参数**: `job_id` * **接口返回 JSON 数据**: | 字段名 | 类型 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | | code | Number | 状态码 | 200 | | data | Object | 报告数据 | { ... } | | data.score | Number | 得分 | 88 | | data.dimensions | Array | 维度分布 (用于雷达图) | `[{ "name": "专业知识", "value": 90 }]` | | data.analysis | String | AI 综合分析评价文本 | "该用户具备扎实的审计基础..." | | data.comparison_avg | Number | 同岗位用户平均分 | 75 | --- ## 4. 确认投递简历 * **接口说明**: 在测评结果页,若符合要求,点击“投递”或“加入意向”完成最终动作。 * **请求路径**: `/jobs/apply` * **请求方法**: `POST` * **接口参数**: | 参数名 | 类型 | 必填 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | :--- | | job_id | Number | 是 | 投递的目标岗位 ID | 101 | | resume_type | String | 是 | 投递简历类型: `online` (在线简历), `pdf` (附件简历) | "online" | | pdf_id | Number | 否 | 若选择附件简历,需传附件 ID | 55 | * **接口返回 JSON 数据**: ```json { "code": 200, "msg": "投递成功,请等待 HR 联系", "data": {} } ```