imgcheck.js
2.46 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
'use strict';
const PAGE = 'H5';
const logger = global.yoho.logger;
const serviceAPI = global.yoho.ServiceAPI.ApiUrl;
const ApiUrl = global.yoho.API.ApiUrl;
const config = global.yoho.config;
const sign = global.yoho.sign;
const querystring = require('querystring');
module.exports = class extends global.yoho.BaseModel {
constructor(ctx) {
super(ctx);
}
/**
* 获取图片
*/
gen(udid) {
if (udid) {
let params = {
udid: udid,
fromPage: PAGE,
client_type: config.app,
app_version: config.appVersion
};
const headers = {};
if (!global.isProduction && config.yohoVerifyUdid) {
params.udid = global.yoho.verify.udid;
params = global.yoho.sign.apiSign(params);
const verifySign = global.yoho.verify ? global.yoho.verify.sign(params) : '';
headers['x-yoho-verify'] = verifySign;
}
const result = {
code: 200,
data: {
url: `${serviceAPI}passport/img-check?${querystring.stringify(params)}`
},
headers
};
return Promise.resolve(result);
} else {
return Promise.reject({
code: 400,
message: '生成二维码失败,请重新刷新!'
});
}
}
/**
* 校验
*/
check(udid, captcha) {
return this.get({
data: {
method: 'app.verified.graphic',
udid: udid,
fromPage: PAGE,
degrees: captcha
}
}).then(result => {
logger.info(`app.verified.graphic result: ${JSON.stringify(result)}`);
return result;
});
}
/**
* 是否需要验证码
*/
isNeedImgCheck(udid) {
return this.get({
api: global.yoho.ServiceAPI,
url: 'smart/way',
data: {
udid: udid,
fromPage: PAGE
}
}).then(result => {
logger.info(`smart/way ${udid} result: ${JSON.stringify(result)}`);
return result;
});
}
getRiskCheckImg(udid) {
return Promise.resolve(`${ApiUrl}?${querystring.stringify(sign.apiSign({
method: 'app.graphic.img',
udid,
fromPage: PAGE
}))}`);
}
};