import { PageLoading } from '@ant-design/pro-layout'; import { history, useModel } from 'umi'; import { checkToken, reFreshCheckToken } from '@/services/sgservice/environment'; import { projectId } from '@/config/api.js'; import UserStorage from '@/config/user'; const loginPath = '/noAuth'; /** 获取用户信息比较慢的时候会展示一个 loading */ export const initialStateConfig = { loading: , }; /** * @see https://umijs.org/zh-CN/plugins/plugin-initial-state * */ export async function getInitialState(): Promise<{ // settings?: Partial; currentUser?: API.CurrentUser; fetchUser?: () => Promise; //loading?: boolean; //fetchUserInfo?: () => Promise; }> { const { location } = history; let access_token: any = location.query.access_token; let refresh_token: any = location.query.refresh_token; //如果有值 存起来 if (access_token) { localStorage.setItem('access_token', access_token); console.log("localStorage.getItem('access_token')", localStorage.getItem('access_token')); } if (refresh_token) { localStorage.setItem('refresh_token', refresh_token); } console.log('getInitialState'); //如果没有 取缓存 // if (!refresh_token) { // refresh_token = localStorage.getItem('refresh_token'); // } const fetchUser = async () => { try { access_token = localStorage.getItem('access_token'); //if (!access_token) return; //随后去掉 //验证acces_token 获取用户数据 const res = await checkToken({ token: access_token }); var resUser = res.data; } catch (err) { history.push(loginPath); } if (resUser) { //获取用户信息 并储存 var userObj = UserStorage.getInstance(); userObj.setUser(resUser); return resUser; } else { history.push(loginPath); return undefined; } }; let currentUser = {}; //之江项目 验证token if (projectId == 'Pj3301100002') { currentUser = await fetchUser(); } else { let tempUser = { name: '行政测试', phone: '17611228068', id: '9a1ecfbacb6b4f249bf2dd3ec7793ead', }; var userObj = UserStorage.getInstance(); userObj.setUser(tempUser); } const reFreshUser = async () => { refresh_token = localStorage.getItem('refresh_token'); //刷新token 续约token const res = await reFreshCheckToken({ zjfreshtoken: refresh_token, }); if (res.refresh_token) { console.log('refresh_token', res.refresh_token); localStorage.setItem('refresh_token', res.refresh_token); localStorage.setItem('access_token', res.access_token); } else { //如果刷新token失败 //history.push(loginPath); } //1分钟后再执行 setTimeout(() => { // reFreshUser(); }, 60000); }; //await reFreshUser(); // || { // companyId: '245e7060643811eb934c0237aedb39a6', // createDate: 1642388952000, // depName: '[["研发算法组","上格云","博锐尚格科技股份有限公司"]]', // firstUseTime: '2020-10-16 18:37:05', // id: '2d2440710d4548f3afa55c4e8244538e', // job: '研发工程师', // manageUserType: 1, // name: '赵小静', // phone: '18801040736', // projectId: 'Pj1101080259', // status: 2, // type: 1, // updateDate: 1642388952000, // }; return { currentUser, fetchUser, }; } export const request = { requestInterceptors: [ (url: any, options: any) => { return { url, options: { ...options, interceptors: true, }, }; }, ], responseInterceptors: [ async (response: any) => { return response; }, ], errorHandler: (error: any) => { const { response } = error; if (!response) { // message.error('您的网络发生异常,无法连接服务器'); } throw error; }, }; // ProLayout 支持的api https://procomponents.ant.design/components/layout // export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => { // return { // rightContentRender: () => , // disableContentMargin: false, // waterMarkProps: { // content: initialState?.currentUser?.name, // }, // footerRender: () =>