You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

84 lines
2.2 KiB

const menus = require('./../models/menus');
//菜单的增删改查
const menuServices = {
// 获取所有菜单
async getAllMenus() {
let result = await menus.getAllMenus();
return result
},
async createMenu(model) {
let result = await menus.ceateMenu(model);
return result
},
async judgeID(id) {
let result = await menus.getMenusByID(id);
if (result){
result = result[0];
let belong = await menus.getMenusByBelongTo(result.id);
if (belong){
if (belong.length>0){
return belong;
} else {
return null;
}
}else {
return null;
}
}else {
return null;
}
},
async deleteMenu(model,list,fix) {
let id = model.id;
let result = await menus.deleteMenu(id,list,fix);
return result
},
async updateMenu(model) {
let data = {
...model,
// modifiedTime: new Date().getTime()
}
let id = data.id;
delete data.id;
let result = await menus.update(data,id);
return result
},
/**
* 验证所需要的参数
* @param model
* @returns {Promise<void>}
*/
async validatorNeed(model,keys=[]) {
let result = {
success: true,
message: '',
data: null
}
for (let key of keys){
let notHaveValue = model[key.key]==undefined
if (notHaveValue){
result.success=false;
result.message=key.error;
break;
}
let notJudge = key.validate&&await key.validate(model[key.key]);
if (typeof notJudge == 'string'){
result.success=false;
result.message=notJudge;
break;
}else if (typeof notJudge == 'boolean'&&notJudge){
result.success=false;
result.message=key.error;
break;
}
}
return result;
}
}
module.exports = menuServices;