note/tech/作文评分.md
2025-11-19 10:16:05 +08:00

3.3 KiB
Raw Permalink Blame History

小程序做一个给老师用的快速批改作文的应用。老师通过小程序拍照或上传1张或多张学生的作文上传到服务器已有接口假设是/api/upload服务器调用后端接口把照片转换成文字并给到小程序显示在前端。老师确认文字并选择作文评分标准、作文要求(作文题目)后,再次传给后端服务器(已有接口,假设是/api/rate。后端服务器返回评分到小程序返回分数rate、一句话评价summary、详细评价detail。在小程序内老师还可以设置评分标准、作文要求的地方。这些都通过接口/getuserinfo /gethistory读取。小程序用户体系采用微信openid登录的方式自动获取用户用户手机号。 以下是详细的小程序设计思路分为6个核心模块

  1. 用户体系模块
    • 采用<button open-type=\"getPhoneNumber\">获取用户手机号
    • 通过wx.login获取code换取openid
    • 全局维护用户凭证每次请求携带token
    • 登录异常时引导用户重新授权
  2. 作文上传模块
    • 使用wx.chooseMedia实现多图拍摄/上传
    • 展示上传进度条(可用<progress>组件)
    • 分片上传大文件(需自行实现断点续传)
    • 图片预览支持缩放/旋转/删除操作
    • 调用/api/upload时携带压缩后的base64数据
  3. OCR确认模块
    • 展示服务器返回的识别文字(带段落标记)
    • 集成富文本编辑器(如使用<editor>组件)
    • 文字对比功能:原始图片与识别文字左右分屏
    • 常见错误自动高亮(如标点、错别字)
    • 添加"修改完成"确认按钮触发下一步
  4. 评分设置模块
    • /getuserinfo获取用户自定义评分模板
    • 评分标准使用级联选择器(如字词/句子/篇章结构)
    • 作文要求展示历史记录最近5次使用记录
    • 支持模板保存功能(本地缓存+服务端同步)
    • 评分细则弹出式说明hover显示示例
  5. 结果展示模块
    • 分数展示使用仪表盘组件0-100动态动画
    • 评价内容分栏显示左侧summary右侧detail
    • 支持生成PDF报告调用wx.downloadFile
    • 历史记录列表(带时间轴样式的/gethistory数据
    • 错误标记定位功能(点击评价跳转对应段落)
  6. 技术实现要点
    • 图片处理:使用wx.compressImage压缩到200KB内
    • 数据缓存:评分模板使用wx.setStorageSync本地存储
    • 网络优化:设置\"networkTimeout\"配置超时时间
    • 错误监控封装统一请求拦截器处理API异常
    • 权限管理:敏感接口(如手机号)添加二次确认弹窗流程设计:上传图片 → OCR确认 → 设置评分 → 获取结果 → 保存/分享

体验优化点:

  1. 首次使用引导视频(演示完整批改流程)
  2. 常用评语快捷输入(用户行为分析自动排序)
  3. 夜间模式切换(保护教师视力)
  4. 字数统计/常见错误统计面板
  5. 跨设备同步功能(通过微信服务通知发送报告)建议先实现核心流程(上传-识别-评分),再逐步迭代优化功能和体验。需特别注意图片处理性能和文字识别准确率提示机制。