captcha-api.js 1.64 KB
/**
 * Created by TaoHuang on 2016/12/12.
 */

'use strict';

const apiUrl = global.yoho.config.domains.service;
const config = global.yoho.config;
const qs = require('querystring');

const PAGE = 'pc';

module.exports = class extends global.yoho.BaseModel {
    constructor(ctx) {
        super(ctx);
    }

    gen(id) {
        if (id) {
            let params = {
                udid: id,
                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: `${apiUrl}passport/img-check?${qs.stringify(params)}`
                },
                headers
            };

            return Promise.resolve(result);
        } else {
            return Promise.reject({
                code: 400,
                message: '生成二维码失败,请重新刷新!'
            });
        }
    }

    check(id, captcha) {
        return this.get({
            data: {
                method: 'app.verified.graphic',
                udid: id,
                fromPage: PAGE,
                degrees: captcha
            }
        });
    }

    try() {
        return this.get({
            url: 'smart/way'
        });
    }
};