var Func=Func||{}; var bForcepc = fGetQuery("dv") == "pc"; function fBrowserRedirect(){ var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp = sUserAgent.match(/midp/i) == "midp"; var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; var bIsAndroid = sUserAgent.match(/android/i) == "android"; var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile"; if(bIsIpad||bIsIphoneOs){ return 1; } if(bIsAndroid){ return 2; } if(bIsWM){ return 3; } return 4; } function fGetQuery(name){//获取参数值 var sUrl = window.location.search.substr(1); var r = sUrl.match(new RegExp("(^|&)" + name + "=([^&]*)(&|$)")); return (r == null ? null : unescape(r[2])); } Func.filter = function(str) { for (var i = 0; i < arrBan.length; i++) { // 创建一个正则表达式 //var r = new RegExp(arrBan[i], "ig"); //return true; //str = str.replace(r, "*"); //if(r.test(str)){ //return true; //} if(str.indexOf(arrBan[i])>=0){ return true; } } return false; } String.prototype.gblen = function() { var len = 0; for (var i=0; i127 || this.charCodeAt(i)==94) { len += 2; } else { len ++; } } return len; } Func.strisNull =function( str ){ if ( str == "" ) return true; var regu = "^[ ]+$"; var re = new RegExp(regu); return re.test(str); } Func.setTextArea = function(id,isResize,maxlen){//精灵id,是否禁用大小调整,最大输入长度 var obj = null; obj = gameabc_face.getdiv("div"+id); if(isResize){ obj.style.resize = "none"; } if(maxlen){ try{ maxlen = Number(maxlen); }catch(e){ return ; } obj.maxLength = maxlen; } obj = null; } Func.setInput = function(id,maxlen){//精灵id,是否禁用大小调整,最大输入长度 other_setdom("div"+id,"maxlength",maxlen); } Func.AjaxHttp = function(_data, func_callbackSucc, func_callbackFail, obj_inputmsg) { var obj_config = {}; obj_config.url = GameData.AjaxUrl; obj_config.callbackdata = obj_inputmsg; obj_config.data = JSON.stringify(_data); obj_config.type = "POST"; obj_config.success = func_callbackSucc; obj_config.error = func_callbackFail; min_http(obj_config); } Func.subString=function(str, len, hasDot) { var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = ""; var strLength = str.replace(chineseRegex,"**").length; for(var i = 0;i < strLength;i++) { singleChar = str.charAt(i).toString(); if(singleChar.match(chineseRegex) != null) { newLength += 2; } else { newLength++; } if(newLength > len) { break; } newStr += singleChar; } if(hasDot && strLength > len) { newStr += "..."; } return newStr; } //设置普通震动 Func.vibrator=function(time){ try{ if(GameData.appstate){ window.settings.vibrator(time); } }catch(e){ } } //是否重复震动 Func.repeatvibrator=function(repeat){ try{ if(GameData.appstate){ window.settings.repeatvibrator(repeat); } }catch(e){ } } //取消震动 Func.canclevibrator=function(){ try{ window.settings.canclevibrator(); }catch(e){ } } //横竖屏 orientation 1 为横屏 2 为竖屏 Func.orientation=function(Orientation){ try{ window.settings.orientation(Orientation); }catch(e){ } } //通知 Func.notification=function(Ticker,title,content){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 //var Ticker//手机状态栏通知 //var title//标题 //var content//内容 try{ window.settings.notification(Ticker,title,content); }catch(e){ } } Func.sharefinend=function(sharefriend,type,webpageUrl,title,description){//1普通分享2截图分享3图片链接分享 //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 switch(GameData.OS){ case 1://ios try{ window.settings.friendsSharetypeUrlToptitleDescript(sharefriend,type,webpageUrl,title,description); }catch(e){ //console.log("分享:"+"\ntype:"+type+"\nwebpageUrl:"+webpageUrl+"\ntitle:"+title+"\ndescription:"+description); } break; case 2://Android switch(type){ case 1://普通分享 try{ window.settings.friendsSharetypeUrlToptitleDescript(sharefriend,type,webpageUrl,title,description); }catch(e){ //console.log("分享:"+"\ntype:"+type+"\nwebpageUrl:"+webpageUrl+"\ntitle:"+title+"\ndescription:"+description); } break; case 2://截图分享 var _data={}; try{ var canvas1 = document.createElement("canvas"); canvas1.width=720,canvas1.height=405; var g=canvas1.getContext("2d"); g.drawImage(iui.canvas,0,0,720,405); var dataurl=canvas1.toDataURL("image/jpeg",0.5); }catch(e){ //alert(e); } canvas1=null; _data.name = sharefriend+dataurl; var obj_config = {}; obj_config.url = "http://localhost:4477/testurl"; obj_config.callbackdata = null; obj_config.data = JSON.stringify(_data); obj_config.type = "POST"; obj_config.success = null; obj_config.error = null; min_http(obj_config); break; case 3://链接分享 try{ window.settings.sharephotourl(sharefriend,webpageUrl); }catch(e){ //alert(e); } break; } break; case 3://wp break; default: break; } } Func.ShotShare=function(type,obj_inputmsg,func_callbackSucc,func_callbackFail){ var _data={}; try{ var canvas1 = document.createElement("canvas"); canvas1.width=720,canvas1.height=405; var g=canvas1.getContext("2d"); g.drawImage(iui.canvas,0,0,720,405); var dataurl=canvas1.toDataURL("image/jpeg",0.5); }catch(e){ // alert(e); } canvas1=null; _data.name = type+dataurl; var obj_config = {}; obj_config.url = "http://localhost:4477/testurl"; obj_config.callbackdata = obj_inputmsg; obj_config.data = JSON.stringify(_data); obj_config.type = "POST"; obj_config.success = func_callbackSucc; obj_config.error = func_callbackFail; min_http(obj_config); } Func.accreditlogin=function(){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 try{ window.settings.accreditlogin(); //if(msgind==1){ //alert("调用授权"); //} }catch(e){ //游客身份登入 //Func.visitorLogin(); sharelogin("gsr","http://pic.fxxz.com/up/2016-6/2016060511335249995.png","测试",1,"nanchang","jiangxi",213); } } Func.visitorLogin = function(){ //游客身份登入,随机游客数据 GameData.isVisitor = true; var WxInfo = Utl.getCookie(Utl.Config.visitorinfo); if(WxInfo != null){ WxInfo = JSON.parse(WxInfo); sharelogin(WxInfo.openid,WxInfo.headimgurl,WxInfo.nickname,WxInfo.sex,WxInfo.city,WxInfo.Province,WxInfo.unionid); }else{ var ram = 100000+ifast_random(100000); sharelogin(""+ram,"http://pic.fxxz.com/up/2016-6/2016060511335249995.png","游客"+ram,1,"nanchang","jiangxi",ram); } } function sharelogin(openid,headimgurl,nickname,sex,city,Province,unionid){ //if(msgind==1){ // alert("授权回调:"+openid+"、"+headimgurl+"、"+nickname+"、"+sex+"、"+city+"、"+Province+"、"+unionid); //} //GameUI.StartLoad(); if(!headimgurl && !nickname){ //GameUI.OpenTips("授权失败,请重新授权!",ConstVal.Tips.time); }else{ StartLoadData(); InputInfo={}; InputInfo.userid = unionid; InputInfo.headimg = headimgurl; InputInfo.name = nickname; setWxInfo(nickname,unionid,headimgurl); getInfo(); } } function sharesuccess(success,type){//分享成功回调 //if(msgind==1){ //alert("分享成功回调:"+success); //} success = Number(success); type = Number(type); } Func.getDate = function(){ //var today=new Date(); //var h=today.getHours(); //var m=today.getMinutes(); //var s=today.getSeconds(); //if(m<10){ //m="0"+m; //} //if(s<10){ //s="0"+s; //} //return h+":"+m+":"+s; var today=new Date(); var h=today.getHours(); var m=today.getMinutes(); if(m<10){ m="0"+m; } if(h<10){ h="0"+h; } return [h,m]; } Func.exit=function(){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 try{ window.settings.finsh(); }catch(e){ } } function phonestate(state){//通话状态改变是调用 state=Number(state); } Func.getQueryString=function(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null; } //function appservice(service){ //logmessage("切换状态:"+service,1); //service = Number(service); //if(GameData.isLogin){ //if(service==1){//切回 //GameData.appstate=true; //Utl.TurnOnBgm(get_self(4,37,0,0,0)); //var exp = new Date(); //if(exp.getTime()-GameData.leaveTime>Max.reconnecttime){//超过重连时间 //if(Net.ws_tcp.readyState == WebSocket.CLOSED){ //logmessage("切回时已断线重连"+min_now()); //GameData.disType = true; //GameData.ConnectType=false; //GameData.NetType=1; //Logic.TryConnect(); //}else if(Net.ws_tcp.readyState == WebSocket.OPEN){ //logmessage("切回时未断线手动断线"+min_now()); //GameData.ConnectType = false; //GameData.NetType=1; //Net.ws_tcp.close(); //} //}else{ //window.clearTimeout(GameData.reconnectTimer); //if(Desk.inDesk(C_Player.unionid)){ //Utl.UpdateScene(); //} //} //}else{//切出 //GameData.appstate=false; //Utl.TurnOffAllSound(); //var exp = new Date(); //GameData.leaveTime = exp.getTime(); //logmessage("打开定时器"+min_now()); //GameData.reconnectTimer = setTimeout(function(){ //logmessage("定时器触发断线"+min_now()); //GameData.disType = true; //GameData.ConnectType=true; //Net.ws_tcp.close(); //},Max.reconnecttime); //} //}else{ //logmessage("未登录时切换前后台"+min_now(),1); //} //} function appservice(service){ service = Number(service); if(service==1){//切回 }else{//切出 } } Func.prepareAudio=function(){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 try{ //关闭游戏背景音 window.settings.prepareaudio(); }catch(e){ //alert(e); } } function getaudiourl(audiourl,time){//录音成功回调 //alert("录音成功:"+audiourl); //打开游戏背景音 //----------------------- if(Number(time)>0){ } } Func.mediaAudio=function(audiourl,type,v){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 if(GameData.appstate){ try{ window.settings.mediaTypeAudio(audiourl,type,v); }catch(e){ //gameui_play_voice(v); } } } Func.up_imgurl=function(recid,photo){ try{ var input_data=[]; var input_obj={}; input_obj.photourl=photo; input_obj.pid=String(recid); input_data.push(input_obj); input_data=JSON.stringify(input_data); window.settings.getphoto(input_data); }catch(e){ //if(recid==25||recid==112){ if(photo){ up_imgurl(recid,photo,1); }else{ //up_imgurl(recid,"assets/bmp/00144.png",1); } //}else{ //up_imgurl(recid,"assets/bmp/00144.png",1); //setTimeout( //function(){ //if(photo){ //up_imgurl(recid,photo,1); //}else{ //up_imgurl(recid,"assets/bmp/00144.png",1); //} //} //,200); //} } } //var imglist=[]; function getphoto(photo){ //alert("getphoto回调:"+photo); var obj =strToJson(photo); for(var i=0;i