brand.js 2.32 KB
/**
 * 品牌页面
 * @auhtor: bikai<kai.bi@yoho.cn>
 * @date: 2016/1/21
 */

var $ = require('yoho-jquery');

var $brandFavor = $('#brand-favor'),
    $shopFavor = $('#shop-favor'),
    shopId = $shopFavor.data('id'),
    id = $brandFavor.data('id');

var BRAND_FAV = {
    add: 'add',
    cancel: 'cancel'
};

/**
 * 品牌收藏
 */
$brandFavor.on('click', function() {
    $.ajax({
        type: 'post',
        url: '/product/index/favoriteBrand',
        data: {
            brandId: id,
            type: $brandFavor.find('i').hasClass('coled') ? BRAND_FAV.cancel : BRAND_FAV.add
        }
    }).then(function(res) {
        if (res.code === 200) {
            $brandFavor.find('i').toggleClass('coled');
        } else if (res.code === 403) {
            location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURIComponent(location.href);
        }
    });
});

/**
 * 店铺收藏
 */
$shopFavor.on('click', function() {
    var $dom = $shopFavor.find('i');

    $.ajax({
        type: 'post',
        url: '/product/shop/togglecollect',
        data: {
            isFavorite: $dom.hasClass('coled') ? 0 : 1,
            shopId: shopId
        }
    }).then(function(res) {
        if (res.code === 200) {
            $dom.toggleClass('coled');
        } else if (res.code === 401) {
            location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURIComponent(location.href);
        }
    });
});

// 页面进入更新收藏状态
if ($brandFavor && $brandFavor.length) {

    $.ajax({
        type: 'POST',
        url: '/product/index/isFavoriteBrand',
        data: {
            brandId: id
        }
    }).then(function(data) {
        if (data.code === 200) {

            // 已收藏
            $brandFavor.find('i').addClass('coled');
        } else if (data.code === 404) {

            // 未收藏
            $brandFavor.find('i').removeClass('coled');
        }
    });
}

// 页面进入更新收藏状态
if ($shopFavor && $shopFavor.length) {
    $.ajax({
        type: 'POST',
        url: '/product/index/isFavoriteShop',
        data: {
            shopId: shopId
        }
    }).then(function(data) {
        if (data.code === 200 && data.data) {
            // 已收藏
            $shopFavor.find('i').addClass('coled');
            return;
        }

        $shopFavor.find('i').removeClass('coled');
    });
}