...
|
...
|
@@ -25,11 +25,7 @@ var errorMessage = { |
|
|
util.setLogger(res.app.logger);
|
|
|
var options = {
|
|
|
url:oldService.login,
|
|
|
form:{
|
|
|
account:user,
|
|
|
password:password,
|
|
|
website:WEBSITE
|
|
|
}
|
|
|
form:'["'+user+'","'+password+'",1]'//'["zhiyuan","lzy111111",1]'//
|
|
|
}
|
|
|
|
|
|
//调用登陆
|
...
|
...
|
@@ -38,8 +34,9 @@ var errorMessage = { |
|
|
res.json(errorMessage);
|
|
|
return;
|
|
|
} else {
|
|
|
console.log(ret);
|
|
|
//调用菜单
|
|
|
_callGetMenu(ret.data.pid,function(err,data){
|
|
|
_callGetMenu(ret.data.pid,ret.data.role_id,function(err,data){
|
|
|
if(err) {
|
|
|
res.json(errorMessage);
|
|
|
} else {
|
...
|
...
|
@@ -66,24 +63,22 @@ var errorMessage = { |
|
|
* @param {Number} pid 操作员ID
|
|
|
* @param {Function} callback 回调
|
|
|
*/
|
|
|
function _callGetMenu(pid,callback) {
|
|
|
function _callGetMenu(pid,roleid,callback) {
|
|
|
var options = {
|
|
|
url:oldService.getResourceByPid,
|
|
|
form:{
|
|
|
pid:pid,
|
|
|
website:WEBSITE
|
|
|
}
|
|
|
form:'['+pid+','+roleid+',1]'
|
|
|
}
|
|
|
|
|
|
console.log(options);
|
|
|
util.httpCall(options,function(err,ret){
|
|
|
if(err) {
|
|
|
callback(err);
|
|
|
} else {
|
|
|
var menuData = {menu:[],right:{}};
|
|
|
if(ret.data && ret.data.length>0) {
|
|
|
if(ret.data) {
|
|
|
menuData = _makeMenu(ret.data);
|
|
|
}
|
|
|
_getAllMenu(function(ret){
|
|
|
filterRight(ret,menuData);
|
|
|
menuData.noRight = filterRight(ret,menuData);
|
|
|
delete menuData.right;
|
|
|
callback(null,menuData);
|
...
|
...
|
@@ -102,14 +97,17 @@ function _callGetMenu(pid,callback) { |
|
|
function filterRight(ret,menuData) {
|
|
|
var noRight = {};
|
|
|
//匹配没有权限
|
|
|
_.forEach(ret,function(v,k){
|
|
|
if(v.module_url!=='') {
|
|
|
if(!menuData.right[v.module_url]) {
|
|
|
noRight[v.module_url] = true;
|
|
|
for(var key in ret){
|
|
|
var item=ret[key];
|
|
|
for(var i in item.sub){
|
|
|
var v=item.sub[i];
|
|
|
if(v.menu_url!=='') {
|
|
|
if(!menuData.right[v.menu_url]) {
|
|
|
noRight[v.menu_url] = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
return noRight;
|
|
|
}
|
|
|
|
...
|
...
|
@@ -120,7 +118,7 @@ function filterRight(ret,menuData) { |
|
|
function _getAllMenu (callback) {
|
|
|
var options = {
|
|
|
url:oldService.getAllResByWebsite+'?website='+WEBSITE+'&sort=',
|
|
|
method:'GET'
|
|
|
form:'['+WEBSITE+']'
|
|
|
}
|
|
|
|
|
|
util.httpCall(options,function(err,ret){
|
...
|
...
|
@@ -140,27 +138,51 @@ function _getAllMenu (callback) { |
|
|
function _makeMenu (data) {
|
|
|
var menu = [];
|
|
|
var right = {};
|
|
|
_.forEach(data,function(v){
|
|
|
for(var key in data){
|
|
|
|
|
|
var v=data[key];
|
|
|
var item = {
|
|
|
title:v.resource_name,
|
|
|
title:v.menu_name,
|
|
|
}
|
|
|
if(v.parent_id === "0") {
|
|
|
item.parent = 'menu-template';
|
|
|
var itemSubs = [];
|
|
|
_.forEach(v.sub,function(val) {
|
|
|
var sub = {
|
|
|
title:val.resource_name,
|
|
|
href:val.module_url,
|
|
|
title:val.menu_name,
|
|
|
href:val.menu_url,
|
|
|
icon: 'list-alt'
|
|
|
}
|
|
|
right[val.module_url] = true;
|
|
|
right[val.menu_url] = true;
|
|
|
itemSubs.push(sub);
|
|
|
});
|
|
|
|
|
|
item.menu = itemSubs;
|
|
|
}
|
|
|
menu.push(item);
|
|
|
});
|
|
|
}
|
|
|
// _.forEach(data,function(v){
|
|
|
// var item = {
|
|
|
// title:v.menu_name,
|
|
|
// }
|
|
|
// if(v.parent_id === "0") {
|
|
|
// item.parent = 'menu-template';
|
|
|
// var itemSubs = [];
|
|
|
// _.forEach(v.sub,function(val) {
|
|
|
// console.log(v.sub);
|
|
|
// var sub = {
|
|
|
// title:val.menu_name,
|
|
|
// href:val.menu_url,
|
|
|
// icon: 'list-alt'
|
|
|
// }
|
|
|
// right[val.menu_url] = true;
|
|
|
// itemSubs.push(sub);
|
|
|
// });
|
|
|
|
|
|
// item.menu = itemSubs;
|
|
|
// }
|
|
|
// menu.push(item);
|
|
|
// });
|
|
|
|
|
|
return {
|
|
|
menu:menu,
|
...
|
...
|
|