result.js
1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
* Created by lintry on 16/4/16.
*/
"use strict";
var _ = require('lodash'),
Promise = require('bluebird');
var enums = {
ERROR: 'ERROR', //操作失败
OK: 'OK', //操作成功
EXPIRED: "EXPIRED", //链接过期,禁止进入系统
PASS: "PASS", //登录成功,可以进入系统
WRONG: "WRONG" //账号异常
};
/**
* 创建返回结果对象
* @param ret 返回值
* @param msg 操作提示
* @param err 错误提示
* @param content 相关数据
* @returns {Result}
* @constructor
*/
var Result = function(ret, msg, err, content) {
if (!(this instanceof Result)) {
return new Result(ret, msg, err, content);
}
this.ret = this.content = this.token = void 0;
this.msg = msg;
this.err = err;
ret && enums[ret] && (this.ret = enums[ret]);
content && (this.content = content);
/**
* 返回一个自身为参数的promise
*/
var me = this;
this.promise = function () {
return new Promise(function(resove){
resove(me);
});
};
return this;
};
_.merge(Result, enums);
module.exports = Result;