当前位置: 首页 > news >正文

用AI帮忙,开发刷题小程序:软考真经微信小程序API接口文档(更新版)

用AI帮忙,开发刷题小程序:软考真经微信小程序API接口文档(更新版)

在这里插入图片描述

1. 概述

本文档详细描述了软考真经微信小程序项目中使用的全部REST API接口。该小程序是一个在线考试和学习工具,主要面向软考(计算机技术与软件专业技术资格考试)考生。

2. 基础配置

2.1 环境配置

项目支持三种环境:

  1. 开发环境 (develop)

    • 基础URL: http://192.168.16.197
    • 调试模式: 开启
    • 错误报告: 关闭
  2. 体验环境 (trial)

    • 基础URL: https://rk.vip.cpolar.cn
    • 调试模式: 关闭
    • 错误报告: 开启
  3. 生产环境 (release)

    • 基础URL: https://rk.vip.cpolar.cn
    • 调试模式: 关闭
    • 错误报告: 开启

2.2 认证方式

所有API请求都需要在请求头中包含认证信息:

Authorization: <token>

其中[token]通过微信登录接口获取并存储在本地。

3. API接口列表

3.1 认证相关接口

3.1.1 微信登录
  • 接口地址: /api/auth/wechat

  • 请求方法: POST

  • 请求参数:

    {"code": "string" // 微信登录凭证
    }
    
  • 响应数据:

    {"token": "string",   // 用户认证令牌"openid": "string"   // 微信用户唯一标识
    }
    
  • 使用场景: 用户首次登录小程序时调用,获取用户认证令牌

3.1.2 用户信息
  • 接口地址: /api/user/userinfo

  • 请求方法: POST

  • 请求参数:

    {"encryptedData": "string", // 加密的用户数据"iv": "string"             // 加密算法的初始向量
    }
    
  • 响应数据: 无特定格式

  • 使用场景: 获取并解密用户个人信息

3.2 考试相关接口

