bind-service.js 2.46 KB
/**
 * 注册数据接口
 *
 * @author JiangFeng<jeff.jiang@yoho.cn>
 * @date 2016/06/21
 */

'use strict';

const FROM = require('../../../config/from');
const PAGE = 'H5';

class BindServiceModel extends global.yoho.BaseModel {
    constructor(ctx) {
        super(ctx);
    }

    bindCheck(mobile, openId, sourceType, area) {
        return this.get({
            data: {
                method: 'app.passport.signCheck',
                area: area,
                mobile: mobile,
                open_id: openId,
                source_type: sourceType
            }
        });
    }

    sendBindMsg(params) {
        return this.get({
            data: {
                method: 'app.passport.smsbind',
                mobile: params.mobile,
                area: params.area,
                udid: params.udid,
                degrees: params.captcha,
                fromPage: PAGE,
                superCapture: params.superCapture
            }
        });
    }

    checkBindCode(area, mobile, code) {
        return this.get({data: {
            method: 'app.register.validRegCode',
            mobile: mobile,
            area: area,
            code: code
        }});
    }

    bindMobile(params) {
        let finalParams = {
            method: 'app.passport.bind',
            mobile: params.phoneNum,
            code: params.code,
            open_id: params.openId,
            source_type: params.sourceType,
            area: params.areaCode,
            business_line: FROM[params.from].business_line
        };

        if (params.password) {
            finalParams.password = params.password;
        }

        if (params.nickname) {
            finalParams.nickname = params.nickname;
        }

        return this.get({ data: finalParams });
    }

    relateMobile(openId, sourceType, mobile, area) {
        return this.get({data: {
            method: 'app.passport.relatedMobile',
            mobile: mobile,
            openId: openId,
            source_type: sourceType,
            area: area
        }});
    }

    changeCheck(mobile, area) {
        return this.get({data: {
            method: 'app.passport.changeCheck',
            mobile: mobile,
            area: area
        }});
    }

    changeMobile(uid, mobile, area, code) {
        return this.get({data: {
            method: 'app.passport.changeMobile',
            mobile: mobile,
            uid: uid,
            code: code,
            area: area
        }});
    }
}

module.exports = BindServiceModel;