原型文字、接口字段太多,我做了个提取文字与接口文档结合的代码生成工具

376 阅读2分钟

中台、后台管理系统的开发过程中,原型总是一堆表格、表单,遇到多文字的时候,复制原型文字与接口字段校对的过程是繁琐又痛苦,基于我前期的一个swarger接口查看与生成代码工具, 结合OCRSpace提供的免费api(思路来源插件Copyfish)提取图片文字,完成这一代码生成工具,从而解放大量在校对原型与接口字段的开发能效。

图片提取文本

Free OCR API

https://api.ocr.space/parse/image

按照接口文档完成简单表单,获取文字功能,上传图片有按钮上传、粘贴上传,快捷使用。

完成效果

通过顶部提取按钮进入抽屉弹窗,上传图片提取文本后效果。

image.png

文本内容代码生成

由于获取的文本会有“\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

github

vscode插件