dinegg 3.1.2 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -29,12 +29,12 @@ exports.default = (options) => {
|
|
|
29
29
|
if (!(error instanceof Object)) {
|
|
30
30
|
return responseInnerError(ctx, error);
|
|
31
31
|
}
|
|
32
|
-
// 使用特殊标识标识业务错误,可以明文显示错误信息内容
|
|
32
|
+
// 使用特殊标识标识业务错误,可以明文显示错误信息内容 ctx.throw 到此处
|
|
33
33
|
if (error === null || error === void 0 ? void 0 : error.isDineggBizError) {
|
|
34
34
|
responseBizError(ctx, (error === null || error === void 0 ? void 0 : error.message) || null);
|
|
35
35
|
}
|
|
36
36
|
else if (error === null || error === void 0 ? void 0 : error.isDineggBizSuccess) {
|
|
37
|
-
// 使用特殊标识响应成功,可中断后续执行。
|
|
37
|
+
// 使用特殊标识响应成功,可中断后续执行。 ctx.success ctx.error 都到此处
|
|
38
38
|
responseBizSuccess(ctx, (error === null || error === void 0 ? void 0 : error.sendData) || null);
|
|
39
39
|
}
|
|
40
40
|
else {
|
|
@@ -74,4 +74,4 @@ function responseBizSuccess(ctx, body) {
|
|
|
74
74
|
ctx.body = body;
|
|
75
75
|
ctx.status = 200;
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0Y2hOb0NhdGNoRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjYXRjaE5vQ2F0Y2hFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7R0FPRzs7QUFJSDs7Ozs7R0FLRztBQUNILGtCQUFlLENBQUMsT0FBMEMsRUFBRSxFQUFFO0lBQzdELE9BQU8sS0FBSyxVQUFVLFVBQVUsQ0FBQyxHQUFZLEVBQUUsSUFBd0I7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNkO1FBQ0QsSUFBSTtZQUNILE1BQU0sSUFBSSxFQUFFLENBQUM7U0FDYjtRQUFDLE9BQU8sS0FBVSxFQUFFO1lBQ3BCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtnQkFDM0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDbkQ7WUFDRCxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksTUFBTSxDQUFDLEVBQUU7Z0JBQy9CLE9BQU8sa0JBQWtCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsMENBQTBDO1lBQzFDLElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGdCQUFnQixFQUFFO2dCQUM1QixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxLQUFJLElBQUksQ0FBQyxDQUFDO2FBQzlDO2lCQUFNLElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGtCQUFrQixFQUFFO2dCQUNyQyxpREFBaUQ7Z0JBQ2pELGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxRQUFRLEtBQUksSUFBSSxDQUFDLENBQUM7YUFDakQ7aUJBQU07Z0JBQ04sY0FBYztnQkFDZCxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxLQUFJLElBQUksQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Q7SUFDRixDQUFDLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixlQUFlO0FBQ2YsU0FBUyxrQkFBa0IsQ0FBQyxHQUFZLEVBQUUsR0FBVztJQUNwRCxNQUFNLElBQUksR0FBc0I7UUFDL0IsSUFBSSxFQUFFLEtBQUs7UUFDWCxHQUFHLEVBQUUsV0FBVztRQUNoQixJQUFJLEVBQUUsSUFBSTtRQUNWLE9BQU8sRUFBRSxFQUFFO0tBQ1gsQ0FBQztJQUNGLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLE1BQU0sRUFBRTtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDckI7SUFDRCxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNoQixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztBQUNsQixDQUFDO0FBRUQsa0JBQWtCO0FBQ2xCLFNBQVMsZ0JBQWdCLENBQUMsR0FBWSxFQUFFLEdBQVc7SUFDbEQsTUFBTSxJQUFJLEdBQXNCO1FBQy9CLElBQUksRUFBRSxLQUFLO1FBQ1gsR0FBRyxFQUFFLEdBQUcsSUFBSSxXQUFXO1FBQ3ZCLElBQUksRUFBRSxJQUFJO1FBQ1YsT0FBTyxFQUFFLEVBQUU7S0FDWCxDQUFDO0lBQ0YsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDaEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7QUFDbEIsQ0FBQztBQUNELGVBQWU7QUFDZixTQUFTLGtCQUFrQixDQUFDLEdBQVksRUFBRSxJQUF1QjtJQUNoRSxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNoQixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztBQUNsQixDQUFDIn0=
|
|
@@ -16,11 +16,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
*/
|
|
17
17
|
exports.default = (options) => {
|
|
18
18
|
return async function jwtLogin(ctx, next) {
|
|
19
|
-
var _a;
|
|
19
|
+
var _a, _b;
|
|
20
20
|
if (!options.enable) {
|
|
21
21
|
return next();
|
|
22
22
|
}
|
|
23
|
-
const token = ctx.
|
|
23
|
+
const token = ctx.get("x-authorization") || ctx.get("authorization") || ((_a = ctx.query) === null || _a === void 0 ? void 0 : _a.access_token) || ((_b = ctx.request.query) === null || _b === void 0 ? void 0 : _b.access_token);
|
|
24
24
|
const res = {
|
|
25
25
|
data: null,
|
|
26
26
|
msg: "",
|
|
@@ -37,15 +37,17 @@ exports.default = (options) => {
|
|
|
37
37
|
}
|
|
38
38
|
if (!token) {
|
|
39
39
|
const msg = ctx.__("can not found token on header or query.");
|
|
40
|
-
ctx.status =
|
|
40
|
+
ctx.status = 401;
|
|
41
41
|
ctx.logger.warn(msg);
|
|
42
42
|
res.msg = msg;
|
|
43
|
+
res.code = 50001; // 401 和 50001 共同标记jwt无效,前端可识别处理导航到登录页等需求。
|
|
43
44
|
ctx.body = res;
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
47
|
const checkResult = verifyJwt(ctx, token);
|
|
47
48
|
if (!checkResult) {
|
|
48
|
-
ctx.status =
|
|
49
|
+
ctx.status = 401;
|
|
50
|
+
res.code = 50001;
|
|
49
51
|
res.msg = ctx.gettext(`jwt verify error or the token was expired.`);
|
|
50
52
|
ctx.body = res;
|
|
51
53
|
return;
|
|
@@ -54,11 +56,13 @@ exports.default = (options) => {
|
|
|
54
56
|
};
|
|
55
57
|
};
|
|
56
58
|
function verifyJwt(ctx, token) {
|
|
59
|
+
token = token.replace(/^Bearer\s/, "");
|
|
57
60
|
try {
|
|
58
61
|
// 解码token
|
|
59
62
|
let decode = ctx.app.jwt.verify(token, ctx.app.config.jwt.secret);
|
|
60
63
|
ctx.logger.debug("[jwtLogin middleware] token check ok.\r\n", decode);
|
|
61
64
|
ctx.loginUserInfo = decode;
|
|
65
|
+
ctx.jwtToken = token;
|
|
62
66
|
return true;
|
|
63
67
|
}
|
|
64
68
|
catch (error) {
|
|
@@ -78,4 +82,4 @@ function isInWhiteList(ctx, route_white_list = []) {
|
|
|
78
82
|
const { path } = ctx.request;
|
|
79
83
|
return list.some((item) => path.substring(0, item.length) === item);
|
|
80
84
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0TG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJqd3RMb2dpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7R0FPRzs7QUFJSDs7Ozs7R0FLRztBQUNILGtCQUFlLENBQUMsT0FBaUMsRUFBTyxFQUFFO0lBQ3pELE9BQU8sS0FBSyxVQUFVLFFBQVEsQ0FBQyxHQUFZLEVBQUUsSUFBd0I7O1FBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7U0FDZDtRQUNELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFJLE1BQUEsR0FBRyxDQUFDLEtBQUssMENBQUUsWUFBWSxDQUFBLEtBQUksTUFBQSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssMENBQUUsWUFBWSxDQUFBLENBQUM7UUFFbkksTUFBTSxHQUFHLEdBQXNCO1lBQzlCLElBQUksRUFBRSxJQUFJO1lBQ1YsR0FBRyxFQUFFLEVBQUU7WUFDUCxJQUFJLEVBQUUsS0FBSztZQUNYLE9BQU8sRUFBRSxFQUFFO1NBQ1gsQ0FBQztRQUNGLDRCQUE0QjtRQUM1QixJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDckIsa0NBQWtDO1lBQ2xDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQy9DLE1BQU0sSUFBSSxFQUFFLENBQUM7Z0JBQ2IsT0FBTzthQUNQO1NBQ0Q7UUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1gsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1lBQzlELEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2QsR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQywwQ0FBMEM7WUFDNUQsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFDZixPQUFPO1NBQ1A7UUFFRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQWUsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakIsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFDakIsR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDakIsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7WUFDcEUsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFDZixPQUFPO1NBQ1A7UUFDRCxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsU0FBUyxTQUFTLENBQUMsR0FBWSxFQUFFLEtBQWE7SUFDN0MsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLElBQUk7UUFDSCxVQUFVO1FBQ1YsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQWUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFvQyxDQUFDO1FBQy9HLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLEdBQUcsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQzNCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0tBQ1o7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNmLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0tBQ2I7QUFDRixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGFBQWEsQ0FBQyxHQUFZLEVBQUUsbUJBQTZCLEVBQUU7SUFDbkUsaUNBQWlDO0lBQ2pDLE1BQU0sSUFBSSxHQUFhLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUM5QyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUNyRSxDQUFDIn0=
|
package/index.d.ts
CHANGED
|
@@ -39,19 +39,25 @@ declare module "egg" {
|
|
|
39
39
|
svs: oIService;
|
|
40
40
|
/**
|
|
41
41
|
* 在ctx上抛出错误,具有特殊的isBizError标识,在中间件单独处理,直接响应给前端消息提示
|
|
42
|
-
*
|
|
42
|
+
* - status 500
|
|
43
43
|
*/
|
|
44
44
|
throw(msg?: string, ...args: any[]): never;
|
|
45
|
-
/**
|
|
45
|
+
/**
|
|
46
46
|
* 在ctx上响应success结果,将终止后续执行。业务侧无需return。在service中可以任意地方执行,执行后即终止。
|
|
47
47
|
* 更加适用于api开发,可能不太适合前端接口
|
|
48
|
+
* - status 200
|
|
48
49
|
*/
|
|
49
|
-
success(data:any,code?:number,msg?:string):never;
|
|
50
|
-
/**
|
|
50
|
+
success(data: any, code?: number, msg?: string): never;
|
|
51
|
+
/**
|
|
51
52
|
* 与success对应
|
|
52
|
-
* 抛出业务上的错误响应,但是http响应
|
|
53
|
+
* 抛出业务上的错误响应,但是http响应400,与throw不同,throw响应是500
|
|
54
|
+
* - status 400
|
|
53
55
|
*/
|
|
54
|
-
error(msg:string,code?:number,msgDetails?:string[]):never;
|
|
56
|
+
error(msg: string, code?: number, msgDetails?: string[]): never;
|
|
57
|
+
/** jwt中间件解析出来的用户id等信息 */
|
|
58
|
+
loginUserInfo?: any;
|
|
59
|
+
/** jwt token 字符串 */
|
|
60
|
+
jwtToken?: string;
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
interface EggAppConfig {
|