feat: 更新多个依赖版本,添加客户端认证模块及缓存功能

This commit is contained in:
2026-03-09 19:00:34 +08:00
parent d33db1b8e7
commit 060595c352
10 changed files with 95 additions and 19 deletions

View File

@@ -0,0 +1,58 @@
import { Query } from "@kevisual/query";
import { authCache } from './cache-auth.ts';
const getTokenUser = async (token: string) => {
const query = new Query();
const res = await query.post({
path: 'user',
key: 'me',
token: token,
});
return res;
}
export const getTokenUserCache = async (token: string) => {
const tokenUser = await authCache.get(token);
if (tokenUser) {
return {
code: 200,
data: tokenUser,
};
}
const res = await getTokenUser(token);
if (res.code === 200) {
authCache.set(token, res.data);
}
return res;
}
export const checkAuth = async (ctx: any, isAdmin = false) => {
const token = ctx.query.token;
if (!token) {
return {
code: 401,
message: '未登录',
}
}
// 鉴权代理
let tokenUser = await authCache.get(token);
if (!tokenUser) {
const tokenUserRes = await getTokenUser(token);
if (tokenUserRes.code !== 200) {
return {
code: tokenUserRes.code,
message: '验证失败' + tokenUserRes.message,
}
} else {
tokenUser = tokenUserRes.data;
}
authCache.set(token, tokenUser);
}
ctx.state = {
...ctx.state,
token,
tokenUser,
};
return {
code: 200,
data: { tokenUser, token }
}
};