跳转到内容

UnoAPI 正式开源!又可以让你少写几百行代码了

🎉 花了 3 天的时间,终于把项目的代码整理完成了,并且已经推送到 Github 上,各位看官可自行查看!

Github 仓库

本次更新,主要包括:

  • 支持多种配置方式
  • 支持 ignores 过滤
  • 支持 model 泛型参数
  • 支持自动导入 model 头文件
  • 提供 vscode 插件
  • 集成 Github Actions 自动编译发布

快速体验

👉 先看效果

执行结果

API 函数代码

从 ApiFox 上导了一份钉钉公开接口,一次性生成了 800 多个接口函数,近 2000 个模型文件。

快速体验,只需要执行命令:

bash
npx @unoapi/cli --all -u https://unoapi.codingmo.com/api/dd-openapi-v31.json

直接复制这条指令 👆,就可以快速体验。

总共耗时大概 10 多秒,取决于你电脑的网络和性能。

一次性生成全部接口,使用场景可能不多,实际上 UnoAPI 使用非常灵活:

"

  • 只生成指定 URL 的接口
  • 缓存文档到本地,后面使用不依赖网络
  • 只生成 model 文件
  • 自定义 api 函数代码的模板
  • 指定输出目录

更多功能介绍可以看 Github 上的文档介绍。

现在 vscode 扩展还处于本地测试阶段,还没想好更好的交互方式,后续更新暂时也会以 CLI 工具为主。

一些想说的

做这个项目之前,本来以为挺简单的一件事情,但是做到现在,发现事情远没有自己想的那么简单。

这次更新和开源也是借助了 AI 工具,主要用来做一些辅助的事情,比如:

  • 写文档
  • 写测试用例
  • 写主页站点
  • 写集成脚本
  • 优化代码

就目前来说,UnoAPI 还处于初级阶段,有太多太多的细节需要完善。

目前,有近一半的代码都是在处理各种千奇百怪的兼容性问题,这个文档跑通了,另一个文档又出错了。

"

😭 现实中基本上没有完美的、严格遵守标准的文档,各种写法只有你想不到、没有它做不到。

  • URL 路径不规范
  • 非法字符:中文、空格、各种符号
  • 各种信息乱填
  • ...

判断越来越多,代码也是越写越乱。

然后不得不使用 AI 写了一些测试用例,还好之前的设计都是基于函数式开发的,所以写测试用例相对还是比较简单。

现在,我才真正体会到了写测试用例的重要性 —— 它能极大减轻你写代码的负担!

写在最后

最后,放上 Github 的地址:

感觉不错的话,点个小星星 ⭐️,也欢迎大家提 issue 和 PR。