|
@@ -45,17 +45,22 @@ let urlStr = search.split('?')[1]
|
|
|
const urlSearchParams = new URLSearchParams(urlStr)
|
|
const urlSearchParams = new URLSearchParams(urlStr)
|
|
|
const urlParamsResult = Object.fromEntries(urlSearchParams.entries());
|
|
const urlParamsResult = Object.fromEntries(urlSearchParams.entries());
|
|
|
|
|
|
|
|
-const {token} = urlParamsResult
|
|
|
|
|
|
|
+const {token:urlToken} = urlParamsResult
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
-const userData = {
|
|
|
|
|
- avatar: "https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png",
|
|
|
|
|
- name: "中台管理员",
|
|
|
|
|
- token:token,
|
|
|
|
|
- userid: 103
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
-localStorage.setItem('userData', JSON.stringify(userData))
|
|
|
|
|
|
|
+if(urlToken){
|
|
|
|
|
+ //嵌入中台暂时模拟
|
|
|
|
|
+ const userData = {
|
|
|
|
|
+ avatar: "https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png",
|
|
|
|
|
+ name: "中台管理员",
|
|
|
|
|
+ token:urlToken,
|
|
|
|
|
+ userid: 103
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ localStorage.setItem('userData', JSON.stringify(userData))
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
export const initialStateConfig = {
|
|
export const initialStateConfig = {
|
|
|
loading: <PageLoading />,
|
|
loading: <PageLoading />,
|
|
@@ -68,7 +73,7 @@ export async function getInitialState() {
|
|
|
|
|
|
|
|
const fetchUserInfo = async () => {
|
|
const fetchUserInfo = async () => {
|
|
|
|
|
|
|
|
- //const userData = localStorage.getItem('userData');
|
|
|
|
|
|
|
+ const userData = localStorage.getItem('userData');
|
|
|
if (userData) {
|
|
if (userData) {
|
|
|
return userData;
|
|
return userData;
|
|
|
}
|
|
}
|
|
@@ -151,8 +156,9 @@ const authHeaderInterceptor = (url, options) => {
|
|
|
requestMethod = 'get'
|
|
requestMethod = 'get'
|
|
|
}
|
|
}
|
|
|
let authHeader = {};
|
|
let authHeader = {};
|
|
|
|
|
+ const userData = localStorage.getItem('userData');
|
|
|
if (userData) {
|
|
if (userData) {
|
|
|
- const { token } = userData;
|
|
|
|
|
|
|
+ const { token } = JSON.parse(userData);
|
|
|
authHeader.token = token;
|
|
authHeader.token = token;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -285,9 +291,55 @@ const mappingIcon = menuData => {
|
|
|
|
|
|
|
|
export const layout = async ({ initialState }) => {
|
|
export const layout = async ({ initialState }) => {
|
|
|
|
|
|
|
|
- return {
|
|
|
|
|
- headerTitleRender: false,
|
|
|
|
|
- headerRender: false,
|
|
|
|
|
|
|
+ return urlToken?{
|
|
|
|
|
+ headerTitleRender:false,
|
|
|
|
|
+ headerRender:false,
|
|
|
|
|
+ rightContentRender: () => <RightContent />,
|
|
|
|
|
+ disableContentMargin: false,
|
|
|
|
|
+ waterMarkProps: {
|
|
|
|
|
+ content: '',
|
|
|
|
|
+ },
|
|
|
|
|
+ actionRef: layoutActionRef,
|
|
|
|
|
+ footerRender: () => <Footer />,
|
|
|
|
|
+ onPageChange: () => {
|
|
|
|
|
+ const { location } = history; // 如果没有登录,重定向到 login
|
|
|
|
|
+ if (!initialState?.currentUser && location.pathname !== '/user/login') {
|
|
|
|
|
+ history.push(loginPath);
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ menu: {
|
|
|
|
|
+
|
|
|
|
|
+ params: {
|
|
|
|
|
+ userId: initialState,
|
|
|
|
|
+ },
|
|
|
|
|
+ request: async (params, defaultMenuData) => {
|
|
|
|
|
+ // initialState.currentUser 中包含了所有用户信息
|
|
|
|
|
+ const { currentUser, isDev } = initialState;
|
|
|
|
|
+ if (isDev || currentUser.userid == 96) {
|
|
|
|
|
+ //开发环境或超级账号
|
|
|
|
|
+ return []
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (currentUser) {
|
|
|
|
|
+ const resp = await getMenus();
|
|
|
|
|
+ const { data: menu } = resp;
|
|
|
|
|
+
|
|
|
|
|
+ return mappingIcon(menu);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return [
|
|
|
|
|
+ {
|
|
|
|
|
+ component: './404',
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ menuHeaderRender: undefined,
|
|
|
|
|
+ // 自定义 403 页面
|
|
|
|
|
+ // unAccessible: <div>unAccessible</div>,
|
|
|
|
|
+ ...initialState?.settings,
|
|
|
|
|
+ }:{
|
|
|
|
|
+
|
|
|
rightContentRender: () => <RightContent />,
|
|
rightContentRender: () => <RightContent />,
|
|
|
disableContentMargin: false,
|
|
disableContentMargin: false,
|
|
|
waterMarkProps: {
|
|
waterMarkProps: {
|