|
|
@@ -1,6 +1,11 @@
|
|
|
import { PageLoading } from '@ant-design/pro-layout';
|
|
|
import { history, useModel } from 'umi';
|
|
|
-import { checkToken, reFreshCheckToken } from '@/services/sagacare_service/environment';
|
|
|
+import { message } from 'antd';
|
|
|
+import {
|
|
|
+ checkToken,
|
|
|
+ reFreshCheckToken,
|
|
|
+ getUsersInfo,
|
|
|
+} from '@/services/sagacare_service/environment';
|
|
|
import { projectObj } from '@/config/api.js';
|
|
|
import UserStorage from '@/config/sagacare/sagacare_user';
|
|
|
const loginPath = '/noAuth';
|
|
|
@@ -17,11 +22,53 @@ export async function getInitialState(): Promise<{
|
|
|
// settings?: Partial<LayoutSettings>;
|
|
|
currentUser?: API.CurrentUser;
|
|
|
fetchUser?: () => Promise<API.CurrentUser | undefined>;
|
|
|
+ projectObj?: any;
|
|
|
//loading?: boolean;
|
|
|
//fetchUserInfo?: () => Promise<API.CurrentUser | undefined>;
|
|
|
}> {
|
|
|
const { location } = history;
|
|
|
-
|
|
|
+ let currentUser = {};
|
|
|
+ //debugger;
|
|
|
+ const checkUser = async () => {
|
|
|
+ //获取用户信息 查看权限
|
|
|
+ var userres = await getUsersInfo();
|
|
|
+ if (userres.result === 'success') {
|
|
|
+ var roles = userres.roles || [];
|
|
|
+ if (
|
|
|
+ roles.find((item: any) => {
|
|
|
+ return item.name == '上格云行政端';
|
|
|
+ })
|
|
|
+ ) {
|
|
|
+ //当用户名 密码正确,并且有权限时才跳转
|
|
|
+ currentUser = {
|
|
|
+ name: userres.username,
|
|
|
+ phone: '',
|
|
|
+ id: userres.userId,
|
|
|
+ };
|
|
|
+ var userObj = UserStorage.getInstance();
|
|
|
+ userObj.setUser(currentUser);
|
|
|
+ } else {
|
|
|
+ message.error('您没有行政端权限');
|
|
|
+ history.push('/login');
|
|
|
+ return {};
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ history.push('/login');
|
|
|
+ }
|
|
|
+ };
|
|
|
+ if (location.pathname !== '/login') {
|
|
|
+ //console.log("localStorage.getItem('token')", localStorage.getItem('token'));
|
|
|
+ if (!localStorage.getItem('token')) {
|
|
|
+ //如何token不存在 则跳到登录页面
|
|
|
+ history.push('/login');
|
|
|
+ return {};
|
|
|
+ } else {
|
|
|
+ //如果存在token
|
|
|
+ await checkUser();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return {};
|
|
|
+ }
|
|
|
let access_token: any = location.query.access_token;
|
|
|
let refresh_token: any = location.query.refresh_token;
|
|
|
|
|
|
@@ -33,7 +80,7 @@ export async function getInitialState(): Promise<{
|
|
|
if (refresh_token) {
|
|
|
localStorage.setItem('refresh_token', refresh_token);
|
|
|
}
|
|
|
- console.log('getInitialState');
|
|
|
+
|
|
|
//如果没有 取缓存
|
|
|
// if (!refresh_token) {
|
|
|
// refresh_token = localStorage.getItem('refresh_token');
|
|
|
@@ -62,65 +109,11 @@ export async function getInitialState(): Promise<{
|
|
|
return undefined;
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
- let currentUser = {};
|
|
|
- //projectId = 'Pj1101080259';
|
|
|
- if (projectObj.projectId == 'Pj3301100002') {
|
|
|
- //之江项目 验证token
|
|
|
- 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,
|
|
|
- // };
|
|
|
-
|
|
|
+ //debugger;
|
|
|
return {
|
|
|
currentUser,
|
|
|
fetchUser,
|
|
|
+ projectObj,
|
|
|
};
|
|
|
}
|
|
|
|
|
|
@@ -132,6 +125,11 @@ export const request = {
|
|
|
options: {
|
|
|
...options,
|
|
|
interceptors: true,
|
|
|
+ headers: {
|
|
|
+ token: localStorage.getItem('token'),
|
|
|
+ 'sso-token': localStorage.getItem('token'),
|
|
|
+ 'X-Forwarded-Token': localStorage.getItem('token'),
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
},
|