1. admin-web 接入菜单

2. system 迁移菜单接口
This commit is contained in:
YunaiV
2020-04-27 00:08:28 +08:00
parent 18180b3a01
commit 983c01d709
27 changed files with 323 additions and 103 deletions

View File

@@ -1,7 +1,7 @@
import { routerRedux } from 'dva/router';
import { stringify } from 'qs';
import { getFakeCaptcha } from '@/services/api';
import { usernameAuthenticate } from '@/services/system';
import { oauth2UsernameAuthenticate } from '@/services/system';
import { setAuthority } from '@/utils/authority';
import { getPageQuery } from '@/utils/utils';
import { reloadAuthorized } from '@/utils/Authorized';
@@ -16,7 +16,7 @@ export default {
effects: {
*login({ payload }, { call, put }) {
const response = yield call(usernameAuthenticate, payload);
const response = yield call(oauth2UsernameAuthenticate, payload);
yield put({
type: 'changeLoginStatus',
payload: response,
@@ -24,8 +24,6 @@ export default {
yield put(routerRedux.replace('/'));
debugger;
// Login successfully
if (response.code === 0) {

View File

@@ -3,7 +3,8 @@ import isEqual from 'lodash/isEqual';
import { formatMessage } from 'umi/locale';
import Authorized from '@/utils/Authorized';
import { menu } from '../defaultSettings';
import { getAdminMenus, getAdminUrls } from '../services/admin';
import { getAdminUrls } from '../services/admin';
import { authorizationMenuResourceTree } from '../services/system';
const { check } = Authorized;
@@ -84,7 +85,7 @@ const findRootMenu = (antDataMenus, rootAntDataMenu, requestDataMenu) => {
let res;
for (let i = 0; i < antDataMenus.length; i += 1) {
const antDataMenu = antDataMenus[i];
if (antDataMenu.path === requestDataMenu.handler) {
if (antDataMenu.path === requestDataMenu.route) {
res = rootAntDataMenu;
break;
}
@@ -98,12 +99,12 @@ const findRootMenu = (antDataMenus, rootAntDataMenu, requestDataMenu) => {
const buildTreeMenu = (antMenuData, moveChildrenMenusData, requestDataMenus) => {
return requestDataMenus.map(item => {
if (!item.handler) {
if (!item.route) {
// root 节点
const uuid = `sms${guid()}`;
const res = {
icon: 'user',
name: item.displayName,
name: item.name,
path: uuid,
};
@@ -123,13 +124,13 @@ const buildTreeMenu = (antMenuData, moveChildrenMenusData, requestDataMenus) =>
}
// moveChildrenMenusData 是一个 map对比 url 地址是否存在,不存在就给一个 404 的页面
const handleMapperData = moveChildrenMenusData[item.handler];
const handleMapperData = moveChildrenMenusData[item.route];
if (handleMapperData) {
return {
...handleMapperData,
icon: 'user',
name: item.displayName,
path: item.handler,
name: item.name,
path: item.route,
};
}
@@ -191,7 +192,7 @@ export default {
effects: {
*getMenuData({ payload }, { put, call }) {
const { data } = yield call(getAdminMenus);
const { data } = yield call(authorizationMenuResourceTree);
const { routes, authority } = payload;
// authority 已经不适用

View File

@@ -3,10 +3,6 @@ import request from '@/utils/request';
// auth
export async function getAdminMenus() {
return request('/admin-api/admins/admin/menu_resource_tree');
}
export async function getAdminUrls(params) {
return request(`/admin-api/admins/admin/url_resource_list?${stringify(params)}`);
}

View File

@@ -1,10 +1,19 @@
import { stringify } from '@/utils/request.qs';
import request from '@/utils/request';
// ========== OAuth2 模块 ==========
export async function usernameAuthenticate(params) {
export async function oauth2UsernameAuthenticate(params) {
return request(`/system-api/admins/oauth2/username-authenticate?${stringify(params)}`, {
method: 'POST',
body: {},
});
}
// ========== Authorization 模块 ==========
export async function authorizationMenuResourceTree() {
return request('/system-api/admins/authorization/menu-resource-tree', {
method: 'GET',
});
}