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;
}
});