70 lines
1.6 KiB
TypeScript
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;
|