const productUrl = 'https://api.pekolive.com'; // 正式环境 const testUrl = 'http://beta.api.pekolive.com'; // 测试环境 function render (templateId, templateData, target) { var html = template(templateId, templateData); target.innerHTML += html; } // 根据域名判断 正式环境(含www)/测试环境(含beta), 并返回所需url前缀 // written by zxfxiong function getUrlPrefix () { if (!EnvCheck()) return undefined; return EnvCheck() === 'live' ? productUrl : testUrl; } function dateFormat (date, fmt) { date = new Date(date); var o = { 'M+': date.getMonth() + 1, 'd+': date.getDate(), 'h+': date.getHours(), 'm+': date.getMinutes(), 's+': date.getSeconds() }; // 补全0 function padLeftZero(str) { return('00' + str).substr(str.length); } // 年份 if(/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); } // 月日时分秒 for(var k in o) { if(new RegExp('(' + k + ')').test(fmt)) { var str = o[k] + ''; fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str)); } } date = o = padLeftZero = null; return fmt; } function convert (_url) { var patt=/\d+/; var num=_url.match(patt); var rs={}; rs.uid=num[0]; return rs; } // 传递分享信息给客户端,showUrl为分享的页面链接,为空时表示不分享 // function shareInfo () { // var _url = 'http://www.erbanyy.com/modules/bonus/fight.html'; // var res = EnvCheck(); // if (res == 'test'){ // _url = 'http://beta.erbanyy.com/modules/bonus/fight.html'; // } // var info = { // title: '耳伴与你一起红', // imgUrl: 'http://www.erbanyy.com/home/images/logo.png', // desc: '登录即送20红包,每天还有分享红包,邀请红包,分成红包,四重红包大礼等你来拿', // showUrl: _url // }; // return JSON.stringify(info); // } // 根据域名适配环境 function EnvCheck () { if (window.location.href) { var _url = window.location.href; var res = _url.match(/uat/); var res1 = _url.match(/120.79.211.243/); var res2 = _url.match(/192.168./) var res3 = _url.match(/127.0/) var res4 = _url.match(/beta/) if (res || res1 || res2 || res3 || res4) { return 'test'; } else { return 'live'; } } } // 根据域名判断是本地打开还是服务器打开 function locateJudge() { if(window.location.href){ var _url = window.location.href; var res = _url.match(/test/); if(res){ return '/api'; }else{ return ''; } } } // 获取地址栏参数 function getQueryString(){ var _url = location.search; var theRequest = new Object(); if(_url.indexOf('?') != -1){ var str = _url.substr(1); strs = str.split('&'); for(var i in strs){ theRequest[strs[i].split('=')[0]] = decodeURI(strs[i].split('=')[1]); } } return theRequest; } // 判断浏览器内核,手机类型 function checkVersion(){ var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核 mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端 iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部 weixin: u.indexOf('MicroMessenger') > -1, //是否微信 qq: u.match(/\sQQ/i) == " qq", //是否QQ app: u.match('mengshengApp') == 'mengshengApp' //是否在app内 }; } // 图片预加载 function preloadImage(obj){ var loadLength = 0,newImages = []; for(var i = 0;i < obj.imageArr.length;i++){ newImages[i] = new Image(); newImages[i].src = obj.imageArr[i]; newImages[i].onload = newImages[i].onerror = function(){ loadLength++; typeof obj.preloadPreFunc === 'function' && obj.preloadPreFunc(loadLength); if(loadLength == obj.imageArr.length){ typeof obj.doneFunc === 'function' && obj.doneFunc(); } } } } // 判断是否在App内 function isApp() { var androidBol = false; var osBol = false; if(window.androidJsObj && typeof window.androidJsObj === 'object'){ androidBol = true; } if(window.webkit){ console.log(window.webkit); osBol = true; } return (androidBol || osBol); } function msMask(channel,tags,params) { //此函数用于一般的耳伴底层面罩 var browser = checkVersion(); var env = EnvCheck(); // params = params? params:0; var bol = $.isEmptyObject(params); var jsonStr = ''; if(!bol) { jsonStr = JSON.stringify(params); } if(!browser.app){ $('#mask').css('display','flex'); var linkData = { type: env, channel: channel, tags: tags, // ios_custom_url: "https://itunes.apple.com/cn/app/id1252542069?mt=8", params: jsonStr // '{"uid":"' + params + '"}' }; linkedme.init("414571f0698afaa1c194f345f0dcc328", {type: env}, null); linkedme.link(linkData, function(err, response){ if(err){ // 生成深度链接失败,返回错误对象err console.log('err:',err); } else { console.log(response); $('#download a').attr("href",response.url); $('.download a').attr('href',response.url); } },false); }else{ $('#share-mask').css('display','flex'); } } function wxConfig() { var wxurl = encodeURIComponent(location.href.split('#')[0]); var data ="url=" + wxurl; console.log(data); $.ajax({ type:'GET', url: '/wx/config', data: data, asyc: true, success: function (data) { if(data.code = 200){ wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: data.data.appId, // 必填,公众号的唯一标识 timestamp: data.data.timestamp, // 必填,生成签名的时间戳 nonceStr: data.data.nonceStr, // 必填,生成签名的随机串 signature: data.data.signature,// 必填,签名,见附录1 jsApiList: data.data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.error(function(res){ console.log('config error,msg:'+res); }); } }, error:function(res){ console.log('config error,msg:'+res); } }) } // function refreshWeb() { // window.location.href = window.location.href; // } $('#share-mask .shareBtn').on('click',function () { var browser = checkVersion(); if (browser.app) { if (browser.android) { window.androidJsObj.openSharePage(); } else if (browser.ios) { window.webkit.messageHandlers.openSharePage.postMessage(null); } } }) /** * 渲染列表组件 * @param templateId 组件的id * @param $target 渲染目标dom * @param attrParam 属性名,格式 {'.class':['dataAttr',type]} * @param data 渲染数据的数组 */ function templateList(templateId,$target,attrParam,data){ var $template = $(templateId); var str = $template.html(); for(var i = 0;i < data.length;i++){ var $list = $(str); $target.append($list); for(var j in attrParam){ if(attrParam[j][1] == 1){ $list.find(j + ' img').attr('src',data[i][attrParam[j][0]]); }else if(attrParam[j][1] == 2){ $list.find(j).html(data[i][attrParam[j][0]]); } } } } function initNav(obj) { if($.isEmptyObject(obj)){ return; } var browser = checkVersion(); if(browser.app){ if(browser.ios){ window.webkit.messageHandlers.initNav.postMessage(obj); }else if(browser.android){ var json = JSON.stringify(obj); window.androidJsObj.initNav(json); } } } var tranUrl = 'http://www.if66.cn'; var tools = { cookieUtils: { set: function(key, val, time) { var date = new Date(); var expiresDays = time; date.setTime(date.getTime() + expiresDays * 24 * 3600 * 1000); document.cookie = key + '=' + val + ';expires=' + date.toGMTString(); }, get: function(key) { // 获取cookie参数 var getCookie = document.cookie.replace(/[ ]/g,''); var arrCookie = getCookie.split(';'); var val; for(var i = 0 ; i < arrCookie.length ; i++) { var arr = arrCookie[i].split('='); if(key === arr[0]) { val = arr[1]; break; } } return val; }, delete: function(key) { //删除cookie方法 var date = new Date(); //获取当前时间 date.setTime(date.getTime() - 10000); //将date设置为过去的时间 document.cookie = key + '=v; expires =' + date.toGMTString(); //设置cookie } } }