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
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'&¬Judge){
|
|
result.success=false;
|
|
result.message=key.error;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
module.exports = menuServices;
|