var WST = WST?WST:{};
WST.wxv = '1.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('wechat/index/sessionAddress'),{url:urla},function(data,textStatus){});
var urls = escape(document.location.protocol+'//'+window.location.host+WST.U('wechat/users/login','type=1'));
var url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='+WST.conf.wxAppId+'&redirect_uri='+urls+'&response_type=code&scope=snsapi_userinfo&state='+window.conf.wxAppCode+'#wechat_redirect';
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('wechat/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('wechat/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('wechat/goods/detail','goodsId='+id);
};
//店铺主页
WST.intoShops = function(id){
location.href = WST.U('wechat/shops/home','shopId='+id);
};
//首页
WST.intoIndex = function(){
location.href = WST.U('wechat/index/index');
};
//搜索
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('wechat/shops/shopStreet','keyword='+data);//店铺
}else if(type==0){
location.href = WST.U('wechat/goods/lists','keyword='+data);//商品
}else if(type==2){
var shopId = $('#shopId').val();
location.href = WST.U('wechat/shops/shopGoodsList','goodsName='+data+'&shopId='+shopId);//店铺商品
}
};
//关注
WST.favorites = function(sId,type){
$.post(WST.U('wechat/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('wechat/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.userPhoto = function(userPhoto){
if(userPhoto.substring(0,4)!='http' && userPhoto!=""){
userPhoto = window.conf.ROOT+"/"+userPhoto;
}else if(!userPhoto){
userPhoto = window.conf.ROOT+"/"+window.conf.USER_LOGO;
}
return userPhoto;
}
//刷新验证码
WST.getVerify = function(id){
$(id).attr('src',WST.U('wechat/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.blank = function(str,defaultVal){
if(str=='0000-00-00')str = '';
if(str=='0000-00-00 00:00:00')str = '';
if(!str)str = '';
if(typeof(str)=='null')str = '';
if(typeof(str)=='undefined')str = '';
if(str=='' && defaultVal)str = defaultVal;
return str;
}
/**
* 上传图片
*/
WST.upload = function(opts){
var _opts = {};
_opts = $.extend(_opts,{auto: true,swf: WST.conf.ROOT +'/plugins/webuploader/Uploader.swf',server:WST.U('wechat/orders/uploadPic')},opts);
var uploader = WebUploader.create(_opts);
uploader.on('uploadSuccess', function( file,response ) {
var json = WST.toJson(response._raw);
if(_opts.callback)_opts.callback(json,file);
});
uploader.on('uploadError', function( file ) {
if(_opts.uploadError)_opts.uploadError();
});
uploader.on( 'uploadProgress', function( file, percentage ) {
percentage = percentage.toFixed(2)*100;
if(_opts.progress)_opts.progress(percentage);
});
return uploader;
}
//返回键
function backPrevPage(url){
window.location.hash = "ready";
window.location.hash = "ok";
setTimeout(function(){
$(window).on('hashchange', function(e) {
var hashName = window.location.hash.replace('#', '');
hashName = hashName.split('&');
if( hashName[0] == 'ready' ){
location.href = url;
}
});
},50);
}
//图片切换
WST.replaceImg = function(v,str){
var vs = v.split('.');
return v.replace("."+vs[1],str+"."+vs[1]);
}
$(function(){
echo.init();//图片懒加载
// 滚动到顶部
$(window).scroll(function(){
if( $(window).scrollTop() > 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基础配置没有正确加载!");
/**
* 解析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