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

45 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

小程序做一个给老师用的快速批改作文的应用。老师通过小程序拍照或上传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. 跨设备同步功能(通过微信服务通知发送报告)建议先实现核心流程(上传-识别-评分),再逐步迭代优化功能和体验。需特别注意图片处理性能和文字识别准确率提示机制。