Authored by weiqingting

商家端auth,灰度修改

... ... @@ -13,10 +13,10 @@ var config = {
redis: null,
apiKey: 'sd4H1ecAqlp',
port: 30016,
domain: 'http://192.168.102.202:8088/platform',
// domain: 'http://192.168.102.202:8088/platform',
//domain: 'http://192.168.102.216:8088/platform',
//domain: 'http://172.16.6.227:8088/platform', //马力
// domain: 'http://172.16.6.176:8088/platform', //王书生
domain: 'http://172.16.6.176:8088/platform', //王书生
loggers: {
api: {
level: 'verbose',
... ...
... ... @@ -39,13 +39,9 @@ exports.change = function(shopId, cookie, callback) {
exports.callLogin = function(user, password, res) {
util.setLogger(res.app.logger);
var options = {
url: oldService.login,
form: {
account: user,
password: password,
website: WEBSITE
url:oldService.login,
form:'["'+user+'","'+password+'",'+WEBSITE+']'//'["zhiyuan","lzy111111",1]'//
}
}
//调用登陆
util.httpCall(options, function(err, ret) {
... ... @@ -54,7 +50,7 @@ exports.callLogin = function(user, password, res) {
return;
} else {
//调用菜单
_callGetMenu(ret.data.pid, function(err, data) {
_callGetMenu(ret.data.pid,ret.data.role_id, function(err, data) {
if (err) {
res.json(errorMessage);
} else {
... ... @@ -96,24 +92,18 @@ exports.callLogin = function(user, password, res) {
* @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
url:oldService.getResourceByPid,
form:'['+pid+','+roleid+','+WEBSITE+']'
}
}
util.httpCall(options, function(err, ret) {
if (err) {
callback(err);
} else {
var menuData = {
menu: [],
right: {}
};
if (ret.data && ret.data.length > 0) {
var menuData = {menu:[],right:{}};
if(ret.data) {
menuData = _makeMenu(ret.data);
}
_getAllMenu(function(ret) {
... ... @@ -165,17 +155,20 @@ function _getShopList(pid, callback) {
* @param {Object} menuData [description]
* @return {[type]} [description]
*/
function filterRight(ret, menuData) {
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;
}
... ... @@ -183,14 +176,14 @@ function filterRight(ret, menuData) {
* 获取全部菜单
* @param {Function} callback 结果回调
*/
function _getAllMenu(callback) {
function _getAllMenu (callback) {
var options = {
url: oldService.getAllResByWebsite + '?website=' + WEBSITE + '&sort=',
method: 'GET'
url:oldService.getAllResByWebsite+'?website='+WEBSITE+'&sort=',
form:'['+WEBSITE+']'
}
util.httpCall(options, function(err, ret) {
if (err) {
util.httpCall(options,function(err,ret){
if(err) {
callback({});
} else {
callback(ret.data);
... ... @@ -203,33 +196,34 @@ function _getAllMenu(callback) {
* 组装菜单
* @param {Array} data 菜单数据
*/
function _makeMenu(data) {
var menu = [];
var right = {};
_.forEach(data, function(v) {
var item = {
title: v.resource_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,
icon: 'list-alt'
function _makeMenu (data) {
var menu = [];
var right = {};
for(var key in data){
var v=data[key];
var item = {
title:v.menu_name,
}
right[val.module_url] = true;
itemSubs.push(sub);
});
if(v.parent_id === "0") {
item.parent = 'menu-template';
var itemSubs = [];
_.forEach(v.sub,function(val) {
var sub = {
title:val.menu_name,
href:val.menu_url,
icon: 'list-alt'
}
right[val.menu_url] = true;
itemSubs.push(sub);
});
item.menu = itemSubs;
item.menu = itemSubs;
}
menu.push(item);
}
menu.push(item);
});
return {
menu: menu,
right: right
};
}
\ No newline at end of file
return {
menu:menu,
right:right
};
}
\ No newline at end of file
... ...
var oldSerDomain = 'http://service.api.yohobuy.com';
// var oldSerDomain = 'http://service.api.yohobuy.com';
// var domain = require('../../config/common').domain;
// module.exports = {
// login: oldSerDomain + '/account/api/v1/profile/login',
// getResourceByPid: oldSerDomain + '/account/api/v1/profile/getResourceByPid',
// getAllResByWebsite: oldSerDomain + '/account/api/v1/resources/getAllResByWebsite',
// getShopList: domain+'/ShopsRest/queryShopsByAdminPid',
// changeShops:'http://shops.yohobuy.com/index/ajaxshop'
// };
var oldSerDomain = 'http://serve.yohobuy.com';
var domain = require('../../config/common').domain;
module.exports = {
login: oldSerDomain + '/account/api/v1/profile/login',
getResourceByPid: oldSerDomain + '/account/api/v1/profile/getResourceByPid',
getAllResByWebsite: oldSerDomain + '/account/api/v1/resources/getAllResByWebsite',
login: oldSerDomain + '/service/account/v1/Profile/login',
getResourceByPid: oldSerDomain + '/service/account/v1/Profile/getMenuByPid',
getAllResByWebsite: oldSerDomain + '/service/setting/v1/menu/getAllMenu',
getShopList: domain+'/ShopsRest/queryShopsByAdminPid',
changeShops:'http://shops.yohobuy.com/index/ajaxshop'
};
\ No newline at end of file
... ...