util.js 1.59 KB
/**
 * [购物车] 工具库
 * @author: jinhu.dong<jinhu.dong@yoho.cn>
 * @date: 2016/07/11
 * @module shopping/util
 */
var dialog = require('../../plugins/dialog');
var _alert = dialog.Alert;

// var hbs = require('yoho-handlebars');

// 模版
var emptyCartTpl = require('../../../tpl/shopping/empty-cart.hbs');
var cartTpl = require('../../../tpl/shopping/cart-content.hbs');

var Util = {

    /*
     * ajax请求封装
     * @function [ajax]
     * @params { Object } options ajax请求参数
     */
    ajax: function(options) {
        $.ajax({
            type: options.type || 'GET',
            url: options.url,
            data: options.data || {},
            dataType: 'json'
        }).done(function(res) {
            if (options.success && res.code === 200) {
                options.success(res);
            } else {
                new _alert(res.message).show();
            }
        }).fail(function() {
            if (options.fail) {
                options.fail();
            } else {
                new _alert('网络异常,稍后请重试').show();
            }
        });
    },

    /*
     *  根据服务端JSON,刷新购物车信息
     *  @function [refreshCart]
     *  @params { Object } data 最新购物车数据
     *  @params { Function } callback 购物车刷新后回调
     */
    refreshCart: function(data, callback) {
        $('#cart_content').html(data.hasGoods ? cartTpl(data) : emptyCartTpl);

        $('.pro-name a').dotdotdot({
            wrap: 'letter'
        });

        if (callback) {
            return callback();
        }
    }
};

module.exports = Util;