swagger.mjs文件用于api自动生成声明文件

import * as fs from 'fs'
import * as http from 'http'
import * as iconv from 'iconv-lite'
import path from 'path'
import openapiTS from 'openapi-typescript'
const __dirname = path.resolve()

iconv.default.skipDecodeWarning = true

function start ({ url, name }) {
http.get(url, function (res) {
console.log('http.get url:' + url)
let data = ''
res.setEncoding('binary')
res.on('data', function (chunk) {
data += chunk
})
res.on('end', async function () {
openapiTS(JSON.parse(iconv.default.decode(data, 'utf8')))
.then(output => {
fs.writeFile(${__dirname}/src/api/swaggerTypes/${name}.ts, output, 'utf8', function (err) {
if (err) {
console.log(err)
console.log('down fail')
} else {
console.info(${name} 下载完成!)
}
})
})
})
})
}

// swagger 文档地址 json 格式的文档
const arr = [
{
url: 'http://xxx.dev.zwy.17ecity.cc/v2/api-docs?group=默认接口',
name: 'mobile'
}
]

for (let index = 0; index < arr.length; index++) {
const item = arr[index]
console.log('start url:' + item.url)
start({ url: item.url, name: item.name })
}

posted @   举个栗子走天下  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示