user-api.js 4.02 KB
/**
 * 个人中心 编辑资料api
 * @author: gaohongwei<hongwei.gao@yoho.cn>
 * @date: 2016/8/16
 */
const api = global.yoho.API;

const getUserInfo = uid => {
    return api.get('', {
        method: 'app.passport.profile',
        uid: uid
    });
};

const getUserContactInfo = uid => {
    return api.get('', {
        method: 'web.passport.getUserContacts',
        uid: uid
    });
};

const getProviceCityInfo = (parentId) => {
    return api.get('', {
        method: 'app.address.provinces',
        id: parentId
    });
};

const getUserHabitsInfo = (uid) => {
    return api.get('', {
        method: 'web.passport.getUserHabits',
        uid: uid
    });
};

const getUserLikeBrand = (uid) => {
    return api.get('', {
        method: 'web.passport.getLikeBrand',
        uid: uid
    });
};

const getTipConfig = (uid) => {
    return api.post('', {
        method: 'app.resources.config.clientInitConfig',
        uid: uid
    });
};

/**
 * 修改用户联系信息
 */
const editUserInfo = (userInfo) => {
    return api.get('', {
        method: 'app.passport.modifyBase',
        uid: userInfo.uid,
        nick_name: userInfo.nickname,
        username: userInfo.username,
        gender: userInfo.gender,
        profession: userInfo.profession,
        income: userInfo.income,
        birthday: userInfo.birthday
    });
};

/**
 * 修改用户联系信息
 */
const editUserContactInfo = (contactInfo) => {
    return api.get('', {
        method: 'web.passport.modifyUserContacts',
        uid: contactInfo.uid,
        area_code: contactInfo.areaCode,
        phone: contactInfo.phone,
        mobile: contactInfo.mobile,
        qq: contactInfo.qq,
        full_address: contactInfo.fullAddress,
        zip_code: contactInfo.zipCode
    });
};

/**
 * 修改用户购物着装习惯信息
 */
const editUserHabitsInfo = (habitsInfo) => {
    return api.get('', {
        method: 'web.passport.modifyUserHabits',
        uid: habitsInfo.uid,
        shopping: habitsInfo.shopping,
        dress: habitsInfo.dress
    });
};

/**
 * 修改用户喜欢品牌
 */
const editUserLikeBrand = (uid, brand) => {
    return api.get('', {
        method: 'web.passport.modifyLikeBrand',
        uid: uid,
        brand: brand
    });
};

/**
 * 根据手机号获取用户信息[TODO +cache]
 * @param string $area
 * @param string $mobile
 * @return array
 */
const getUserInfoByMobile = (area, mobile) => {
    return api.get('', {
        method: 'app.passport.getProfileByMobile',
        area: area,
        mobile: mobile
    });
};

/**
 * 兑换礼品卡
 * @param type $uid
 * @param type $giftCardCode1
 * @param type $giftCardCode2
 * @param type $giftCardCode3
 * @param type $captchaCode
 */
const exchangeGift = (params, uid) => {
    return api.get('', {
        method: 'web.personCen.giftExchange',
        uid: uid,
        giftCardCode1: params.giftCardCode1,
        giftCardCode2: params.giftCardCode2,
        giftCardCode3: params.giftCardCode3,
        captchaCode: params.captchaCode
    });
};

const bind3partyAccount = (uid, param) => {
    return api.get('', {
        method: 'app.passport.bindOpenId',
        uid: uid,
        open_id: param.openId,
        source_type: param.sourceType,
        nickname: param.nickname
    });
};

const cancelBind3partyAccount = (uid, type) => {
    return api.get('', {
        method: 'app.passport.removeBindOpenId',
        uid: uid,
        source_type: type
    });
};

const getFavorBrand = () => {
    return api.get('', {
        method: 'web.search.favorBrand'
    });
};

const getCanRemoveBindOpenIdTag = (uid) => {

    return api.get('', {
        method: 'app.passport.isCanRemoveBindOpenId',
        uid: uid
    });

};

module.exports = {
    getUserInfo,
    editUserInfo,
    getUserContactInfo,
    editUserContactInfo,
    getProviceCityInfo,
    getUserHabitsInfo,
    editUserHabitsInfo,
    getUserLikeBrand,
    editUserLikeBrand,
    getTipConfig,
    getUserInfoByMobile,
    exchangeGift,
    bind3partyAccount,
    cancelBind3partyAccount,
    getFavorBrand,
    getCanRemoveBindOpenIdTag
};