Commit b2039d32 authored by cellee's avatar cellee

权限

Signed-off-by: cellee's avatarcellee <893264950@qq.com>
parent 8a96ea46
...@@ -246,7 +246,11 @@ export default defineConfig({ ...@@ -246,7 +246,11 @@ export default defineConfig({
{ path: './', component: './ContractManagement/Contract' }, { path: './', component: './ContractManagement/Contract' },
{ path: './Detail', component: './ContractManagement/ContractDetail' }, { path: './Detail', component: './ContractManagement/ContractDetail' },
{ path: './Edit', component: './ContractManagement/ContractContent' }, { path: './Edit', component: './ContractManagement/ContractContent' },
{ path: './Add', component: './ContractManagement/ContractContent' }, {
path: './Add',
component: './ContractManagement/ContractContent',
access: 'canRead',
},
{ path: '*', component: '@/pages/404' }, { path: '*', component: '@/pages/404' },
], ],
}, },
...@@ -254,7 +258,7 @@ export default defineConfig({ ...@@ -254,7 +258,7 @@ export default defineConfig({
path: '/CommunityManagement', path: '/CommunityManagement',
name: 'communitymanagement', name: 'communitymanagement',
icon: 'HddOutlined', icon: 'HddOutlined',
access: 'canRead', access: 'canRead2',
routes: [ routes: [
{ {
path: './CellList', path: './CellList',
...@@ -376,6 +380,10 @@ export default defineConfig({ ...@@ -376,6 +380,10 @@ export default defineConfig({
}, },
], ],
}, },
{
path: '/403',
component: '@/pages/403',
},
{ {
path: '*', path: '*',
component: '@/pages/404', component: '@/pages/404',
...@@ -385,11 +393,12 @@ export default defineConfig({ ...@@ -385,11 +393,12 @@ export default defineConfig({
], ],
}, },
{ {
path: '*', path: '/403',
component: '@/pages/404', component: '@/pages/403',
}, },
{ {
component: './403', path: '*',
component: '@/pages/404',
}, },
], ],
// Theme for antd: https://ant.design/docs/react/customize-theme-cn // Theme for antd: https://ant.design/docs/react/customize-theme-cn
......
/* /*
* @Author: your name * @Author: your name
* @Date: 2020-12-03 11:27:07 * @Date: 2020-12-03 11:27:07
* @LastEditTime: 2020-12-03 11:31:17 * @LastEditTime: 2020-12-03 14:04:53
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: \tostumi\src\access.ts * @FilePath: \tostumi\src\access.ts
*/ */
export default function (initialState: any) { export default function (initialState: any) {
const userId = JSON.parse(localStorage.getItem('userInfo') as any); // const userId = JSON.parse(localStorage.getItem('userInfo') as any);
return { return {
canRead: (foo: any) => { canRead: (foo: any) => {
console.log(foo); // console.log(foo);
console.log(userId); // console.log(userId);
// return foo.ownerId === userId; // return foo.ownerId === userId;
return true; return true;
}, },
......
...@@ -22,7 +22,7 @@ function formatter(routes, parentPath = '') { ...@@ -22,7 +22,7 @@ function formatter(routes, parentPath = '') {
beforeEach(async () => { beforeEach(async () => {
await page.goto(`${BASE_URL}`); await page.goto(`${BASE_URL}`);
await page.evaluate(() => { await page.evaluate(() => {
localStorage.setItem('antd-pro-authority', '["admin"]'); // localStorage.setItem('antd-pro-authority', '["admin"]');
}); });
}); });
......
...@@ -52,65 +52,65 @@ class SecurityLayout extends React.Component<SecurityLayoutProps, SecurityLayout ...@@ -52,65 +52,65 @@ class SecurityLayout extends React.Component<SecurityLayoutProps, SecurityLayout
// 你可以把它替换成你自己的登录认证规则(比如判断 token 是否存在) // 你可以把它替换成你自己的登录认证规则(比如判断 token 是否存在)
const perList = [ const perList = [
{ key: '1', path: '/UserManagement/LIFEUserManagement' },
{ key: '18', path: '/UserManagement/ServiceProviderManagement' },
{ key: '15', path: '/PropertyManagement' },
{ key: '17', path: '/CommercialService/CommunityMaintenance' },
{ key: '20', path: '/CommercialService/OwnerComplaints' },
{ key: '23', path: '/CommercialService/ProblemFeedback' },
{ key: '26', path: '/CommercialService/RenovationApplication' },
{ key: '29', path: '/CommercialService/AccessCardApplication' },
{ key: '33', path: '/CommercialService/ReportOnline' },
{ key: '36', path: '/CommercialService/ShelfLifeService' },
// cellee 负责部分
// 合同
{ key: '39', path: '/ContractManagement' },
{ key: '40', path: '/ContractManagement/Detail' },
{ key: '41', path: '/ContractManagement/Add' },
{ key: '42', path: '/ContractManagement/Edit' },
// 小区
{ path: '/CommunityManagement/CellList', title: '小区列表', key: '44' },
{ path: '/CommunityManagement/CellList/Detail', title: '查看小区', key: '44' },
{ path: '/CommunityManagement/CellList/Add', title: '编辑小区', key: '45' },
{ path: '/CommunityManagement/CellList/Add', title: '添加小区', key: '46' },
// 小区公告
{ path: '/CommunityManagement/CommunityAnnouncement', title: '小区公告', key: '48' },
{ path: '/CommunityManagement/CommunityAnnouncement/Detail', title: '查看公告', key: '49' },
{ path: '/CommunityManagement/CommunityAnnouncement/Edit', title: '编辑公告', key: '50' },
{ path: '/CommunityManagement/CommunityAnnouncement/Add', title: '添加公告', key: '51' },
// 小区设施
{ path: '/CommunityManagement/FacilityBookings', title: '小区设施', key: '52' },
{ path: '/CommunityManagement/FacilityBookings/Detail', title: '查看预约设施', key: '53' },
{ path: '/CommunityManagement/FacilityBookings/Booking', title: '添加预约设施', key: '54' },
{ {
path: '/UserManagement/LIFEUserManagement', path: '/CommunityManagement/FacilityBookings/FacilityApply',
key: '1', title: '添加预约设施',
key: '54',
}, },
{ {
path: '/UserManagement/ServiceProviderManagement', path: '/CommunityManagement/FacilityBookings/FacilityDetail',
key: '8', title: '查看设施',
}, key: '57',
{
path: '/PropertyManagement',
key: '15',
},
{
path: '/CommercialService/CommunityMaintenance',
key: '17',
},
{
path: '/CommercialService/OwnerComplaints',
key: '20',
},
{
path: '/CommercialService/ProblemFeedback',
key: '23',
},
{
path: '/CommercialService/RenovationApplication',
key: '26',
},
{
path: '/CommercialService/AccessCardApplication',
key: '29',
},
{
path: '/CommercialService/ReportOnline',
key: '33',
},
{
path: '/CommercialService/ShelfLifeService',
key: '36',
}, },
{ path: '/CommunityManagement/FacilityBookings/FacilityEdit', title: '编辑设施', key: '58' },
{ path: '/CommunityManagement/FacilityBookings/Adding', title: '添加设施', key: '59' },
// 访客记录
{ path: '/CommunityManagement/VisitorRecord', title: '访客记录', key: '60' },
// 账号管理
{ path: 'AccountManagement/account', title: '账号管理', key: '62' },
{ path: 'AccountManagement/account/Detail', title: '查看账号', key: '63' },
{ path: 'AccountManagement/account/edit', title: '编辑账号', key: '64' },
{ path: 'AccountManagement/account/Add', title: '添加账号', key: '65' },
]; ];
const permission = JSON.parse(localStorage.getItem('permission') || '[]'); const permission = JSON.parse(localStorage.getItem('permission') || '[]');
console.log('验证权限' + location.pathname);
console.log('拿取所有权限' + permission);
// 判断是否有权限
// if (perList.indexOf("")) {
// }
let perObj = perList.filter((obj) => { let perObj = perList.filter((obj) => {
return obj.path === location.pathname; return obj.path === location.pathname;
}); });
console.log(perObj);
if (perObj.length !== 0) { if (perObj.length !== 0) {
if (permission.indexOf(perObj[0].key) < 0) { if (permission.indexOf(perObj[0].key) < 0) {
console.log('无权限');
history.push('/403'); history.push('/403');
} }
} }
......
...@@ -45,8 +45,10 @@ const Account = (props: any) => { ...@@ -45,8 +45,10 @@ const Account = (props: any) => {
// 刷新加载 // 刷新加载
const Refresh = () => { const Refresh = () => {
const userInfo = JSON.parse(localStorage.getItem('userInfo') || '[]');
let obj = { let obj = {
leaderID: getCookie('id'), creatorId: userInfo.userModel.id ? userInfo.userModel.id : '',
pageNum: 1, pageNum: 1,
}; };
// RA(45, obj); // RA(45, obj);
......
import React, { useState, useEffect } from 'react'; import React, { useEffect } from 'react';
import styles from './index.less'; import styles from './index.less';
import { Input, Menu, Table, Space, Pagination, Tooltip, Button, Form, Upload } from 'antd';
import { Link, useIntl, connect, Dispatch } from 'umi'; import { useAccess, connect } from 'umi';
import Line from '../../components/Line/Line';
import BackButton from '../../components/BackButton/BackButton';
import TitleGet from '../../components/TitleGet/TitleGet'; import TitleGet from '../../components/TitleGet/TitleGet';
import TableShow from '../../components/TableShow/TableShow';
import { getCookie } from '@/utils/method';
import PictureOptions from '@/components/PictureOptions/PictureOptions';
const Guard = (props: any) => { const Guard = (props: any) => {
// var name = pack.name;
// var version = pack.version;
const { dispatch, CommunityList, token } = props; const { dispatch, CommunityList, token } = props;
const tosCommunityget = (values: any) => { const tosCommunityget = (values: any) => {
dispatch({ type: 'Init/tosCommunityget', playload: values }); dispatch({ type: 'Init/tosCommunityget', playload: values });
...@@ -26,7 +22,7 @@ const Guard = (props: any) => { ...@@ -26,7 +22,7 @@ const Guard = (props: any) => {
return ( return (
<div className={styles.base}> <div className={styles.base}>
<TitleGet title={'Version 1.2.4'} /> <TitleGet title={'Version 1.5.0'} />
{/* <p> {/* <p>
token:{page.token} token:{page.token}
name:{getCookie('name')} name:{getCookie('name')}
......
/*
* @Author: your name
* @Date: 2020-11-19 16:54:53
* @LastEditTime: 2020-12-03 13:59:20
* @LastEditors: your name
* @Description: In User Settings Edit
* @FilePath: \tostumi\src\utils\authority.ts
*/
import { reloadAuthorized } from './Authorized'; import { reloadAuthorized } from './Authorized';
// use localStorage to store the authority info, which might be sent from server in actual project. // use localStorage to store the authority info, which might be sent from server in actual project.
...@@ -29,7 +37,7 @@ export function getAuthority(str?: string): string | string[] { ...@@ -29,7 +37,7 @@ export function getAuthority(str?: string): string | string[] {
export function setAuthority(authority: string | string[]): void { export function setAuthority(authority: string | string[]): void {
const proAuthority = typeof authority === 'string' ? [authority] : authority; const proAuthority = typeof authority === 'string' ? [authority] : authority;
localStorage.setItem('antd-pro-authority', JSON.stringify(proAuthority)); // localStorage.setItem('antd-pro-authority', JSON.stringify(proAuthority));
// auto reload // auto reload
reloadAuthorized(); reloadAuthorized();
} }
...@@ -128,4 +128,5 @@ export const requestList = [ ...@@ -128,4 +128,5 @@ export const requestList = [
['/tos/users/quitAndUser', '52 修改账号状态', {}], ['/tos/users/quitAndUser', '52 修改账号状态', {}],
['/tos/tosServiceScope/cancel', '53 删除服务范围'], ['/tos/tosServiceScope/cancel', '53 删除服务范围'],
['/tos/user/permission/get', '54 根据用户名称获取用户权限', {}], ['/tos/user/permission/get', '54 根据用户名称获取用户权限', {}],
['/tos/tosCommunity/get/user', '55 根据用户id获取用户管辖小区名', {}],
]; ];
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