UNPKG

vesh-cli

Version:

码农村nodejs版本VESH框架脚手架搭建器

103 lines (99 loc) 3.62 kB
import V from 'gcl/com/coooders/common/tool'; import C from 'vesh/com/coooders/Project/VESH/V/Control/core-modulers'; export const Action = class extends C.AAction { constructor() { super(); } preload(req, rep, session) { return false; } async yourmethod(req, rep, session, call) { session.status = 'regist'; session.status = 'mailmanage'; return false; } async getUserInfo(req, rep, session) { try { if (!session.User.Login && V.isValid(session.param('sessionID'))) { //被第三方调用尝试重新初始化 session.reInit(session.param('sessionID')); await session.initSession(); } if (session.User.Login) { var userinfo = await session.User.toString(); var roleurl = session.AppSettings('role_url') || '../../'; session.status = `var User = ${userinfo};var role_url = "${roleurl}";`; } else throw new Error('未登录成功!'); } catch (e) { session.Log.error(e.stack); var roleurl = session.AppSettings('role_url') || '../../'; session.status = `var User = {};var role_url = "${roleurl}";`; } return false; } /** * permission 和 sessionID 验证 * @param {*} req * @param {*} rep * @param {*} session */ async checkRight(req, rep, session) { try { session.testRequired('permission') || session.testRequired('sessionID'); if (!session.User.Login) { session.reInit(session.param('sessionID')); } await session.testPermission(session.param('permission')); session.status = V.toJsonString({ success: true, msg: true }); } catch (e) { session.Log.error(e.stack); session.status = V.toJsonString({ success: false, error: e.message }); } return false; } /** * 获取全部的树 * @param {*} req * @param {*} rep * @param {*} session * @param {*} call */ async checkURL(req, rep, session) { try { session.testRequired('url') || session.testRequired('sessionID'); if (!session.User.Login) session.reInit(session.param('sessionID')); const url = session.param('url').split('?')[0].toLowerCase(); const menus = await session.MENUS.get(); let ret = false; menus.forEach(e => { ret = ret || (e.URLFormatting.toLowerCase().trim() == url); }); if (!ret) throw new Error(url + '不可访问!'); session.status = V.toJsonString({ success: true, msg: true }); } catch (e) { session.Log.error(e.stack); session.status = V.toJsonString({ success: false, error: e.message }); } return false; } /** * 原子自增ID key,num * @param {请求对象} req * @param {返回对象} rep * @param {会话对象} session */ async increase(req, rep, session) { try { const ret = await session.Ni.excute('MT', 'com.coooders.project.vesh.module.increaseID', { key: session.testRequired('key'), num: session.testInt('num', null, true) }); session.dbresult[0] = ret.hasData() ? ret.last() : []; } catch (e) { console.log(e.stack); throw new Error(e.message); } return false; } }