feat: 添加小程序登录和批量获取用户信息的处理函数
All checks were successful
Egg CI/CD / build-image (push) Successful in 30s
Egg CI/CD / deploy (push) Successful in 21s

This commit is contained in:
zhaoyingbo 2024-06-08 09:39:43 +00:00
parent b7437f47e4
commit 8ffc81f969
2 changed files with 56 additions and 7 deletions

View File

@ -1,7 +1,56 @@
import service from "../../services";
/**
*
* @param req
* @returns
*/
const manageLogin = async (req: Request) => {
const url = new URL(req.url);
const code = url.searchParams.get("code");
if (!code) {
return new Response("code not found", { status: 400 });
}
const { data: userInfo } = await service.lark.user.code2Login(code);
console.log("🚀 ~ manageLogin ~ userInfo:", userInfo);
return new Response(JSON.stringify(userInfo));
};
/**
*
* @param req
* @returns
*/
const manageBatchUser = async (req: Request) => {
const body = (await req.json()) as any;
const { user_ids } = body;
if (!user_ids) {
return new Response("user_ids not found", { status: 400 });
}
const {
data: { user: batchUserInfo },
} = await service.lark.user.batchGet(user_ids);
console.log("🚀 ~ manageBatchUser ~ users:", batchUserInfo);
return new Response(JSON.stringify(batchUserInfo));
};
/**
*
* @param req
* @returns
*/
export const manageMicroAppReq = async (req: Request) => {
const url = new URL(req.url);
const body = (await req.json()) as any;
console.log("🚀 ~ manageMicroAppReq ~ body:", body);
// 处理登录请求
if (url.pathname === "/micro_app/login") {
return manageLogin(req);
}
// 处理批量获取用户信息请求
if (url.pathname === "/micro_app/batch_user") {
return manageBatchUser(req);
}
return new Response("hello, glade to see you!");
};

View File

@ -6,7 +6,7 @@ import larkNetTool from "./larkNetTool";
* @param code
* @returns
*/
const code2Session = async (code: string) => {
const code2Login = async (code: string) => {
const URL = `https://open.f.mioffice.cn/open-apis/mina/v2/tokenLoginValidate`;
return larkNetTool.post<LarkServer.UserSessionRes>(URL, { code });
};
@ -16,7 +16,7 @@ const code2Session = async (code: string) => {
* @param user_id
* @returns
*/
const getUser = async (user_id: string) => {
const get = async (user_id: string) => {
const URL = `https://open.f.mioffice.cn/open-apis/contact/v3/users/${user_id}`;
return larkNetTool.get<LarkServer.UserInfoRes>(URL, {
user_id_type: "user_id",
@ -28,7 +28,7 @@ const getUser = async (user_id: string) => {
* @param user_ids
* @returns
*/
const getMultiUser = async (user_ids: string[]) => {
const batchGet = async (user_ids: string[]) => {
const URL = `https://open.f.mioffice.cn/open-apis/user/v1/batch_get`;
return larkNetTool.get<LarkServer.UserInfoRes>(URL, {
user_ids,
@ -37,9 +37,9 @@ const getMultiUser = async (user_ids: string[]) => {
};
const user = {
code2Session,
getMultiUser,
getUser,
code2Login,
batchGet,
get,
};
export default user;