var WST = WST?WST:{}; WST.wxv = '2.0_0825'; WST.toJson = function(str,notLimit){ var json = {}; if(str){ try{ if(typeof(str )=="object"){ json = str; }else{ json = eval("("+str+")"); } if(!notLimit){ if(json.status && json.status=='-999'){ WST.inLogin(); } } }catch(e){ alert("系统发生错误:"+e.getMessage); json = {}; } return json; }else{ return; } } //登录 WST.inLogin = function(){ var urla = window.location.href; $.post(WST.U('mobile/index/sessionAddress'),{url:urla},function(data,textStatus){}); var url = WST.U('mobile/users/login',true); window.location.href = url; } //底部的tab WST.initFooter = function(tab){ var homeImage = (tab=='home') ? 'home-active' : 'home'; var categoryImage = (tab=='category') ? 'category-active' : 'category'; var cartImage = (tab=='cart') ? 'cart-active' : 'cart'; var followImage = (tab=='brand') ? 'follow-active' : 'follow'; var usersImage = (tab=='user') ? 'user-active' : 'user'; $('#home').append('首页'); $('#category').append('分类'); $('#cart').prepend('购物车'); $('#follow').append('关注'); $('#user').append('我的'); } //变换选中框的状态 WST.changeIconStatus = function (obj, toggle, status){ if(toggle==1){ if( obj.attr('class').indexOf('ui-icon-unchecked-s') > -1 ){ obj.removeClass('ui-icon-unchecked-s').addClass('ui-icon-success-block wst-active'); }else{ obj.removeClass('ui-icon-success-block wst-active').addClass('ui-icon-unchecked-s'); } }else if(toggle==2){ if(status == 'wst-active'){ obj.removeClass('ui-icon-unchecked-s').addClass('ui-icon-success-block wst-active'); }else{ obj.removeClass('ui-icon-success-block wst-active').addClass('ui-icon-unchecked-s'); } } } WST.changeIptNum = function(diffNum,iptId,id,func){ var suffix = (id)?"_"+id:""; var iptElem = $(iptId+suffix); var minVal = parseInt(iptElem.attr('data-min'),10); var maxVal = parseInt(iptElem.attr('data-max'),10); var num = parseInt(iptElem.val(),10); num = num?num:1; num = num + diffNum; if(maxVal<=num)num=maxVal; if(num<=minVal)num=minVal; if(num==0)num=1; iptElem.val(num); if(suffix!='')WST.changeCartGoods(id,num,-1); if(func){ var fn = window[func]; fn(); } } WST.changeCartGoods = function(id,buyNum,isCheck){ $.post(WST.U('mobile/carts/changeCartGoods'),{id:id,isCheck:isCheck,buyNum:buyNum,rnd:Math.random()},function(data,textStatus){ var json = WST.toJson(data); if(json.status!=1){ WST.msg(json.msg,'info'); } }); } // 批量修改购物车状态 WST.batchChangeCartGoods = function(ids,isCheck){ $.post(WST.U('mobile/carts/batchChangeCartGoods'),{ids:ids,isCheck:isCheck},function(data,textStatus){ var json = WST.toJson(data); if(json.status!=1){ WST.msg(json.msg,'info'); } }); } //商品主页 WST.intoGoods = function(id){ location.href = WST.U('mobile/goods/detail','goodsId='+id,true); }; //店铺主页 WST.intoShops = function(id){ location.href = WST.U('mobile/shops/home','shopId='+id,true); }; //首页 WST.intoIndex = function(){ location.href = WST.U('mobile/index/index',true); }; //搜索 WST.searchPage = function(type,state){ if(state==1){ $("#wst-"+type+"-search").show(); }else{ $("#wst-"+type+"-search").hide(); } }; WST.search = function(type){ var data = $('#wst-search').val(); if(type==1){ location.href = WST.U('mobile/shops/shopstreet','keyword='+data,true);//店铺 }else if(type==0){ location.href = WST.U('mobile/goods/lists','keyword='+data,true);//商品 }else if(type==2){ var shopId = $('#shopId').val(); location.href = WST.U('mobile/shops/shopgoodslist','goodsName='+data+'&shopId='+shopId,true);//店铺商品 } }; //关注 WST.favorites = function(sId,type){ $.post(WST.U('mobile/favorites/add'),{id:sId,type:type},function(data){ var json = WST.toJson(data); if(json.status==1){ WST.msg(json.msg,'success'); if(type==1){ $('#fStatus').html('已关注'); $('#fBtn').attr('onclick','WST.cancelFavorite('+json.data.fId+',1)'); $('.j-shopfollow').addClass('follow'); $('#followNum').html(parseInt($('#followNum').html())+1); }else{ $('.imgfollow').removeClass('nofollow').addClass('follow'); $('.imgfollow').attr('onclick','WST.cancelFavorite('+json.data.fId+',0)'); } }else{ WST.msg(json.msg,'info'); } }) } // 取消关注 WST.cancelFavorite = function(fId,type){ $.post(WST.U('mobile/favorites/cancel'),{id:fId,type:type},function(data){ var json = WST.toJson(data); if(json.status==1){ WST.msg(json.msg,'success'); if(type==1){ $('#fStatus').html('关注店铺'); $('#fBtn').attr('onclick','WST.favorites('+$('#shopId').val()+',1)'); $('.j-shopfollow').removeClass('follow'); $('#followNum').html(parseInt($('#followNum').html())-1); }else{ $('.imgfollow').removeClass('follow').addClass('nofollow'); $('.imgfollow').attr('onclick','WST.favorites('+$('#goodsId').val()+',0)'); } }else{ WST.msg(json.msg,'info'); } }); } //刷新验证码 WST.getVerify = function(id){ $(id).attr('src',WST.U('mobile/index/getVerify','rnd='+Math.random())); } //返回当前页面高度 WST.pageHeight = function(){ if(WST.checkBrowser().msie){ return document.compatMode == "CSS1Compat"? document.documentElement.clientHeight : document.body.clientHeight; }else{ return self.innerHeight; } }; //返回当前页面宽度 WST.pageWidth = function(){ if(WST.checkBrowser().msie){ return document.compatMode == "CSS1Compat"? document.documentElement.clientWidth : document.body.clientWidth; }else{ return self.innerWidth; } }; WST.checkBrowser = function(){ return { mozilla : /firefox/.test(navigator.userAgent.toLowerCase()), webkit : /webkit/.test(navigator.userAgent.toLowerCase()), opera : /opera/.test(navigator.userAgent.toLowerCase()), msie : /msie/.test(navigator.userAgent.toLowerCase()) } } //只能輸入數字 WST.isNumberKey = function(evt){ var charCode = (evt.which) ? evt.which : event.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)){ return false; }else{ return true; } } WST.isChinese = function(obj,isReplace){ var pattern = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/i if(pattern.test(obj.value)){ if(isReplace)obj.value=obj.value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/ig,""); return true; } return false; } //适应图片大小正方形 WST.imgAdapt = function(name){ var w = $('.'+name).width(); $('.'+name).css({"width": w+"px","height": w+"px"}); $('.'+name+' a').css({"width": w+"px","height": w+"px"}); $('.'+name+' a img').css({"max-width": w+"px","max-height": w+"px"}); } //显示隐藏 WST.showHide = function(t,str){ var s = str.split(','); if(t){ for(var i=0;i0){ window.scrollTo(0,currentPosition); } else{ window.scrollTo(0,0); clearInterval(timer); } } WST.inArray = function(str,arrs){ if(typeof(arrs) != "object")return -1; for(var i=0;i 200 ){ $('#toTop').show(); }else{ $('#toTop').hide(); } }); $('#toTop').on('click', function() { timer=setInterval("WSTrunToTop()",1); }); /** * 获取WSTMart基础配置 * @type {object} */ WST.conf = window.conf; /* 基础对象检测 */ WST.conf || $.error("WSTMart基础配置没有正确加载!"); if(WST.conf.ROUTES)WST.conf.ROUTES = eval("("+WST.conf.ROUTES+")"); /** * 解析URL * @param {string} url 被解析的URL * @return {object} 解析后的数据 */ WST.parse_url = function(url){ var parse = url.match(/^(?:([a-z]+):\/\/)?([\w-]+(?:\.[\w-]+)+)?(?::(\d+))?([\w-\/]+)?(?:\?((?:\w+=[^#&=\/]*)?(?:&\w+=[^#&=\/]*)*))?(?:#([\w-]+))?$/i); parse || $.error("url格式不正确!"); return { "scheme" : parse[1], "host" : parse[2], "port" : parse[3], "path" : parse[4], "query" : parse[5], "fragment" : parse[6] }; } WST.parse_str = function(str){ var value = str.split("&"), vars = {}, param; for(var i=0;i/g); urlparams = (urlparams==null)?[]:urlparams; var tmpv = null; for(var v in vars){ tmpv = '<'+v+'>'; if(WST.inArray(tmpv,urlparams)>-1){ newUrl = newUrl.replace(tmpv,vars[v]); delete vars[v]; } } tmpv = urlparams = null; if(false !== WST.conf.SUFFIX){ newUrl += "." + WST.conf.SUFFIX; } if($.isPlainObject(vars)){ var tmp = $.param(vars); if(tmp!='')newUrl += "?"+tmp; tmp = null; } //url = url.replace(new RegExp("%2F","gm"),"+"); newUrl = WST.conf.APP + "/"+newUrl; return newUrl; } WST.U0 = function(url, vars){ if(!url || url=='')return ''; var info = this.parse_url(url), path = [], reg; /* 验证info */ info.path || $.error("url格式错误!"); url = info.path; /* 解析URL */ path = url.split("/"); path = [path.pop(), path.pop(), path.pop()].reverse(); path[1] || $.error("WST.U(" + url + ")没有指定控制器"); /* 解析参数 */ if(typeof vars === "string"){ vars = this.parse_str(vars); } /* 解析URL自带的参数 */ info.query && $.extend(vars, this.parse_str(info.query)); if(false !== WST.conf.SUFFIX){ url += "." + WST.conf.SUFFIX; } if($.isPlainObject(vars)){ var tmp = $.param(vars); if(tmp!='')url += "?"+tmp; tmp = null; } //url = url.replace(new RegExp("%2F","gm"),"+"); url = WST.conf.APP + "/"+url; return url; } WST.U = function(url,vars){ if(WST.conf.ROUTES && WST.conf.ROUTES[url]){ return WST.initU(url,vars); }else{ return WST.U0(url, vars); } } WST.AU = function(url, vars){ if(!url || url=='')return ''; var info = this.parse_url(url); url = info.path; path = url.split("/"); url = "addon/"; path = [path.pop(), path.pop()].reverse(); path[0] || $.error("WST.AU(" + url + ")没有指定控制器"); path[1] || $.error("WST.AU(" + url + ")没有指定接口"); url = url + info.scheme + "-" + path.join('-'); /* 解析参数 */ if(typeof vars === "string"){ vars = this.parse_str(vars); } info.query && $.extend(vars, this.parse_str(info.query)); if(false !== WST.conf.SUFFIX){ url += "." + WST.conf.SUFFIX; } if($.isPlainObject(vars)){ var tmp = $.param(vars); if(tmp!='')url += "?"+tmp; tmp = null; } return WST.conf.APP + "/"+url; } });