帮一位老客户开发了一套在线版的题库管理系统,支持 OCR 图片文字识别。
功能清单
- 上传图片进行 OCR 文字识别, 自动解析题目,基于百度 API
- 自动解析答案。判断最后一行,解析
- 能保存识别的历史,可以编辑,删除
- 搜索功能。通过输入关键字查询题库
- 字段包括:科目名称,正确答案,答案状态(确定/不确定),图片,图片解析内容,
- 可以编辑/展示答案状态
- 可以导出/并下载题库。支持按不同科目导出
- 支持多个账号登录题库系统。每个账号可以禁用,使用次数限制。类似一个计费系统。这里需要一个角色的概念,以及记录使用次数的概念。
- 一键删除题库及图片。只有超级管理员可以点击。同时清理导出文件
- 批量上传图片,进行试题图片识别
- 对百度 API 接口调用进行限速可控
- 支持按照指定列重新排序
- 用户间上传的题目,互不可见。
- admin 管理员可以看到所有人上传的题目
- 用户可以看到管理员上传的题目
主要功能截图
服务器配置
腾讯云 2 核 2G 内存的云服务器,3M 带宽。一年资费在 280。
操作系统:Ubuntu Server 18.04
技术架构
- 前端:React / Ant Design Pro
- 后台: Golang Gin / MySQL / Nginx
TODO
- [X] question 表增加字段 user_id,代表是谁上传的
- [X] alter table sql
- [X] 备份新的建表 sql
- [X] 修改 go model 增加 user_id
- [X] 上传逻辑修改,保存用户 id
- [X] 修改 go controller 拉取逻辑代码
- [X] 线上改表
- [X] 线上历史数据的 user_id 设置为 admin 的 id
alter sql
ALTER TABLE `ocr`.`question`
ADD COLUMN `user_id` INT NULL DEFAULT 0 AFTER `answer_status`,
ADD INDEX `ix_uid` (`user_id` ASC) VISIBLE;
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式