32 lines
894 B
TypeScript
32 lines
894 B
TypeScript
import http from 'http';
|
|
import { getLoginUser } from '@/middleware/auth.ts';
|
|
import { queryConfig } from '../query.ts';
|
|
|
|
/**
|
|
* 重定向到用户首页
|
|
* @param req
|
|
* @param res
|
|
*/
|
|
export const rediretHome = async (req: http.IncomingMessage, res: http.ServerResponse) => {
|
|
const user = await getLoginUser(req);
|
|
if (!user?.token) {
|
|
res.writeHead(302, { Location: '/user/login/' });
|
|
res.end();
|
|
return;
|
|
}
|
|
let redirectURL = '/root/center/';
|
|
try {
|
|
const token = user.token;
|
|
const resConfig = await queryConfig.getConfigByKey('user.json', { token });
|
|
if (resConfig.code === 200) {
|
|
const configData = resConfig.data?.data as any;
|
|
redirectURL = configData?.redirectURL || redirectURL;
|
|
}
|
|
} catch (error) {
|
|
console.error('get resConfig user.json', error);
|
|
} finally {
|
|
res.writeHead(302, { Location: redirectURL });
|
|
res.end();
|
|
}
|
|
};
|