提交 d5096d57 作者: 龚洪江

修复:实名认证跳转

上级 e9aa2278
import { useEffect, useState } from 'react';
import { Header } from 'antd/es/layout/layout';
import { DownOutlined, UpOutlined } from '@ant-design/icons';
import { Button, Dropdown, Image, MenuProps, Modal } from 'antd';
import { DownOutlined, LogoutOutlined, UpOutlined, VerifiedOutlined } from '@ant-design/icons';
import { Button, Dropdown, Image, Modal } from 'antd';
import Logo from '../../../assets/icon/logo_big.png';
import './index.scss';
import { REMOVE_MENU, REMOVE_MENU_ID, SET_COLLAPSE } from '~/store/module/menu';
import { REMOVE_MENU, REMOVE_MENU_ID, SET_COLLAPSE, REMOVE_REQ_MENU } from '~/store/module/menu';
import { useDispatch, useSelector } from 'react-redux';
import { useNavigate } from 'react-router-dom';
import Cookies from 'js-cookie';
import { FddInterfaceAPI } from '~/api';
import { InterDataType } from '~/api/interface';
import { userFddInfoType } from '~/api/interface/fddInterfaceType';
import { decode } from 'js-base64';
import { isRouteById } from '~/utils/isRoute';
// fdd实名认证信息类型
type fddAuthType = InterDataType<userFddInfoType>;
......@@ -29,6 +31,7 @@ export function TitleView() {
// 用户信息
const { userInfo } = useSelector((state: any) => state.UserInfo);
const { reqMenuList } = useSelector((state: any) => state.Menu);
// 菜单栏收起
const setMenuCollapsed = () => {
setIsActive(!isActive);
......@@ -42,14 +45,23 @@ export function TitleView() {
}
});
};
// 获取第三方认证连接
const getCompanyVerifyUrl = () => {
FddInterfaceAPI.getCompanyVerifyUrl({ port: 1 }).then(({ result }) => {
if (result) {
window.open(decode(result), '_blank');
}
});
};
// 右上角按钮
const items: MenuProps['items'] = [
const [items, setItems] = useState<any>([
{
key: '1',
label: (
<Button
type='link'
icon={<LogoutOutlined />}
onClick={() => {
confirm({
title: '退出登录',
......@@ -59,6 +71,7 @@ export function TitleView() {
Cookies.remove('SHAREFLY-TOKEN');
dispatch(REMOVE_MENU());
dispatch(REMOVE_MENU_ID());
dispatch(REMOVE_REQ_MENU());
},
});
}}
......@@ -67,10 +80,22 @@ export function TitleView() {
</Button>
),
},
];
{
key: '2',
label: (
<Button type='link' icon={<VerifiedOutlined />} onClick={getCompanyVerifyUrl}>
实名认证
</Button>
),
},
]);
useEffect(() => {
getAppUserFddInfo();
if (!isRouteById(reqMenuList, 1450)) {
items.splice(1, 1);
setItems([...items]);
}
}, []);
return (
<Header
......
......@@ -139,14 +139,6 @@ function EquipmentOrderView() {
setConfirmReturnShow(true);
},
},
{
label: '确认归还',
status: 950,
onClick: (item: TableType[0]) => {
getRentDetail(item.id);
setConfirmReturnShow(true);
},
},
];
// 获取当前按钮对象
const getOperateBtnItem = (code: number) => {
......
......@@ -4,7 +4,7 @@ import { InterDataType } from '~/api/interface';
import { listMenuInfoType } from '~/api/interface/systemManageType';
import { SystemManageAPI } from '~/api';
import { store } from '~/store';
import { SET_MENU } from '~/store/module/menu';
import { SET_MENU, SET_REQ_MENU } from '~/store/module/menu';
//菜单类型
type menuType = InterDataType<listMenuInfoType>;
......@@ -16,6 +16,7 @@ export const authRouterList = async () => {
const { result } = await SystemManageAPI.getListRoleMenuInfo({
roleId: Number(localStorage.getItem('roleId')),
});
store.dispatch(SET_REQ_MENU([result]));
const ids: number[] = getAllKeys([result]);
const getRouteList = (data: RouteObjectType[]) => {
return data.reduce((pre: RouteObjectType[], cur) => {
......
......@@ -170,7 +170,6 @@ import LimitInfo from '~/pages/systemManage/limitManage/limitInfo';
import CustomListDetail from '~/pages/customManage/customList/detail';
import ServiceCategoryDetail from '~/pages/categoryManage/serviceCategoryList/detail';
const AddressManageView = React.lazy(() => import('~/pages/systemManage/addressManage'));
const RealNameAuthView = React.lazy(() => import('~/pages/systemManage/realNameAuth'));
// const IndustryListView = React.lazy(() => import('~/pages/mallManage/industryManage/industryList')); //行业列表
// const IndustryDetailView = React.lazy(
......@@ -1312,17 +1311,6 @@ export const routerList: Array<RouteObjectType> = [
icon: <EnvironmentOutlined />,
},
},
{
path: '/systemManage/realNameAuth',
element: withLoadingComponent(<RealNameAuthView />),
errorElement: <ErrorPage />,
meta: {
id: 1450,
title: '实名认证',
icon: <VerifiedOutlined />,
develop: true,
},
},
],
},
];
import { createSlice } from '@reduxjs/toolkit';
const initialState = {
menuList: [],
reqMenuList: [], //请求的菜单
menuList: [], //过滤后的菜单
collapsedActive: false,
roleId: localStorage.getItem('roleId') ? Number(localStorage.getItem('roleId')) : -1,
};
......@@ -13,12 +14,18 @@ export const menuSlice = createSlice({
SET_MENU(state, action) {
state.menuList = action.payload;
},
SET_REQ_MENU(state, action) {
state.reqMenuList = action.payload;
},
SET_COLLAPSE(state, action) {
state.collapsedActive = action.payload;
},
REMOVE_MENU(state) {
state.menuList = [];
},
REMOVE_REQ_MENU(state) {
state.reqMenuList = [];
},
SET_MENU_ID(state, action) {
state.roleId = action.payload;
localStorage.setItem('roleId', action.payload);
......@@ -29,7 +36,14 @@ export const menuSlice = createSlice({
},
});
export const { SET_MENU, SET_COLLAPSE, REMOVE_MENU, SET_MENU_ID, REMOVE_MENU_ID } =
menuSlice.actions;
export const {
SET_MENU,
SET_COLLAPSE,
REMOVE_MENU,
SET_MENU_ID,
REMOVE_MENU_ID,
REMOVE_REQ_MENU,
SET_REQ_MENU,
} = menuSlice.actions;
export const Menu = menuSlice.reducer;
......@@ -24,3 +24,7 @@ export const isRoute = (list: any, pathname: string) => {
(v.children && isRoute(v.children, pathname)),
);
};
export const isRouteById = (list: any, id: number) => {
return list.some((v: any) => v.id === id || (v.children && isRouteById(v.children, id)));
};
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论