3.2.1 开始考试
  • 接口地址: /api/exam/start

  • 请求方法: POST

  • 请求参数:

    {"paperId": "number"  // 试卷ID
    }
    
  • 响应数据:

    {"data": {"id": "number",              // 考试记录ID"paperId": "number",         // 试卷ID"userId": "number",          // 用户ID"userScore": "number",       // 用户得分"userTotal": "number",       // 总分"startTime": "string",       // 开始时间"finishTime": "string",      // 结束时间"timeUsed": "number",        // 用时(秒)"accuracy": "number",        // 正确率"submitTime": "string"       // 提交时间}
    }
    
  • 使用场景: 用户开始新的考试时调用,创建考试记录

3.2.2 获取题目列表
  • 接口地址: /api/paper-questions/question-list

  • 请求方法: GET

  • 请求参数:

    recordId=number  // 考试记录ID
    paperId=number   // 试卷ID
    
  • 响应数据:

    {"examPaper": {"id": "number",           // 试卷ID"name": "string",         // 试卷名称"totalScore": "number",   // 总分"passScore": "number"     // 及格分数},"questionAnswerList": [{"questionId": "number",       // 题目ID"questionNo": "number",       // 题号"content": "string",          // 题干内容"options": [                  // 选项列表{"questionNo": "number",   // 题号"optionNo": "string",     // 选项编号(A,B,C,D)"content": "string"       // 选项内容}],"correctAnswer": "string",    // 正确答案"answerAnalysis": "string",   // 答案解析"userAnswer": "string"        // 用户答案}]
    }
    
  • 使用场景: 加载试卷题目列表,用于答题、背题、查看答题详情等场景

3.2.3 获取错题列表
  • 接口地址: /api/paper-questions/wrong-question-list
  • 请求方法: GET
  • 请求参数: 无
  • 响应数据: 与题目列表接口格式相同
  • 使用场景: 加载用户错题列表,用于错题练习
3.2.4 提交答案
  • 接口地址: /api/exam/answer

  • 请求方法: POST

  • 请求参数:

    {"recordId": "number",    // 考试记录ID"paperId": "number",     // 试卷ID"questionId": "number",  // 题目ID"userAnswer": "string",  // 用户答案"isCorrect": "number",   // 是否正确(1:正确, 0:错误)"spentTime": "number"    // 答题用时(秒)
    }
    
  • 响应数据:

    {"code": "number"  // 200表示成功
    }
    
  • 使用场景: 用户作答后提交答案

3.2.5 结束考试
  • 接口地址: /api/exam/finish

  • 请求方法: POST

  • 请求参数:

    {"paperId": "number",  // 试卷ID"recordId": "number"  // 考试记录ID
    }
    
  • 响应数据:

    {"data": {"id": "number",              // 考试记录ID"paperId": "number",         // 试卷ID"userId": "number",          // 用户ID"userScore": "number",       // 用户得分"userTotal": "number",       // 总分"startTime": "string",       // 开始时间"finishTime": "string",      // 结束时间"timeUsed": "number",        // 用时(秒)"accuracy": "number",        // 正确率"submitTime": "string"       // 提交时间}
    }
    
  • 使用场景: 用户完成所有题目后结束考试

3.3 统计相关接口

3.3.1 获取统计数据
  • 接口地址: /api/exam/statistics

  • 请求方法: GET

  • 请求参数: 无

  • 响应数据:

    {"data": {"studyHours": "number",     // 学习小时数"questionCount": "number",  // 练习题目数"correctCount": "number"    // 答对题目数}
    }
    
  • 使用场景: 获取用户学习统计数据,用于展示学习成果

4. 错误处理

所有API接口遵循HTTP状态码规范:

  • 200: 请求成功
  • 400: 请求参数错误
  • 401: 未授权访问
  • 404: 资源不存在
  • 500: 服务器内部错误

当状态码不为200时,响应体中会包含错误信息:

{"code": "number",    // 错误码"message": "string"  // 错误描述
}

5. 使用示例

5.1 开始考试

const examRecord = await this.examStart(paperId);

5.2 获取题目列表

const examPaperResponse = await ExamUtils.fetchQuestionList(recordId, paperId);

5.3 提交答案

const result = await ExamUtils.answer(recordId, paperId, questionId, userAnswer, isCorrect ? 1 : 0, 30
);

5.4 结束考试

const examRecord = await ExamUtils.examFinish(paperId, recordId);

6. 注意事项

  1. 所有API请求都需要携带有效的Authorization头
  2. 接口地址会根据当前环境自动拼接完整URL
  3. 响应数据格式可能根据后端服务更新而变化
  4. 开发过程中建议使用开发环境以便调试
  5. 生产环境应确保网络连接稳定,做好错误处理

以上是软考真经微信小程序项目的完整API接口文档。开发人员可以基于此文档进行接口调用和功能开发。


项目源码地址:https://gitee.com/alioo/ruankao

想要体验小程序的朋友可以通过以下二维码进行访问:
小程序二维码

小程序界面效果展示(页面配色、布局全靠AI帮忙):
小程序截图

http://www.dtcms.com/a/456621.html

相关文章:

  • soular入门到实战(5) - Kanass、sward、soular实现sso单点登录
  • 优秀平面设计作品网站wordpress 多人
  • Django5 与 Vue3 表单交互全解析:从基础到实战
  • 《UE5_C++多人TPS完整教程》学习笔记62 ——《P63 多人游戏中的开火特效(Fire Effects in Multiplayer)》
  • [特殊字符] 芋道项目中的参数校验机制详解:以 AppProductActivityListReqVO 为例
  • 网站发的文章如何优化抖音代运营协议模板
  • 三次B样条曲线在参数u(u 不是原始节点向量中的节点)处打断成两条B样条曲线的方法
  • 清华字节开源HuMo: 打造多模态可控的人物视频,输入文字、图片、音频,生成电影级的视频,Demo、代码、模型、数据全开源。
  • Python私教FastAPI+React构建Web应用03 FARM技术栈介绍
  • win11+4060安装cuda,cuda toolkit,cudnn
  • Python小说图片PDF生成器开发详解
  • 一款小巧的绿色内存自动清理软件
  • 开源 C++ QT QML 开发(十一)通讯--TCP服务器端
  • 计算机毕业设计java共享茶室预约微信小程序 微信小程序中的共享茶室预订平台 茶室共享预约小程序的设计与开发
  • 《投资-104》价值投资者的认知升级与交易规则重构 - 如何从投资的角度选择创业的方向?
  • 网站底部素材临沂市平邑县建设局网站
  • 光通信|OAM-波长可控交叉连接
  • Redshift中锁定表的查询与处理
  • 利用AI+大数据的方式分析恶意样本(四十六)
  • 解码Linux环境搭建
  • 第8章:定时任务与触发器——让 Bot 主动服务
  • Javaweb--Vue
  • 大数据模糊计算
  • 2021年408真题易错知识点整理
  • 【金仓数据库】ksql 指南(二) —— 创建与管理本地数据库
  • 凡科网站是骗子跨境网站开发公司
  • vite性能优化
  • git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
  • 手机AIDE使用OpenCV
  • AI智能体(Agent)大模型入门【9】--如何在pycharm等其他编译软件调用ocr工具【只写后端代码不演示】