好久没来更新了,最近在用node整项目。。。
定义一个名为constant.js文件,用来存放项目的常量信息。
javascript
// 定义一个常量对象
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;
常量信息使用示例
javascript
// 引入公共方法
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)
}