widget.js 6 KB
define(
    'mk7/widget',
    [
        'mk7/utils',
        'mk7/url',
        'mk7/jweixin'
    ],
    function(utils, url, jweixin) {
        
        var $$ = Dom7;
        
        var widget = {
            handleToolbar : function(){
                var toolbarElement = $$('.toolbar');
                //alen <948306245@qq.com> 统计为0时 隐藏 统计大于0时 显示
                var badgeElement = toolbarElement.find('.cart-link .badge');
                badgeElement.css('display', 'none');
                setTimeout(function(){
                    $$.ajax({
                        method : "GET",
                        url: url.to('cart/ajax-count'),
                        dataType : "json",
                        success : function(e){
                            //alen <948306245@qq.com> 统计为0时 隐藏 统计大于0时 显示
                            if(e.total_quantity>0){
                                badgeElement.css('display', 'inline');
                                badgeElement.text(e.total_quantity);
                            }
                            // toolbarElement.find('.cart-link .badge').text(e.total_quantity);
                        },
                        error : function(e){}
                    });
                });
            },

            handleSearchbar : function(){
                var kw = decodeURI(url.get('keyword'));

                if (kw != '') {
                    $$('.searchbar-input input').val(kw)
                    $$('#searchbar-form').addClass('searchbar-not-empty')
                }
                $$('.open-search-popup').on('click', function() {
                    $$('.popup-search').show()
                })
                $$('.close-search-popup').on('click', function() {
                    $$('.popup-search').hide()
                })
                $$('.search-submit').on('click', function() {
                    var keyword = $$('#search-input').val()
                    location.href = url.to('list', {'keyword' : keyword})
                })
                $$('.hot-word').on('click', function() {
                    var keyword = $$(this).find('a').text()
                    location.href = url.to('list', {'keyword' : keyword})
                })

                $$('#search-input').on('keydown', function(e) {
                   if (e.keyCode == 13) {
                       e.preventDefault();
                       var keyword = $$('#search-input').val()
                       location.href = url.to('list', {'keyword' : keyword})
                   }
                })
            },

            handleJweixin : function(){
                var from = location.href;
                $$.ajax({
                    method : "GET",
                    url: url.to('site/ajax-jweixin'),
                    data:{from:from},
                    dataType : "json",
                    success : function(params){
                        jweixin.config({
                            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                            appId: params.appid, // 必填,公众号的唯一标识
                            timestamp: params.timestamp, // 必填,生成签名的时间戳
                            nonceStr: params.noncestr, // 必填,生成签名的随机串
                            signature: params.signature,// 必填,签名,见附录1
                            jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
                        });
                        jweixin.ready(function () {
                            // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,
                            // config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。
                            // 对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
                            //分享到朋友圈
                            jweixin.onMenuShareTimeline({
                                title: params.title, // 分享标题
                                desc: params.desc, // 分享标题//params.DESC
                                link: params.user_bridge_url, // 分享链接
                                imgUrl: params.icon, // 分享图标
                                success: function () {
                                    // 用户确认分享后执行的回调函数
                                },
                                cancel: function () {
                                    // 用户取消分享后执行的回调函数
                                }
                            });
                            //分享给朋友
                            jweixin.onMenuShareAppMessage({
                                title: params.title, // 分享标题
                                desc: params.desc, // 分享标题//params.DESC
                                link: params.user_bridge_url, // 分享链接
                                imgUrl: params.icon, // 分享图标
                                type: 'link', // 分享类型,music、video或link,不填默认为link
                                success: function () {
                                    // 用户确认分享后执行的回调函数
                                },
                                cancel: function () {
                                    // 用户取消分享后执行的回调函数
                                }
                            });
                        });
                    },
                    error : function(e){}
                });
            },
        };

        return widget;
    }
);