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