You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
445
hyhproject/wechat2/view/default/js/common.js
Executable file
445
hyhproject/wechat2/view/default/js/common.js
Executable file
@ -0,0 +1,445 @@
|
||||
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('<span class="icon '+homeImage+'"></span><span class="'+homeImage+'-word">首页</span>');
|
||||
$('#category').append('<span class="icon '+categoryImage+'"></span><span class="'+categoryImage+'-word">分类</span>');
|
||||
$('#cart').prepend('<span class="icon '+cartImage+'"></span><span class="'+cartImage+'-word">购物车</span>');
|
||||
$('#follow').append('<span class="icon '+followImage+'"></span><span class="'+followImage+'-word">关注</span>');
|
||||
$('#user').append('<span class="icon '+usersImage+'"></span><span class="'+usersImage+'-word">我的</span>');
|
||||
}
|
||||
//变换选中框的状态
|
||||
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;i<s.length;i++){
|
||||
$(s[i]).show();
|
||||
}
|
||||
}else{
|
||||
for(var i=0;i<s.length;i++){
|
||||
$(s[i]).hide();
|
||||
}
|
||||
}
|
||||
s = null;
|
||||
}
|
||||
/**
|
||||
* 提示信息
|
||||
* @param content 内容
|
||||
* @param type info/普通,success/成功,warn/错误
|
||||
* @param stayTime 显示时间
|
||||
*/
|
||||
WST.msg = function(content,type,stayTime){
|
||||
if(!stayTime){
|
||||
stayTime = '1200';
|
||||
}
|
||||
var el = $.tips({content:content,type:type,stayTime:stayTime});
|
||||
return el;
|
||||
}
|
||||
//提示对话框
|
||||
WST.dialog = function(content,event){
|
||||
$("#wst-dialog").html(content);
|
||||
$("#wst-event2").attr("onclick","javascript:"+event);
|
||||
$("#wst-di-prompt").dialog("show");
|
||||
}
|
||||
//提示分享对话框
|
||||
WST.share = function(){
|
||||
$("#wst-di-share").dialog("show");
|
||||
}
|
||||
/**
|
||||
* 隐藏对话框
|
||||
* @param event prompt/提示对话框
|
||||
* @param event share/提示对话框
|
||||
*/
|
||||
WST.dialogHide = function(event){
|
||||
$("#wst-di-"+event).dialog("hide");
|
||||
}
|
||||
//加载中
|
||||
WST.load = function(content){
|
||||
$('#Loadl').css('display','-webkit-box');
|
||||
$('#j-Loadl').html(content);
|
||||
}
|
||||
WST.noload = function(){
|
||||
$('#Loadl').css('display','none');
|
||||
}
|
||||
//滚动到顶部
|
||||
WSTrunToTop = function (){
|
||||
currentPosition=document.documentElement.scrollTop || document.body.scrollTop;
|
||||
currentPosition-=20;
|
||||
if(currentPosition>0){
|
||||
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<value.length;i++){
|
||||
param = value[i].split("=");
|
||||
vars[param[0]] = param[1];
|
||||
}
|
||||
return vars;
|
||||
}
|
||||
WST.U = 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)){
|
||||
url += "?" + $.param(vars);
|
||||
}
|
||||
//url = url.replace(new RegExp("%2F","gm"),"+");
|
||||
url = WST.conf.APP + "/"+url;
|
||||
return url;
|
||||
}
|
||||
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)){
|
||||
url += "?" + $.param(vars);
|
||||
}
|
||||
return WST.conf.APP + "/"+url;
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user