$ npm install ywapi2ts
npm i ywapi2ts -g
ywapi2ts init
到当前开发的项目根目录(与package.json平级)运行该命令,如果当前目录已存在ywapi2ts.config.ts
则会提示是否覆盖,没有则会创建,具体配置说明:
export interface ServerConfig {
/**
* 构建ts 、js版本
*
* @example 'ts'
*/
target: 'ts' | 'js',
/**
* YApi 服务地址。
*
* @example 'http://yapi.foo.bar'
*/
serverUrl: string,
/**
* 项目id
*
* @example 'http://yapi.ywwl.org/project/24/interface/api' projectId 对应 24
*/
projectId: string,
/** cookie _yapi_token */
_yapi_token: string,
/** cookie _yapi_uid */
_yapi_uid: string,
/**
* 输出文件路径。
*
* 可以是 `相对路径` 或 `绝对路径`。
*
* @example 'src/ywapi/'
*/
outputFilePath: string,
/**
* 自定义代码片段函数
* 不配置的话会有默认代码片段
*/
generateApiFileCode?: (api: IOutPut) => string,
}
export interface IOutPut {
/** 生成api 文件名称 */
name: string,
/** 接口url */
path: string,
method: Method,
/** 接口名 */
title: string,
/** 接口备注 */
markdown: string,
/** 分类菜单id */
catid: number,
/** 接口ID */
id: number,
/** request interface 名称 */
reqInterfaceName: string,
/** response interface 名称 */
resInterfaceName: string,
requestInterface: string,
responseInterface: string,
}
示例
export default {
serverUrl: 'http://yapi.ywwl.org',
outputFilePath: 'api',
projectId: '24',
_yapi_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjE4LCJpYXQiOjE1NTY1MDYyMTUsImV4cCI6MTU1NzExMTAxNX0.ADmz2HEE6hKoe1DP_U2QtyKSSEURLf5soGKRNyJkX_o',
_yapi_uid: '18',
generateApiFileCode: (api) => {
const arr = [
`
/**
* ${api.title}
* ${api.markdown || ''}
**/
`,
api.requestInterface,
api.responseInterface,
`
export default (data: ${api.reqInterfaceName}): ${api.resInterfaceName} => request({
method: '${api.method}',
url: '${api.path}',
data: data
})
`,
]
return arr.join(`
`)
}
}
一般来说 generateApiFileCode 方法需要自己实现一下,组装拼接出符合自己期望的 接口代码格式
3、生成代码
ywapi2ts
运行该命令 会根据步骤2的配置文件,生产出api(outputFilePath)文件夹,该文件夹下index.ts
作为所有接口的导出口,供项目中导入使用
4、查看接口变动日志ywapi2ts changelog
© 2010 - cnpmjs.org x YWFE | Home | YWFE