Commit d1a8af94 by wufan

fix:新增登录后按角色跳转功能

parent 2c8fe8f0
......@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Date: 2020-08-31 09:34:25
* @LastEditors: wufan
* @LastEditTime: 2020-12-08 15:31:43
* @LastEditTime: 2020-12-26 14:19:23
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
......@@ -27,6 +27,9 @@ class User {
getUserId(){
return Storage.get(`${PREFIX}_userId`)
}
getUserRole(){
return Storage.get(`${PREFIX}_userRole`)
}
getToken() {
return Storage.get(`${PREFIX}_token`);
......@@ -48,6 +51,10 @@ class User {
return Storage.set(`${PREFIX}_userId`,value)
}
setUserRole(value:any){
return Storage.set(`${PREFIX}_userRole`,value)
}
setToken(value:any) {
return Storage.set(`${PREFIX}_token`,value);
}
......
/*
* @Author: 吴文洁
* @Date: 2019-07-10 10:30:49
* @LastEditors: zhangleyuan
* @LastEditTime: 2020-12-22 15:39:28
* @LastEditors: wufan
* @LastEditTime: 2020-12-26 14:47:37
* @Description:
*/
import React, { useContext, useEffect, useState } from 'react';
......@@ -39,11 +39,13 @@ const App: React.FC = (props: any) => {
BaseService.getUserStore({ userId }).then((res) => {
const { storeGroupVOS = [], storeVOS = [] } = res.result;
const { id, storeUserId, storeName } = storeVOS[0];
const { id, storeUserId, storeName, userRole } = storeVOS[0];
console.log("userRole----app",userRole)
User.setStoreId(id);
User.setStoreUserId(storeUserId);
User.setStoreName(storeName);
User.setUserRole(userRole);
ctx.dispatch(setStoreGroupList(storeGroupVOS))
ctx.dispatch(setStoreList(storeVOS));
serStoreUserId(storeUserId)
......
......@@ -102,7 +102,7 @@ function Login(props) {
User.setUserId(res.result.userId);
User.setToken(res.result.xmToken);
window.RCHistory.push({
pathname: `/resource-disk`,
pathname: `/switch-route`,
})
}
})
......
import React , { useContext, useEffect ,useState}from 'react'
import './Main.less';
import { MainRoutes } from '@/routes';
import { MainRoutes, RedirectRoutes } from '@/routes';
function Main(props){
const {menuType} = props;
......@@ -11,6 +11,7 @@ function Main(props){
id="rightContainer"
>
<MainRoutes/>
<RedirectRoutes/>
</div>
)
}
......
/*
* @Author: wufan
* @Date: 2020-12-26 11:51:14
* @LastEditors: wufan
* @LastEditTime: 2020-12-26 15:04:26
* @Description: 登录后跳转承载页面
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
import React, { useEffect, useState } from "react";
import { withRouter } from "react-router-dom";
import User from "@/common/js/user";
interface SwitchProps {}
function SwitchRoute(props: SwitchProps) {
useEffect(() => {
const userRole = User.getUserRole();
/**
* 角色登录后跳转
* 管理员和店铺管理员登录后跳转到直播课列表页面
* 讲师登录后跳转资料云盘页面
*/
switch (userRole) {
case "CloudManager":
window.RCHistory.replace({
pathname: `/redirect-to-live-course`,
});
break;
case "StoreManager":
window.RCHistory.replace({
pathname: `/redirect-to-live-course`,
});
break;
case "CloudLecturer":
window.RCHistory.replace({
pathname: `/redirect-to-resource-disk`,
});
break;
}
}, [User.getUserRole()]);
return <div></div>
}
export default SwitchRoute;
......@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Date: 2020-04-29 10:26:32
* @LastEditors: wufan
* @LastEditTime: 2020-12-16 16:39:03
* @LastEditTime: 2020-12-26 14:44:41
* @Description: 内容线路由配置
*/
import EmployeesManagePage from '@/modules/store-manage/EmployeesManagePage';
......@@ -12,9 +12,8 @@ import StoreDecorationPage from '@/modules/store-manage/StoreDecorationPage';
import CourseCatalogPage from '@/modules/store-manage/CourseCatalogPage';
import LiveCoursePage from '@/modules/course-manage/LiveCoursePage';
import AddLivePage from '@/modules/course-manage/AddLive'
import DataList from '@/modules/course-manage/DataList/DataList';
import ClassBook from '@/modules/resource-disk';
import ResourceDisk from '@/modules/resource-disk';
import SwitchRoute from '@/modules/root/SwitchRoute';
const mainRoutes = [
{
......@@ -54,9 +53,14 @@ const mainRoutes = [
},
{
path: '/resource-disk',
component:ClassBook,
component:ResourceDisk,
name: '资料云盘'
},
{
path: '/switch-route',
component: SwitchRoute,
name: '登录后跳转承载页'
}
]
export default mainRoutes;
\ No newline at end of file
import LiveCoursePage from "@/modules/course-manage/LiveCoursePage";
import ResourceDisk from "@/modules/resource-disk";
const redirectRoutes = [
{
path: "/redirect-to-live-course",
component: LiveCoursePage,
name: "课程管理",
},
{
path: "/redirect-to-resource-disk",
component: ResourceDisk,
name: "资料云盘",
},
];
export default redirectRoutes;
/*
* @Author: 吴文洁
* @Date: 2020-04-28 18:05:30
* @LastEditors: zhangleyuan
* @LastEditTime: 2020-12-11 14:36:59
* @LastEditors: wufan
* @LastEditTime: 2020-12-26 14:37:23
* @Description:
*/
import mainRoutes from './config/mainRoutes';
import redirectRoutes from './config/redirectRoutes';
import React from 'react'
import { Redirect,HashRouter as Router,Route ,Switch} from 'react-router-dom';
import { createHashHistory } from 'history';
......@@ -56,8 +57,8 @@ export const RootRouter = () => {
</Router>
)
}
export const MainRoutes = () => {
console.log("mainRoutes")
return (
<Switch>
{
......@@ -77,4 +78,25 @@ export const MainRoutes = () => {
}
</Switch>
)
}
\ No newline at end of file
}
export const RedirectRoutes = () => {
return (
<Switch>
{
_.map(redirectRoutes, ({
path,
component,
}, key) => {
return <Route
key={key}
path={path}
render={() => {
const Component = component;
return <Component />
}}
/>
})
}
</Switch>
)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment