Commit d1a8af94 by wufan

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

parent 2c8fe8f0
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴文洁 * @Author: 吴文洁
* @Date: 2020-08-31 09:34:25 * @Date: 2020-08-31 09:34:25
* @LastEditors: wufan * @LastEditors: wufan
* @LastEditTime: 2020-12-08 15:31:43 * @LastEditTime: 2020-12-26 14:19:23
* @Description: * @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有 * @Copyright: 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -27,6 +27,9 @@ class User { ...@@ -27,6 +27,9 @@ class User {
getUserId(){ getUserId(){
return Storage.get(`${PREFIX}_userId`) return Storage.get(`${PREFIX}_userId`)
} }
getUserRole(){
return Storage.get(`${PREFIX}_userRole`)
}
getToken() { getToken() {
return Storage.get(`${PREFIX}_token`); return Storage.get(`${PREFIX}_token`);
...@@ -48,6 +51,10 @@ class User { ...@@ -48,6 +51,10 @@ class User {
return Storage.set(`${PREFIX}_userId`,value) return Storage.set(`${PREFIX}_userId`,value)
} }
setUserRole(value:any){
return Storage.set(`${PREFIX}_userRole`,value)
}
setToken(value:any) { setToken(value:any) {
return Storage.set(`${PREFIX}_token`,value); return Storage.set(`${PREFIX}_token`,value);
} }
......
/* /*
* @Author: 吴文洁 * @Author: 吴文洁
* @Date: 2019-07-10 10:30:49 * @Date: 2019-07-10 10:30:49
* @LastEditors: zhangleyuan * @LastEditors: wufan
* @LastEditTime: 2020-12-22 15:39:28 * @LastEditTime: 2020-12-26 14:47:37
* @Description: * @Description:
*/ */
import React, { useContext, useEffect, useState } from 'react'; import React, { useContext, useEffect, useState } from 'react';
...@@ -39,11 +39,13 @@ const App: React.FC = (props: any) => { ...@@ -39,11 +39,13 @@ const App: React.FC = (props: any) => {
BaseService.getUserStore({ userId }).then((res) => { BaseService.getUserStore({ userId }).then((res) => {
const { storeGroupVOS = [], storeVOS = [] } = res.result; 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.setStoreId(id);
User.setStoreUserId(storeUserId); User.setStoreUserId(storeUserId);
User.setStoreName(storeName); User.setStoreName(storeName);
User.setUserRole(userRole);
ctx.dispatch(setStoreGroupList(storeGroupVOS)) ctx.dispatch(setStoreGroupList(storeGroupVOS))
ctx.dispatch(setStoreList(storeVOS)); ctx.dispatch(setStoreList(storeVOS));
serStoreUserId(storeUserId) serStoreUserId(storeUserId)
......
...@@ -102,7 +102,7 @@ function Login(props) { ...@@ -102,7 +102,7 @@ function Login(props) {
User.setUserId(res.result.userId); User.setUserId(res.result.userId);
User.setToken(res.result.xmToken); User.setToken(res.result.xmToken);
window.RCHistory.push({ window.RCHistory.push({
pathname: `/resource-disk`, pathname: `/switch-route`,
}) })
} }
}) })
......
import React , { useContext, useEffect ,useState}from 'react' import React , { useContext, useEffect ,useState}from 'react'
import './Main.less'; import './Main.less';
import { MainRoutes } from '@/routes'; import { MainRoutes, RedirectRoutes } from '@/routes';
function Main(props){ function Main(props){
const {menuType} = props; const {menuType} = props;
...@@ -11,6 +11,7 @@ function Main(props){ ...@@ -11,6 +11,7 @@ function Main(props){
id="rightContainer" id="rightContainer"
> >
<MainRoutes/> <MainRoutes/>
<RedirectRoutes/>
</div> </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 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴文洁 * @Author: 吴文洁
* @Date: 2020-04-29 10:26:32 * @Date: 2020-04-29 10:26:32
* @LastEditors: wufan * @LastEditors: wufan
* @LastEditTime: 2020-12-16 16:39:03 * @LastEditTime: 2020-12-26 14:44:41
* @Description: 内容线路由配置 * @Description: 内容线路由配置
*/ */
import EmployeesManagePage from '@/modules/store-manage/EmployeesManagePage'; import EmployeesManagePage from '@/modules/store-manage/EmployeesManagePage';
...@@ -12,9 +12,8 @@ import StoreDecorationPage from '@/modules/store-manage/StoreDecorationPage'; ...@@ -12,9 +12,8 @@ import StoreDecorationPage from '@/modules/store-manage/StoreDecorationPage';
import CourseCatalogPage from '@/modules/store-manage/CourseCatalogPage'; import CourseCatalogPage from '@/modules/store-manage/CourseCatalogPage';
import LiveCoursePage from '@/modules/course-manage/LiveCoursePage'; import LiveCoursePage from '@/modules/course-manage/LiveCoursePage';
import AddLivePage from '@/modules/course-manage/AddLive' import AddLivePage from '@/modules/course-manage/AddLive'
import DataList from '@/modules/course-manage/DataList/DataList'; import ResourceDisk from '@/modules/resource-disk';
import SwitchRoute from '@/modules/root/SwitchRoute';
import ClassBook from '@/modules/resource-disk';
const mainRoutes = [ const mainRoutes = [
{ {
...@@ -54,9 +53,14 @@ const mainRoutes = [ ...@@ -54,9 +53,14 @@ const mainRoutes = [
}, },
{ {
path: '/resource-disk', path: '/resource-disk',
component:ClassBook, component:ResourceDisk,
name: '资料云盘' name: '资料云盘'
}, },
{
path: '/switch-route',
component: SwitchRoute,
name: '登录后跳转承载页'
}
] ]
export default mainRoutes; 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: 吴文洁 * @Author: 吴文洁
* @Date: 2020-04-28 18:05:30 * @Date: 2020-04-28 18:05:30
* @LastEditors: zhangleyuan * @LastEditors: wufan
* @LastEditTime: 2020-12-11 14:36:59 * @LastEditTime: 2020-12-26 14:37:23
* @Description: * @Description:
*/ */
import mainRoutes from './config/mainRoutes'; import mainRoutes from './config/mainRoutes';
import redirectRoutes from './config/redirectRoutes';
import React from 'react' import React from 'react'
import { Redirect,HashRouter as Router,Route ,Switch} from 'react-router-dom'; import { Redirect,HashRouter as Router,Route ,Switch} from 'react-router-dom';
import { createHashHistory } from 'history'; import { createHashHistory } from 'history';
...@@ -56,8 +57,8 @@ export const RootRouter = () => { ...@@ -56,8 +57,8 @@ export const RootRouter = () => {
</Router> </Router>
) )
} }
export const MainRoutes = () => { export const MainRoutes = () => {
console.log("mainRoutes")
return ( return (
<Switch> <Switch>
{ {
...@@ -77,4 +78,25 @@ export const MainRoutes = () => { ...@@ -77,4 +78,25 @@ export const MainRoutes = () => {
} }
</Switch> </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