mi-assessment/uniapp/api/assessment.js
zpc 7a54c91154 feat(assessment): 连接个人信息页与答题页数据流
- 新增 PendingRecordDto 模型,支持查询进行中的测评记录
- 后端新增 GetPendingRecord 接口,支持断点续答
- 邀请码路径改为调用 createOrder 创建订单和测评记录
- info 页面加载时检测未完成测评,支持继续上次或重新开始
- questions 页面改用 recordId 提交答案,匹配后端接口
- usePayment 返回 assessmentRecordId 供页面传递
2026-02-23 00:06:24 +08:00

103 lines
2.2 KiB
JavaScript

/**
* 测评接口模块
*/
import { get, post } from './request'
/**
* 获取测评介绍
* @param {number} typeId - 测评类型ID
* @returns {Promise<Object>}
*/
export function getIntro(typeId) {
return get('/assessment/getIntro', { typeId })
}
/**
* 获取题目列表
* @param {number} typeId - 测评类型ID
* @returns {Promise<Object>}
*/
export function getQuestionList(typeId) {
return get('/assessment/getQuestionList', { typeId })
}
/**
* 提交答案
* @param {Object} data - 提交数据
* @param {number} data.recordId - 测评记录ID
* @param {Array} data.answers - 答案列表
* @returns {Promise<Object>}
*/
export function submitAnswers(data) {
return post('/assessment/submitAnswers', data)
}
/**
* 获取报告生成状态
* @param {number} recordId - 测评记录ID
* @returns {Promise<Object>}
*/
export function getResultStatus(recordId) {
return get('/assessment/getResultStatus', { recordId })
}
/**
* 获取测评结果
* @param {number} recordId - 测评记录ID
* @returns {Promise<Object>}
*/
export function getResult(recordId) {
return get('/assessment/getResult', { recordId })
}
/**
* 验证邀请码
* @param {string} code - 邀请码
* @returns {Promise<Object>}
*/
export function verifyInviteCode(code) {
return post('/assessment/verifyInviteCode', { code })
}
/**
* 获取往期测评列表
* @param {Object} params - 查询参数
* @param {number} [params.page] - 页码
* @param {number} [params.pageSize] - 每页数量
* @returns {Promise<Object>}
*/
export function getHistoryList(params = {}) {
return get('/assessment/getHistoryList', params)
}
/**
* 获取评分标准选项
* @param {number} typeId - 测评类型ID
* @returns {Promise<Object>}
*/
export function getScoreOptions(typeId) {
return get('/assessment/getScoreOptions', { typeId })
}
/**
* 获取用户进行中的测评记录
* @param {number} typeId - 测评类型ID
* @returns {Promise<Object>}
*/
export function getPendingRecord(typeId) {
return get('/assessment/getPendingRecord', { typeId })
}
export default {
getIntro,
getQuestionList,
submitAnswers,
getResultStatus,
getResult,
verifyInviteCode,
getHistoryList,
getScoreOptions,
getPendingRecord
}