egg_server/services/lark/larkNetTool.ts
zhaoyingbo b7437f47e4
All checks were successful
Egg CI/CD / build-image (push) Successful in 49s
Egg CI/CD / deploy (push) Successful in 23s
feat: 优化请求处理 & 拆分Type
2024-06-08 09:15:14 +00:00

64 lines
1.4 KiB
TypeScript

import db from "../../db";
import { LarkServer } from "../../types";
import netTool from "../netTool";
const larkNetTool = async <T = LarkServer.BaseRes>({
url,
method,
params,
data,
headers,
}: {
url: string;
method: string;
params?: any;
data?: any;
headers?: any;
}): Promise<T> => {
const headersWithAuth = {
Authorization: `Bearer ${await db.tenantAccessToken.get()}`,
...headers,
};
return netTool<T>({
url,
method,
params,
data,
headers: headersWithAuth,
}).catch((error) => {
console.error("网络请求异常", error);
return {
code: 1,
data: null,
msg: "网络请求异常",
} as T;
});
};
larkNetTool.get = <T = LarkServer.BaseRes>(
url: string,
params?: any,
headers?: any
): Promise<T> => larkNetTool({ url, method: "get", params, headers });
larkNetTool.post = <T = LarkServer.BaseRes>(
url: string,
data?: any,
params?: any,
headers?: any
): Promise<T> => larkNetTool({ url, method: "post", data, params, headers });
larkNetTool.del = <T = LarkServer.BaseRes>(
url: string,
data: any,
headers?: any
): Promise<T> => larkNetTool({ url, method: "delete", data, headers });
larkNetTool.patch = <T = LarkServer.BaseRes>(
url: string,
data: any,
headers?: any
): Promise<T> => larkNetTool({ url, method: "patch", data, headers });
export default larkNetTool;