imgcheck.js 1.85 KB
'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) {
        let requestUrl = `${serviceAPI}passport/img-check?udid=${udid}&fromPage=${PAGE}&client_type=${config.app}&app_version=${config.appVersion}`; // eslint-disable-line

        logger.info(`get verifiedGraphicCode: ${requestUrl}`);
        return Promise.resolve({
            code: 200,
            data: {
                verifiedGraphicCode: requestUrl // eslint-disable-line
            }
        });
    }

    /**
     * 校验
     */
    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
        }))}`);
    }
};