aegis-dev-tools

前端项目辅助工具

Usage no npm install needed!

<script type="module">
  import aegisDevTools from 'https://cdn.skypack.dev/aegis-dev-tools';
</script>

README

aegis-dev-tools

介绍

这个一个通过swagger文档生成接口的typescript类型以及接口定义对象的工具

安装教程

yarn add aegis-dev-tools

使用说明

定义api.config.js

module.exports = {
  apiRoot: 'generated/api',
  typeRoot: 'generated/types',
  log: [
    // 'debug',
    // 'warn',
    // 'info'
  ],
  templates: {
    definition: 'definition.ts.tmpl'
  },
  configs: [{
    url: 'http://localhost:8080/api-docs',
    excludes: [/\/api\/v1\/msg.*/]
  }],
  typesAsAny: ['JSONArray', 'Serializable', 'JSONObject'],
  typesAsVoid: ['Unit'],
  unwrapTypes: ['Response', 'ResponseSimpleEnum', 'JsonResult']
};

其中configs的获取接口的配置(可以配置多个,通过name属性区分) url: swagger接口描述的获取地址(返回结果为json格式) excludes: 排除的接口地址匹配正则(数组) includes: 指定的接口地址匹配正则(数组) typesAsAny: 是指映射为typescript中any类型的接口数据类型 typesAsVoid: 是指映射为typescript中void类型的接口数据类型,我后端语言使用的是Kotlin,因此要把Unit映射为Void unwrapTypes: 是指后端统一的接口包装类型例如:ResponseData<实际的数据类型>