中台、后台管理系统的开发过程中,原型总是一堆表格、表单,遇到多文字的时候,复制原型文字与接口字段校对的过程是繁琐又痛苦,基于我前期的一个swarger接口查看与生成代码工具, 结合OCRSpace提供的免费api(思路来源插件Copyfish)提取图片文字,完成这一代码生成工具,从而解放大量在校对原型与接口字段的开发能效。
图片提取文本
Free OCR API
https://api.ocr.space/parse/image
按照接口文档完成简单表单,获取文字功能,上传图片有按钮上传、粘贴上传,快捷使用。
完成效果
通过顶部提取按钮进入抽屉弹窗,上传图片提取文本后效果。
文本内容代码生成
由于获取的文本会有“\r\n”等字符,需要分割后才可使用 。 原始文本如:
"名称\r\n状态\r\n创建时间\r\n创建人\r\n"
基础生成代码类型有基础的list数组类型、options类型,也可以自定义方法。
// options类型
[
{
"label": "名称",
"value": "value1"
},
{
"label": "状态",
"value": "value2"
},
{
"label": "创建时间",
"value": "value3"
},
{
"label": "创建人",
"value": "value4"
}
]
文本结合接口文档生成代码
在提取文本弹窗,存在分割文本,且开启代码生成关联开关。在接口文档参数的相关代码生成方法中即可关联文本数组,生成代码。以下是按照原型截图,生成的antd-columns代码,表头顺序一至,对应接口字段(与文档的参数说明做匹配)。
const columns = [
{
dataIndex: "name",
title: "名称",
key:"name",
},
{
dataIndex: "status",
title: "状态",
key: "status",
},
{
dataIndex: "createTime",
title: "创建时间",
key: "createTime",
},
{
dataIndex: "creator",
title: "创建人",
key: "creator",
}
]
工具分析
在原型存在多文字核对,情况下才适用,的确能释放大量复制核对能效,少量文字则作用极小; 表单原型的情况下,需要剔除多余文字干扰。
OCRAPI中文识别精度达不到100%,存在翻译成繁体字情况,接口调用还需先指定识别内容,不支持中英混合, api调用一天限制500次。后期会考虑增加多api入口,如百度识别api精度高支持中英识别,标准版一个月1000次。
最后
工具与swager-OpenApi工具结合放在一起,入口:vscode插件 -> roothub -> TOOLS -> CodeGen