Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
admin-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
admin-ci-test
Commits
4bc92de1
提交
4bc92de1
authored
6月 05, 2023
作者:
ZhangLingKun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
功能:代码优化
上级
cb160300
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
28 行增加
和
16 行删除
+28
-16
index.tsx
src/components/layout/title/index.tsx
+17
-2
index.tsx
src/pages/common/login/index.tsx
+6
-13
index.ts
src/router/index.ts
+4
-0
router.ts
src/utils/router.ts
+1
-1
没有找到文件。
src/components/layout/title/index.tsx
浏览文件 @
4bc92de1
...
@@ -4,14 +4,26 @@ import { DownOutlined, UpOutlined } from '@ant-design/icons';
...
@@ -4,14 +4,26 @@ import { DownOutlined, UpOutlined } from '@ant-design/icons';
import
{
Button
,
Dropdown
,
MenuProps
,
Modal
}
from
'antd'
;
import
{
Button
,
Dropdown
,
MenuProps
,
Modal
}
from
'antd'
;
import
Logo
from
'../../../assets/icon/logo_big.png'
;
import
Logo
from
'../../../assets/icon/logo_big.png'
;
import
'./index.scss'
;
import
'./index.scss'
;
import
{
REMOVE_MENU
,
REMOVE_MENU_ID
,
SET_COLLAPSE
}
from
'~/store/module/menu'
;
import
{
useDispatch
,
useSelector
}
from
'react-redux'
;
import
{
useNavigate
}
from
'react-router-dom'
;
import
Cookies
from
'js-cookie'
;
export
function
TitleView
()
{
export
function
TitleView
()
{
// 弹窗
const
{
confirm
}
=
Modal
;
const
{
confirm
}
=
Modal
;
// redux
const
dispatch
=
useDispatch
();
// 路由钩子
const
navigate
=
useNavigate
();
// 菜单栏是否收起
// 菜单栏是否收起
const
[
isActive
,
setIsActive
]
=
useState
(
false
);
const
[
isActive
,
setIsActive
]
=
useState
(
false
);
// 用户信息
const
{
userInfo
}
=
useSelector
((
state
:
any
)
=>
state
.
UserInfo
);
// 菜单栏收起
// 菜单栏收起
const
setMenuCollapsed
=
()
=>
{
const
setMenuCollapsed
=
()
=>
{
setIsActive
(
!
isActive
);
setIsActive
(
!
isActive
);
dispatch
(
SET_COLLAPSE
(
!
isActive
));
};
};
// 右上角按钮
// 右上角按钮
const
items
:
MenuProps
[
'items'
]
=
[
const
items
:
MenuProps
[
'items'
]
=
[
...
@@ -25,7 +37,10 @@ export function TitleView() {
...
@@ -25,7 +37,10 @@ export function TitleView() {
title
:
'退出登录'
,
title
:
'退出登录'
,
content
:
'退出后未保存数据将会丢失,确定登出吗?'
,
content
:
'退出后未保存数据将会丢失,确定登出吗?'
,
onOk
:
()
=>
{
onOk
:
()
=>
{
console
.
log
(
'点击'
);
navigate
(
'/login'
,
{
replace
:
true
});
Cookies
.
remove
(
'SHAREFLY_TOKEN'
);
dispatch
(
REMOVE_MENU
());
dispatch
(
REMOVE_MENU_ID
());
},
},
});
});
}
}
}
}
...
@@ -62,7 +77,7 @@ export function TitleView() {
...
@@ -62,7 +77,7 @@ export function TitleView() {
<
div
className=
'title-user'
>
<
div
className=
'title-user'
>
<
div
className=
'user-content'
>
<
div
className=
'user-content'
>
<
div
className=
'user-company'
>
科比特
</
div
>
<
div
className=
'user-company'
>
科比特
</
div
>
<
div
className=
'user-name'
>
admin
</
div
>
<
div
className=
'user-name'
>
{
userInfo
.
accountNo
}
</
div
>
</
div
>
</
div
>
<
Dropdown
<
Dropdown
overlayStyle=
{
{
textAlign
:
'center'
}
}
overlayStyle=
{
{
textAlign
:
'center'
}
}
...
...
src/pages/common/login/index.tsx
浏览文件 @
4bc92de1
...
@@ -9,6 +9,7 @@ import { BackEndLoginType } from '~/api/interface/commonType';
...
@@ -9,6 +9,7 @@ import { BackEndLoginType } from '~/api/interface/commonType';
import
{
CommonAPI
}
from
'~/api'
;
import
{
CommonAPI
}
from
'~/api'
;
import
{
useDispatch
}
from
'react-redux'
;
import
{
useDispatch
}
from
'react-redux'
;
import
{
SET_USERINFO
}
from
'~/store/module/userInfo'
;
import
{
SET_USERINFO
}
from
'~/store/module/userInfo'
;
import
{
authRouterList
}
from
'~/router'
;
// 请求的类型
// 请求的类型
type
ReqType
=
InterReqType
<
BackEndLoginType
>
;
type
ReqType
=
InterReqType
<
BackEndLoginType
>
;
...
@@ -39,28 +40,20 @@ function LoginView() {
...
@@ -39,28 +40,20 @@ function LoginView() {
// 存用户信息
// 存用户信息
dispatch
(
SET_USERINFO
(
res
.
result
));
dispatch
(
SET_USERINFO
(
res
.
result
));
// 获取用户的权限
// 获取用户的权限
await
get
UserRol
e
();
await
get
FirstRout
e
();
// console.log('SXTB_TOKEN --->', Cookies.get('SXTB-TOKEN'));
// console.log('SXTB_TOKEN --->', Cookies.get('SXTB-TOKEN'));
}
else
{
}
else
{
message
.
error
(
'登录失败,请检查账号信息'
);
message
.
error
(
'登录失败,请检查账号信息'
);
}
}
};
};
// 获取用户权限
const
getUserRole
=
async
()
=>
{
// TODO: 获取用户权限
// 模拟获取用户权限成功
// 获取用户能使用的全部路由
// 获取用户路由列表
// 获取第一个路由
await
getFirstRoute
();
};
// 获取第一个路由
// 获取第一个路由
const
getFirstRoute
=
()
=>
{
const
getFirstRoute
=
()
=>
{
// TODO: 获取第一个路由
// TODO: 获取第一个路由
// 获取可用的路由表
const
routeList
=
authRouterList
();
// 获取第一个路由
// 获取第一个路由
// console.log('获取第一个路由--->', route);
navigate
(
routeList
[
0
]?.
children
?.[
0
]?.
path
);
// navigate(route[0].path);
// console.log('获取第一个路由--->', routeList[0]?.children?.[0]?.path);
navigate
(
'/orderManage/productOrder'
);
};
};
// componentDidMount
// componentDidMount
useEffect
(()
=>
{
useEffect
(()
=>
{
...
...
src/router/index.ts
浏览文件 @
4bc92de1
...
@@ -3,7 +3,11 @@ import { RouteObjectType, routerList, whiteRouterList } from '~/router/router';
...
@@ -3,7 +3,11 @@ import { RouteObjectType, routerList, whiteRouterList } from '~/router/router';
// 获取用户权限路由列表
// 获取用户权限路由列表
export
const
authRouterList
=
()
=>
{
export
const
authRouterList
=
()
=>
{
// TODO: 获取用户权限
// 模拟获取用户权限成功
// 获取用户能使用的全部路由
// TODO: 在此处对用户权限进行判断,返回不同的路由表
// TODO: 在此处对用户权限进行判断,返回不同的路由表
// 获取用户可用路由列表
return
[...
routerList
];
return
[...
routerList
];
};
};
// 整合路由数据
// 整合路由数据
...
...
src/utils/router.ts
浏览文件 @
4bc92de1
...
@@ -15,7 +15,7 @@ export interface menuItem {
...
@@ -15,7 +15,7 @@ export interface menuItem {
pid
:
number
;
pid
:
number
;
}
}
// 遍历路由树形结构
// 遍历路由树形结构
const
getRouteList
=
(
router
:
routerItem
[])
=>
{
export
const
getRouteList
=
(
router
:
routerItem
[])
=>
{
const
list
=
router
;
const
list
=
router
;
const
arr
:
routerItem
[]
=
[];
const
arr
:
routerItem
[]
=
[];
const
getRoute
=
(
item
:
routerItem
)
=>
{
const
getRoute
=
(
item
:
routerItem
)
=>
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论