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