好久没来更新了,最近在用node整项目。。。
定义一个名为constant.js文件,用来存放项目的常量信息。
// 定义一个常量对象
const obj = {// 默认请求成功DEFAULT_SUCCESS: {code: 1001,msg: ''},// 默认请求失败DEFAULT_ERROR: {code: 1002,msg: '系统错误'},// 定义错误返回-Token验证失败TOKEN_ERROR: {code: 1003,msg: 'Token验证失败'},// 定义错误返回-用户名或密码错误LOGIN_ERROR: {code: 1004,msg: '用户名或密码错误'},
};// 导出对象
module.exports = obj;
常量信息使用示例
// 引入公共方法
const Common = require ('./common');
// 引入常量
const Constant = require ('../constant/constant');// 配置对象
let exportObj = {list
};
// 导出对象
module.exports = exportObj;// 获取数据列表
function list (req, res) {// 定义一个返回对象const resObj = Common.clone (Constant.DEFAULT_SUCCESS);// 定义一个async任务let tasks = {// 校验参数方法checkParams: (cb) => {// TODO: 校验参数Common.checkParams (req.query, ['page', 'rows'], cb);},query: ['checkParams', (results, cb) => {// 设置分页信息let offset = req.query.rows * (req.query.page - 1) || 0;let limit = parseInt (req.query.rows) || 20;//TODO: 存放查询条件信息let whereCondition = {};Model.findAndCountAll ({where: whereCondition,offset: offset,limit: limit,order: [['time', 'DESC']],}).then (function (result) {let list = [];result.rows.forEach ((v, i) => {let obj = {//TODO: 封装返回数据信息id: v.id};list.push (obj);});//TODO: 封装列表数据resObj.data = {list,count: result.count};//TODO: 继续后续操作cb (null);}).catch (function (err) {//TODO: 错误处理console.log (err);// 传递错误信息到async最终方法cb (Constant.DEFAULT_ERROR);});}]};// 执行公共方法中的autoFn方法,返回数据Common.autoFn (tasks, res, resObj)}