feat: 新增header打印 & 批量获取用户信息改回get模拟
This commit is contained in:
parent
2197db3785
commit
208ea1c538
@ -44,47 +44,20 @@ const get = async (user_id: string, user_id_type: string, isSeek = false) => {
|
||||
};
|
||||
|
||||
/**
|
||||
* 批量获取用户信息
|
||||
* @param user_ids
|
||||
* @returns
|
||||
* 使用get接口模拟批量获取用户信息
|
||||
*/
|
||||
const batchGet = async (
|
||||
user_ids: string[],
|
||||
user_id_type: "open_id" | "user_id",
|
||||
isSeek = false
|
||||
) => {
|
||||
const URL = `https://open.f.mioffice.cn/open-apis/contact/v3/users/batch`;
|
||||
const headers = isSeek
|
||||
? {
|
||||
Authorization: `Bearer ${await db.tenantAccessToken.getSeek()}`,
|
||||
}
|
||||
: {};
|
||||
// 如果user_id长度超出50,需要分批请求
|
||||
const user_idsLen = user_ids.length;
|
||||
const maxLen = 50;
|
||||
|
||||
const requestMap = Array.from(
|
||||
{ length: Math.ceil(user_idsLen / maxLen) },
|
||||
(_, index) => {
|
||||
const start = index * maxLen;
|
||||
const user_idsSlice = user_ids.slice(start, start + maxLen);
|
||||
const getParams = `${user_idsSlice
|
||||
.map((id) => `user_ids=${id}`)
|
||||
.join("&")}&user_id_type=${user_id_type}`;
|
||||
return larkNetTool.get<LarkServer.BatchUserInfoRes>(
|
||||
URL,
|
||||
getParams,
|
||||
headers
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
const responses = await Promise.all(requestMap);
|
||||
|
||||
const items = responses.flatMap((res) => {
|
||||
return res.data?.items || [];
|
||||
const requestMap = user_ids.map((user_id) => {
|
||||
return get(user_id, user_id_type, isSeek);
|
||||
});
|
||||
const responses = await Promise.all(requestMap);
|
||||
const items = responses.map((res) => {
|
||||
return res.data.user;
|
||||
});
|
||||
|
||||
return {
|
||||
code: 0,
|
||||
data: {
|
||||
@ -94,6 +67,57 @@ const batchGet = async (
|
||||
};
|
||||
};
|
||||
|
||||
// /**
|
||||
// * 批量获取用户信息
|
||||
// * @param user_ids
|
||||
// * @returns
|
||||
// */
|
||||
// const batchGet = async (
|
||||
// user_ids: string[],
|
||||
// user_id_type: "open_id" | "user_id",
|
||||
// isSeek = false
|
||||
// ) => {
|
||||
// const URL = `https://open.f.mioffice.cn/open-apis/contact/v3/users/batch`;
|
||||
// const headers = isSeek
|
||||
// ? {
|
||||
// Authorization: `Bearer ${await db.tenantAccessToken.getSeek()}`,
|
||||
// }
|
||||
// : {};
|
||||
// // 如果user_id长度超出50,需要分批请求
|
||||
// const user_idsLen = user_ids.length;
|
||||
// const maxLen = 50;
|
||||
|
||||
// const requestMap = Array.from(
|
||||
// { length: Math.ceil(user_idsLen / maxLen) },
|
||||
// (_, index) => {
|
||||
// const start = index * maxLen;
|
||||
// const user_idsSlice = user_ids.slice(start, start + maxLen);
|
||||
// const getParams = `${user_idsSlice
|
||||
// .map((id) => `user_ids=${id}`)
|
||||
// .join("&")}&user_id_type=${user_id_type}`;
|
||||
// return larkNetTool.get<LarkServer.BatchUserInfoRes>(
|
||||
// URL,
|
||||
// getParams,
|
||||
// headers
|
||||
// );
|
||||
// }
|
||||
// );
|
||||
|
||||
// const responses = await Promise.all(requestMap);
|
||||
|
||||
// const items = responses.flatMap((res) => {
|
||||
// return res.data?.items || [];
|
||||
// });
|
||||
|
||||
// return {
|
||||
// code: 0,
|
||||
// data: {
|
||||
// items,
|
||||
// },
|
||||
// msg: "success",
|
||||
// };
|
||||
// };
|
||||
|
||||
const user = {
|
||||
code2Login,
|
||||
batchGet,
|
||||
|
@ -12,7 +12,12 @@ interface NetGetParams {
|
||||
* @param method
|
||||
* @param data
|
||||
*/
|
||||
const logResponse = async (response: Response, method: string, data: any) => {
|
||||
const logResponse = async (
|
||||
response: Response,
|
||||
method: string,
|
||||
data: any,
|
||||
headers: any
|
||||
) => {
|
||||
let responseData = null;
|
||||
try {
|
||||
responseData = await response.json();
|
||||
@ -23,9 +28,10 @@ const logResponse = async (response: Response, method: string, data: any) => {
|
||||
ok: response.ok,
|
||||
status: response.status,
|
||||
statusText: response.statusText,
|
||||
headers: response.headers,
|
||||
url: response.url,
|
||||
method: method,
|
||||
requestHeaders: headers,
|
||||
responseHeaders: response.headers,
|
||||
requestBody: data,
|
||||
responseBody: responseData as any,
|
||||
};
|
||||
@ -58,7 +64,7 @@ const netTool = <T = any>({
|
||||
...headers,
|
||||
},
|
||||
})
|
||||
.then((response) => logResponse(response, method, data))
|
||||
.then((response) => logResponse(response, method, data, headers))
|
||||
.then((responseLog) => {
|
||||
if (!responseLog.ok) {
|
||||
if (responseLog?.responseBody?.msg) {
|
||||
|
@ -7,7 +7,7 @@ const res = await fetch(localUrl, {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify({
|
||||
user_ids: ["wangyifei", "zhaoyingbo"],
|
||||
user_ids: ["zhaoyingbo", "libo12"],
|
||||
user_id_type: "user_id",
|
||||
}),
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user