Browse Source

Revert "close page permission control (#3842)" (#3844)

This reverts commit e8c8f8b90d.
pull/3846/head
陈帅 7 years ago
committed by GitHub
parent
commit
e6fe497964
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      config/router.config.js
  2. 35
      src/app.js

5
config/router.config.js

@ -21,9 +21,10 @@ export default [
{ {
path: '/', path: '/',
component: '../layouts/BasicLayout', component: '../layouts/BasicLayout',
Routes: ['src/pages/Authorized'],
routes: [ routes: [
// dashboard // dashboard
{ path: '/', redirect: '/dashboard/analysis' }, { path: '/', redirect: '/dashboard/analysis', authority: ['admin', 'user'] },
{ {
path: '/dashboard', path: '/dashboard',
name: 'dashboard', name: 'dashboard',
@ -87,6 +88,7 @@ export default [
{ {
path: '/form/advanced-form', path: '/form/advanced-form',
name: 'advancedform', name: 'advancedform',
authority: ['admin'],
component: './Forms/AdvancedForm', component: './Forms/AdvancedForm',
}, },
], ],
@ -160,6 +162,7 @@ export default [
{ {
path: '/profile/advanced', path: '/profile/advanced',
name: 'advanced', name: 'advanced',
authority: ['admin'],
component: './Profile/AdvancedProfile', component: './Profile/AdvancedProfile',
}, },
], ],

35
src/app.js

@ -1,3 +1,5 @@
import fetch from 'dva/fetch';
export const dva = { export const dva = {
config: { config: {
onError(err) { onError(err) {
@ -6,6 +8,37 @@ export const dva = {
}, },
}; };
let authRoutes = {};
function ergodicRoutes(routes, authKey, authority) {
routes.forEach(element => {
if (element.path === authKey) {
if (!element.authority) element.authority = []; // eslint-disable-line
Object.assign(element.authority, authority || []);
} else if (element.routes) {
ergodicRoutes(element.routes, authKey, authority);
}
return element;
});
}
export function patchRoutes(routes) {
Object.keys(authRoutes).map(authKey =>
ergodicRoutes(routes, authKey, authRoutes[authKey].authority)
);
window.g_routes = routes;
}
export function render(oldRender) { export function render(oldRender) {
oldRender(); fetch('/api/auth_routes')
.then(res => res.json())
.then(
ret => {
authRoutes = ret;
oldRender();
},
() => {
oldRender();
}
);
} }

Loading…
Cancel
Save