31 lines
817 B
TypeScript
31 lines
817 B
TypeScript
import { NetError, NetToolBase } from "@egg/net-tool"
|
|
|
|
import db from "../../db"
|
|
|
|
class LarkBaseService extends NetToolBase {
|
|
constructor(appName: string, requestId: string) {
|
|
super({
|
|
prefix: "https://open.f.mioffice.cn/open-apis",
|
|
requestId,
|
|
getHeaders: async () => ({
|
|
Authorization: `Bearer ${await db.tenantAccessToken.get(appName)}`,
|
|
}),
|
|
})
|
|
}
|
|
|
|
protected async request<T = any>(params: any): Promise<T> {
|
|
return super.request<T>(params).catch((error: NetError) => {
|
|
const res = {
|
|
httpStatus: error.response?.status,
|
|
code: error.code,
|
|
data: error.data,
|
|
message: error.message,
|
|
} as T
|
|
this.logger.error(`larkNetTool catch error: ${JSON.stringify(res)}`)
|
|
return res
|
|
})
|
|
}
|
|
}
|
|
|
|
export default LarkBaseService
|