@howlove/format-apis
TypeScript icon, indicating that this package has built-in type declarations

0.0.10 • Public • Published

使用 demo

import formatApis, { getRequestList, RequestSendConfig } from "format-apis";

const apis = {
	cc: {
		/** @todo getRequestList 的注释不会放出来 */
		...getRequestList(
			["add", "commit", ["getUserListPage", "list"], "audit"],
			"/admin/okr-taskgroup/",
			{
				async: true,
				spaceTimer: 1500,
			}
		),
		/** 这里是ee的调用注释 */
		ee: "/path/do/something/ee",
		/** 这里是ff的调用注释 */
		ff: {
			url: "/path/do/something/ff",
			method: "post",
			/** 默认数据 */
			defaultData: {
				username: "k",
			},
			/** 自定义header */
			headers: {
				"Content-Type": "application/json",
			},
			/** 是否异步 */
			async: true,
			/** 异步检查间隔,默认1秒 */
			spaceTimer: 1,
		},
	},
};

const api = formatApis(apis, {
	request: function (
		url: string,
		config: RequestSendConfig,
		axiosConfig: object
	): Promise<any> {
		const { method, data, headers = {} } = config;
		const requestFun = async (params = {}) => {
			/// 这里写你的函数主体,get/post等等
			return { params, method, data, headers, url, axiosConfig };
		};
		return requestFun();
	},
	postKey: ["send", "create", "update", "delete"],
});
api.cc.add();
api.cc.ff();
api.cc.ee();

更新备注

0.0.3 ---------- 2023-12-15 17:48:42
更新内容: 将 postKey 转为正则进行匹配,就可以传*

0.0.4 ---------- 2023-12-15 22:05:42
getRequestList 数组优化,可以传递['getUserList','list'],在调用时 *.list,但是接口尾部内容是 /getUserList 0.0.6 ---------- 2024/1/30 17:56:04
更新内容: 去掉了checkAsync,感觉用不到,增加第三个参数requestConfig

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.0.101latest

Version History

VersionDownloads (Last 7 Days)Published
0.0.101
0.0.90
0.0.80
0.0.70
0.0.50
0.0.40
0.0.4-bate40
0.0.4-bate30
0.0.4-bate20
0.0.4-bate0
0.0.30
0.0.20
0.0.10

Package Sidebar

Install

npm i @howlove/format-apis

Weekly Downloads

1

Version

0.0.10

License

MIT

Unpacked Size

15.5 kB

Total Files

6

Last publish

Collaborators

  • ll36
  • liukai