egg_server/services/lark/larkNetTool.ts
zhaoyingbo 490c6ea3e5
All checks were successful
Egg CI/CD / build-image (push) Successful in 29s
Egg CI/CD / deploy (push) Successful in 21s
feat: 优化app数据的存储方式
2024-07-10 11:26:56 +00:00

70 lines
1.6 KiB
TypeScript

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