me-gift-api.js 4.12 KB
'use strict';

const PAGE = 'pc';

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

    /**
     * [获取礼品卡列表]
     * @param  {[type]} uid    [用户id]
     * @param  {[type]} status [1-可使用,2-已冻结,3-已过期,4-已用完]
     * @return {[type]}        [{}]
     */
    getList(uid, status, page, limit) {
        let options = {
            method: 'app.giftcard.pagelist',
            uid: uid,
            status: status,
            page: page,
            limit: limit || 10
        };

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

    /**
     * [获取礼品卡消费记录]
     * @param  {[type]} cardCode [礼品卡号]
     * @param  {[type]} uid      [用户id]
     * @param  {[type]} page     [当前页]
     * @param  {[type]} limit    [页大小]
     * @return {[type]}          [{}]
     */
    consumeList(params, uid) {
        let options = {
            method: 'app.giftcard.consumelist',
            cardCode: params.cardCode,
            uid: uid,
            page: params.page,
            limit: params.limit || 10
        };

        if (params.type) {
            options.type = params.type;
        }

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

    /**
     * [发送邮箱验证码]
     * @param  {[type]} email    [邮箱]
     * @param  {[type]} uid      [用户id]
     * @return {[type]}          [{}]
     */
    sendEmailCode(email, uid) {
        let options = {
            method: 'app.giftcard.emailcode',
            email: email,
            uid: uid
        };

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

    /**
     * [验证邮箱验证码]
     * @param  {[type]} code     [邮箱验证码]
     * @param  {[type]} uid      [用户id]
     * @return {[type]}          [{}]
     */
    verifyEmail(code, uid) {
        let options = {
            method: 'app.giftcard.verifyemail',
            uid: uid,
            code: code
        };

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

    /**
     * [激活礼品卡]
     * @param  {[type]} uid      [用户id]
     * @param  {[type]} cardCode [礼品卡卡号]
     * @param  {[type]} cardPwd  [礼品卡卡密]
     * @return {[type]}          [{}]
     */
    activateGift(uid, cardCode, cardPwd) {
        let options = {
            method: 'app.giftcard.activate',
            uid: uid,
            cardCode: cardCode,
            cardPwd: cardPwd
        };

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

    /**
     * [检查是否绑定手机号]
     * @param  {[type]} area     [区号]
     * @param  {[type]} mobile   [手机号]
     * @return {[type]}          [{}]
     */
    checkIsCanBind(area, mobile) {
        let options = {
            method: 'app.passport.checkIsCanBind',
            area: area,
            mobile: mobile
        };

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

    /**
     * [发验证码]
     * @param  {[type]} area     [区号]
     * @param  {[type]} mobile   [手机号]
     * @return {[type]}          [{}]
     */
    smsbind(area, mobile, id, captcha) {
        let options = {
            method: 'app.passport.smsbind',
            area: area,
            mobile: mobile,
            udid: id,
            fromPage: PAGE,
            degrees: captcha
        };

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

    /**
     * [修改绑定的手机号]
     * @param  {[type]} area     [区号]
     * @param  {[type]} mobile   [手机号]
     * @param  {[type]} code     [验证码]
     * @param  {[type]} uid      [用户id]
     * @return {[type]}          [{}]
     */
    changeMobile(area, mobile, code, uid) {
        let options = {
            method: 'app.passport.changeMobile',
            area: area,
            mobile: mobile,
            code: code,
            uid: uid
        };

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

    /**
     * [获取用户信息]
     * @param  {[type]} uid      [用户id]
     * @return {[type]}          [{}]
     */
    getProfile(uid) {
        let options = {
            uid: uid,
            method: 'app.passport.profile'
        };

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