var AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext; var _context = new AudioContext(); var _gameSoundsObj = {}; _gameSoundsObj.loadCount = 0; _gameSoundsObj.completedLoad = 0; _gameSoundsObj.completed = false; _gameSoundsObj.soundList = {}; _gameSoundsObj.requestList = {}; _gameSoundsObj.autoBgmList = {}; _gameSoundsObj.loadAudio = function(item,callback){ var src = "assets/wav/"+item.src; if (!_context) callback('Audio Downloader: no web audio context.',null); //var request = new XMLHttpRequest(); //request.open("GET", src, true); //request.responseType = "arraybuffer"; //request.onload = function () { //_context["decodeAudioData"](request.response, function(buffer){ //item.buffer = buffer; //_gameSoundsObj.soundList[item.id] = item; //_gameSoundsObj.soundList[item.id].touched = false; //callback(null, item.src); //}, function(){ //callback('decode error - ' + item.src,null); //}); //}; //request.onerror = function(){ //callback('request error - ' + item.src,null); //}; //request.send(); _gameSoundsObj.requestList[item.src] = new XMLHttpRequest(); _gameSoundsObj.requestList[item.src].open("GET", src, true); _gameSoundsObj.requestList[item.src].responseType = "arraybuffer"; _gameSoundsObj.requestList[item.src].onload = function () { _context["decodeAudioData"](_gameSoundsObj.requestList[item.src].response, function(buffer){ item.buffer = buffer; _gameSoundsObj.completedLoad++; //logmessage(_gameSoundsObj.completedLoad+"/"+_gameSoundsObj.loadCount,1); _gameSoundsObj.soundList[item.id] = item; _gameSoundsObj.soundList[item.id].touched = false; //var source = _context.createBufferSource(); //source.buffer = _gameSoundsObj.soundList[item.id].buffer;// //source.connect(_context.destination);// callback(null, item.src); }, function(){ callback('decode error - ' + item.src,null); }); }; _gameSoundsObj.requestList[item.src].onerror = function(){ callback('request error - ' + item.src,null); }; _gameSoundsObj.requestList[item.src].send(); if(GameData.OS == ConstVal.OS.apple){ document.addEventListener('touchstart', function () { //logmessage("touchstart1",1); if(!_gameSoundsObj.completed){ //logmessage("touchstart2",1); var scount = 0; for(src in _gameSoundsObj.soundList){ scount++; //for(var i=0;i<_gameSoundsObj.soundList[src].sourceList.length;i++){ try{ if(!_gameSoundsObj.soundList[src].touched){ //logmessage("touched"+_gameSoundsObj.soundList[src].id,1); _gameSoundsObj.soundList[src].touched = true; _gameSoundsObj.soundList[src].connected = true; var source = _context.createBufferSource(); source.buffer = _gameSoundsObj.soundList[src].buffer;// source.connect(_context.destination);// } }catch(e){ } //} } for(src in _gameSoundsObj.autoBgmList){ try{ //logmessage(src+"touched:"+_gameSoundsObj.soundList[src].touched+"、connected:"+_gameSoundsObj.soundList[src].connected,1); if(_gameSoundsObj.soundList[src].touched && _gameSoundsObj.soundList[src].connected){ //logmessage("autoBgmList:"+_gameSoundsObj.soundList[src].id,1); _gameSoundsObj.play(src,true); delete _gameSoundsObj.autoBgmList.src; break; } }catch(e){ } } for(var i=0;i0){//背景音 return; } //logmessage("_gameSoundsObj.play2",1); var source = _context.createBufferSource(); source.buffer = item.buffer;// source.connect(_context.destination);// source.loop = loop; source.playing = true; source.isEnded = false; source.onended = function(){ this.isEnded = true; this.playing = false; _gameSoundsObj.clearEndedSource(); } item.sourceList.push(source); //logmessage("play",1); source.start(0);// }catch(e){ } } _gameSoundsObj.stop = function(src){ try{ //logmessage("stop1:"+src,1); for(var i=0;i<_gameSoundsObj.soundList[src].sourceList.length;i++){ //logmessage("stop2:"+src,1); if(!_gameSoundsObj.soundList[src].sourceList[i].isEnded){ _gameSoundsObj.soundList[src].sourceList[i].stop(); _gameSoundsObj.soundList[src].sourceList[i].isEnded = true; _gameSoundsObj.soundList[src].sourceList[i].splice(i,1); i--; } } for(src in _gameSoundsObj.autoBgmList){ try{ //logmessage(src+"touched2:"+_gameSoundsObj.soundList[src].touched+"、connected:"+_gameSoundsObj.soundList[src].connected,1); if(_gameSoundsObj.soundList[src]){ //logmessage("autoBgmList2:"+_gameSoundsObj.soundList[src].id,1); delete _gameSoundsObj.autoBgmList.src; } }catch(e){ } } }catch(e){ } } _gameSoundsObj.clearAllSource = function(src){ for(var i=0;i<_gameSoundsObj.soundList[src].sourceList.length;i++){ try{ if(!_gameSoundsObj.soundList[src].sourceList[i].isEnded){ _gameSoundsObj.soundList[src].sourceList[i].stop(); } _gameSoundsObj.soundList[src].sourceList = null; }catch(e){ } } _gameSoundsObj.soundList[src].sourceList = []; } _gameSoundsObj.clearEndedSource = function(){ for(src in _gameSoundsObj.soundList){ for(var i=0;i<_gameSoundsObj.soundList[src].sourceList.length;i++){ try{ if(_gameSoundsObj.soundList[src].sourceList[i].isEnded){ _gameSoundsObj.soundList[src].sourceList.splice(i,1); i--; } }catch(e){ } } } } function setPostUrl(url){ GameData.sharePostUrl = url; } function isArray(o){ return Object.prototype.toString.call(o)=='[object Array]'; } function gameLog(msg,mode){ //logmessage(msg,1); } 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 ConstVal.OS.apple; } if(bIsAndroid){ return ConstVal.OS.android; } if(bIsWM){ return ConstVal.OS.winphone; } return ConstVal.OS.other; } function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r !== null) { return r[2]; } return null; } //获取网页参数 function fGetQuery(name){//获取参数值 //var sUrl = window.location.search.substr(1); //var r = sUrl.match(new RegExp("(^|&)" + name + "=([^&]*)(&|$)")); //return (r == null ? null : unescape(r[2])); var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r !== null) { return r[2]; } return null; } function strToJson(str){ var json = eval('(' + str + ')'); return json; } //获取字符字节长度 String.prototype.gblen = function() { var len = 0; for (var i=0; i127 || this.charCodeAt(i)==94) { len += 2; } else { len ++; } } return len; } //克隆数组 Func.cloneArray = function(input_arr){ return [].concat(input_arr); } //精确乘法 Func.accMul = function(arg1,arg2){ var m=0,s1=arg1.toString(),s2=arg2.toString(); try{m+=s1.split(".")[1].length}catch(e){} try{m+=s2.split(".")[1].length}catch(e){} return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m); } //敏感词过滤 Func.filter = function(str) { for (var i = 0; i < arrBan.length; i++) { if(str.indexOf(arrBan[i])>=0){ return true; } } return false; } //字符是否为空 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.SetText=function(_msg,len){ var text_copy=""; for(var k=0;k<_msg.length;k++){ text_copy+=_msg[k]; if(k%len==0&&k!=0){ text_copy+="\n"; } } return text_copy; } 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.AjaxHttp2 = function(_url,_data, func_callbackSucc, func_callbackFail, obj_inputmsg) { var obj_config = {}; obj_config.url = _url; 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.AjaxHttp3 = function(_url,_data, func_callbackSucc, func_callbackFail, obj_inputmsg) { //var sData = "?"; //for(var key in _data){ //sData += "&"+key+"="+_data[key]; //} var obj_config = {}; obj_config.url = _url; obj_config.callbackdata = obj_inputmsg; obj_config.data = _data; obj_config.type = "POST"; obj_config.success = func_callbackSucc; obj_config.error = func_callbackFail; min_http(obj_config); } function IDValidator() { var param = { error : { longNumber : '长数字存在精度问题,请使用字符串传值! Long number is not allowed, because the precision of the Number In JavaScript.' } }; var util = { checkArg : function(id) { var argType = (typeof id); switch (argType) { case 'number': // long number not allowed id = id.toString(); if (id.length > 15) { this.error(param.error.longNumber); return false; } break; case 'string': break; default: return false; } id = id.toUpperCase(); var code = null; if (id.length === 18) { // 18位 code = { body : id.slice(0, 17), checkBit : id.slice(-1), type : 18 }; } else if (id.length === 15) { // 15位 code = { body : id, type : 15 }; } else { return false; } return code; } // 地址码检查 , checkAddr : function(addr, GB2260) { var addrInfo = this.getAddrInfo(addr, GB2260); return (addrInfo === false ? false : true); } // 取得地址码信息 , getAddrInfo : function(addr, GB2260) { GB2260 = GB2260 || null; // 查询GB/T2260,没有引入GB2260时略过 if (GB2260 === null) { return addr; } if (!GB2260.hasOwnProperty(addr)) { // 考虑标准不全的情况,搜索不到时向上搜索 var tmpAddr; tmpAddr = addr.slice(0, 4) + '00'; if (!GB2260.hasOwnProperty(tmpAddr)) { tmpAddr = addr.slice(0, 2) + '0000'; if (!GB2260.hasOwnProperty(tmpAddr)) { return false; } else { return GB2260[tmpAddr] + '未知地区'; } } else { return GB2260[tmpAddr] + '未知地区'; } } else { return GB2260[addr]; } } // 生日码检查 , checkBirth : function(birth) { var year, month, day; if (birth.length == 8) { year = parseInt(birth.slice(0, 4), 10); month = parseInt(birth.slice(4, 6), 10); day = parseInt(birth.slice(-2), 10); } else if (birth.length == 6) { year = parseInt('19' + birth.slice(0, 2), 10); month = parseInt(birth.slice(2, 4), 10); day = parseInt(birth.slice(-2), 10); } else { return false; } // TODO 是否需要判断年份 /* * if( year<1800 ){ return false; } */ // TODO 按月份检测 if (month > 12 || month === 0 || day > 31 || day === 0) { return false; } return true; } // 顺序码检查 , checkOrder : function(order) { // 暂无需检测 return true; } // 加权 , weight : function(t) { return Math.pow(2, t - 1) % 11; } // 随机整数 , rand : function(max, min) { min = min || 1; return Math.round(Math.random() * (max - min)) + min; } // 数字补位 , str_pad : function(str, len, chr, right) { str = str.toString(); len = len || 2; chr = chr || '0'; right = right || false; if (str.length >= len) { return str; } else { for (var i = 0, j = len - str.length; i < j; i++) { if (right) { str = str + chr; } else { str = chr + str; } } return str; } } // 抛错 , error : function(msg) { var e = new Error(); e.message = 'IDValidator: ' + msg; throw e; } }; var _IDValidator = function(GB2260) { if (typeof GB2260 !== "undefined") { this.GB2260 = GB2260; } // 建立cache this.cache = {}; }; _IDValidator.prototype = { isValid : function(id) { var GB2260 = this.GB2260 || null; var code = util.checkArg(id); if (code === false) { return false; } // 查询cache if (this.cache.hasOwnProperty(id) && typeof this.cache[id].valid !== 'undefined') { return this.cache[id].valid; } else { if (!this.cache.hasOwnProperty(id)) { this.cache[id] = {}; } } var addr = code.body.slice(0, 6); var birth = (code.type === 18 ? code.body.slice(6, 14) : code.body .slice(6, 12)); var order = code.body.slice(-3); if (!(util.checkAddr(addr, GB2260) && util.checkBirth(birth) && util .checkOrder(order))) { this.cache[id].valid = false; return false; } // 15位不含校验码,到此已结束 if (code.type === 15) { this.cache[id].valid = true; return true; } /* 校验位部分 */ // 位置加权 var posWeight = []; for (var i = 18; i > 1; i--) { var wei = util.weight(i); posWeight[i] = wei; } // 累加body部分与位置加权的积 var bodySum = 0; var bodyArr = code.body.split(''); for (var j = 0; j < bodyArr.length; j++) { bodySum += (parseInt(bodyArr[j], 10) * posWeight[18 - j]); } // 得出校验码 var checkBit = 12 - (bodySum % 11); if (checkBit == 10) { checkBit = 'X'; } else if (checkBit > 10) { checkBit = checkBit % 11; } checkBit = (typeof checkBit === 'number' ? checkBit.toString() : checkBit); // 检查校验码 if (checkBit !== code.checkBit) { this.cache[id].valid = false; return false; } else { this.cache[id].valid = true; return true; } } // 分析详细信息 , getInfo : function(id) { var GB2260 = this.GB2260 || null; // 号码必须有效 if (this.isValid(id) === false) { return false; } // TODO 复用此部分 var code = util.checkArg(id); // 查询cache // 到此时通过isValid已经有了cache记录 if (typeof this.cache[id].info !== 'undefined') { return this.cache[id].info; } var addr = code.body.slice(0, 6); var birth = (code.type === 18 ? code.body.slice(6, 14) : code.body .slice(6, 12)); var order = code.body.slice(-3); var info = {}; info.addrCode = addr; if (GB2260 !== null) { info.addr = util.getAddrInfo(addr, GB2260); } info.birth = (code.type === 18 ? (([ birth.slice(0, 4), birth.slice(4, 6), birth.slice(-2) ]).join('-')) : ([ '19' + birth.slice(0, 2), birth.slice(2, 4), birth.slice(-2) ]).join('-')); info.sex = (order % 2 === 0 ? 0 : 1); info.length = code.type; if (code.type === 18) { info.checkBit = code.checkBit; } // 记录cache this.cache[id].info = info; return info; } // 仿造一个号 , makeID : function(isFifteen) { var GB2260 = this.GB2260 || null; // 地址码 var addr = null; if (GB2260 !== null) { var loopCnt = 0; while (addr === null) { // 防止死循环 if (loopCnt > 10) { addr = 110101; break; } var prov = util.str_pad(util.rand(50), 2, '0'); var city = util.str_pad(util.rand(20), 2, '0'); var area = util.str_pad(util.rand(20), 2, '0'); var addrTest = [ prov, city, area ].join(''); if (GB2260[addrTest]) { addr = addrTest; break; } } } else { addr = 110101; } // 出生年 var yr = util.str_pad(util.rand(99, 50), 2, '0'); var mo = util.str_pad(util.rand(12, 1), 2, '0'); var da = util.str_pad(util.rand(28, 1), 2, '0'); if (isFifteen) { return addr + yr + mo + da + util.str_pad(util.rand(999, 1), 3, '1'); } yr = '19' + yr; var body = addr + yr + mo + da + util.str_pad(util.rand(999, 1), 3, '1'); // 位置加权 var posWeight = []; for (var i = 18; i > 1; i--) { var wei = util.weight(i); posWeight[i] = wei; } // 累加body部分与位置加权的积 var bodySum = 0; var bodyArr = body.split(''); for (var j = 0; j < bodyArr.length; j++) { bodySum += (parseInt(bodyArr[j], 10) * posWeight[18 - j]); } // 得出校验码 var checkBit = 12 - (bodySum % 11); if (checkBit == 10) { checkBit = 'X'; } else if (checkBit > 10) { checkBit = checkBit % 11; } checkBit = (typeof checkBit === 'number' ? checkBit.toString() : checkBit); return (body + checkBit); } };// _IDValidator GB2260 = GB2260 == null ? "" : GB2260; return new _IDValidator(GB2260); } 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.getKeywordCount = function(str,keyword){ var reg = new RegExp(keyword,"g"); var result = str.match(reg); if(result){ return result.length; } return 0; } //设置普通震动 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,spidList){//1普通分享2截图分享3图片链接分享 //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 type == 2 ? GameData.shareFrom = 1 : GameData.shareFrom = 0; if(GameData.h5Version == 1){ if(type==1){ GameUI.openShareImg(); switch(sharefriend){ case 1: GameData.shareAppMessage = Logic.getShareDataObj(title,description); break; case 2: GameData.shareTimeline = Logic.getShareDataObj1(title,""); break; } shareLink(GameData.shareTimeline,GameData.shareAppMessage); return; }else if(type == 2){ GameUI.screenShot(spidList); } return ; } switch(GameData.OS){ case ConstVal.OS.apple://ios try{ window.settings.friendsSharetypeUrlToptitleDescript(sharefriend,type,webpageUrl,title,description); }catch(e){ console.log("分享:sharefrind:"+sharefriend+"\ntype:"+type+"\nwebpageUrl:"+webpageUrl+"\ntitle:"+title+"\ndescription:"+description); } break; case ConstVal.OS.android://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 = GameData.sharePostUrl; 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 ConstVal.OS.winphone://wp break; default: console.log("分享:sharefriend:"+sharefriend+"\ntype:"+type+"\nwebpageUrl:"+webpageUrl+"\ntitle:"+title+"\ndescription:"+description); break; } } Func.visitorLogin = function(){ //游客身份登入,随机游客数据 GameData.isVisitor = true; var WxInfo = Utl.ReadData(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); var headLoginList=[ "http://pic.fxxz.com/up/2016-6/2016060511335263357.png", "http://pic.fxxz.com/up/2016-6/2016060511335249995.png", "http://pic.fxxz.com/up/2016-6/2016060511335146994.png", "http://pic.fxxz.com/up/2016-6/2016060511335682256.png", "http://pic.fxxz.com/up/2016-6/2016060511335333433.png"]; sharelogin(""+ram,headLoginList[ifast_random(5)],"游客"+ram,ifast_random(1)+1,"nanchang","jiangxi","ylgame"+ram); } } Func.accreditlogin=function(){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里 GameData.isVisitor = false; try{ window.settings.accreditlogin(); }catch(e){ if(GameData.h5Version == 1){ }else{ var headLoginList=[ "http://pic.fxxz.com/up/2016-6/2016060511335263357.png", "http://pic.fxxz.com/up/2016-6/2016060511335249995.png", "http://pic.fxxz.com/up/2016-6/2016060511335146994.png", "http://pic.fxxz.com/up/2016-6/2016060511335682256.png", "http://pic.fxxz.com/up/2016-6/2016060511335333433.png"]; var ram = ifast_random(100000); sharelogin("fff23"+ram,headLoginList[ifast_random(5)],"测试"+ram,ifast_random(1)+1,"nanchang","jiangxi","ylgame"+ram); //sharelogin("fff23"+ram,"http://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eqLkpGLibHdMIWueUUmbfXyuO9U4sNicMZZvty7b7IarZwKJqStJ6icPkFchCTYIG1MT6dd2icibu0nQWw/132","jiangxi","ylgame"+ram); } } } function sharelogin(openid,headimgurl,nickname,sex,city,Province,unionid){ if(!sex){ sex = 1; } //GameUI.StartLoad(); if(!nickname && !headimgurl){//全为空时无法登陆 GameUI.OpenTips("授权失败,请重新授权!"); }else{ var wxdata={}; wxdata.openid = openid; wxdata.headimgurl = headimgurl; wxdata.nickname = nickname; wxdata.sex = sex; wxdata.city = city; wxdata.Province = Province; wxdata.unionid = unionid; wxdata=JSON.stringify(wxdata); if(GameData.isVisitor){ Utl.SaveData(Utl.Config.visitorinfo,wxdata); }else{ Utl.setCookie(Utl.Config.wxinfo,wxdata,Utl.Config.maxtime); } C_Player.SetWxInfo(openid,headimgurl,nickname,sex,city,Province,unionid); var data={}; data.agentid = GameData.AgentId; data.openid = C_Player.openid; data.nickname = C_Player.nickname; data.avatar = C_Player.avatar; data.sex = C_Player.sex; data.province = C_Player.province; data.city = C_Player.city; data.unionid = C_Player.unionid; data.gameid=GameData.GameId; data.version = GameData.versionCode; data.channelid = GameData.ChannelId; data.marketid = GameData.marketID; Net.Send_login(data); } } function sharesuccess(success,type){//分享成功回调 success = Number(success); type = Number(type); C_Player.sharesuccess(success,type); } Func.getDate = function(){ 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.SetDate=function(){ set_self(154,7,this.getDate()[0],0,0); set_self(155,7,this.getDate()[1],0,0); } Func.exit=function(){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 try{ window.settings.finsh(); //alert("调用退出程序"); }catch(e){ //console.log("程序退出"); } } function phonestate(state){//通话状态改变是调用 C_Player.phonestate(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){ try{ var isLog = false; service = Number(service); if(GameData.isLogin){ if(service==1){//切回 GameData.appstate=true; if(GameData.heartBeatTimer){ window.clearTimeout(GameData.heartBeatTimer); } GameData.heartBeatTimer = setTimeout(function(){ GameUI.OpenTips("网络较慢!",ConstVal.Tips.time); GameData.heartBeatStage = true; //if(Net.ws_tcp.readyState == WebSocket.CLOSED){ //GameData.disType = true; //GameData.ConnectType=false; //GameData.NetType=1; //Logic.TryConnect(); //}else if(Net.ws_tcp.readyState == WebSocket.OPEN){ //GameData.ConnectType = false; //GameData.disType = true; //GameData.NetType=1; //GameUI.StartLoad(); //GameData.isClose = true; //GameData.isCloseTimer = setTimeout(function(){ //if(GameData.isClose){ //Logic.DisConnect(); //} //},5000); //Net.ws_tcp.close(); //} },ConstVal.Max.heartbeat); //Utl.TurnOnBgm(get_self(4,37,0,0,0)); if(ConstVal.netType == 0){ var exp = new Date(); if(exp.getTime()-GameData.leaveTime>Game_Config.Max.reconnecttime){//超过重连时间 if(Net.ws_tcp.readyState != WebSocket.OPEN){ GameData.disType = true; GameData.ConnectType=false; GameData.NetType=1; Logic.TryConnect(); }else{ GameData.ConnectType = false; GameData.disType = true; GameData.NetType=1; GameUI.StartLoad(); GameData.isClose = true; //GameData.isCloseTimer = setTimeout(function(){ //if(GameData.isClose){ //Logic.DisConnect(); //} //},5000); Net.ws_tcp.close(); GameData.isCloseTimer = setInterval(function(){ if(GameData.isClose){ Net.ws_tcp.close(); } },5000); } }else{ if(Net.ws_tcp.readyState != WebSocket.OPEN){ GameData.disType = true; GameData.ConnectType=false; GameData.NetType=1; Logic.TryConnect(); }else{ if(Desk.inDesk(C_Player.playerid)){ Game_Modify.updateScene(); }else{ } } Utl.playMusic(); } }else{ } }else{//切出 Utl.stopMusic(); Game_Modify.stopAllSounds(); GameData.appstate=false; for(var i=0;i0){ var data={}; data.agentid=GameData.AgentId; data.gameid=GameData.GameId; data.playerid=C_Player.playerid; data.roomcode=Desk.roomcode; data.voiceurl=audiourl; data.time=time; Net.Send_send_voice(data); } } Func.mediaTypeAudio=function(audiourl,type,v){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 try{ window.settings.mediaTypeAudio(audiourl,type,v); }catch(e){ // gameui_play_voice(v); Net.submit_error("mediaAudio:audiourl="+audiourl+",type="+type+",user="+v,e.stack); } } Func.up_imgurl=function(recid,photo){ //[{photo:图片链接,pid:资源id}.....];String //alert(photo); //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 //return; 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); var pho=input_obj; if(Number(pho.pid)==25){ up_imgurl(Number(pho.pid),"assets/bmp/00170.png",1); }else if(Number(pho.pid)==115 || Number(pho.pid)==5){ }else{ up_imgurl(Number(pho.pid),"assets/bmp/00170.png",1); } }catch(e){ if(recid==25){ up_imgurl(recid,"assets/bmp/00170.png",1); setTimeout( function(){ if(photo){ up_imgurl(recid,photo,1); GameData.playerHeadImgState = true; }else{ up_imgurl(recid,"assets/bmp/00170.png",1); } },ConstVal.Max.headImgTimer); }else if(recid==115 || recid==5){ up_imgurl(recid,photo,1); }else{ up_imgurl(recid,"assets/bmp/00170.png",1); setTimeout( function(){ if(photo){ up_imgurl(recid,photo,1); }else{ up_imgurl(recid,"assets/bmp/00170.png",1); } } ,ConstVal.Max.headImgTimer); } } } function getphoto(photo){ var obj =strToJson(photo); for(var i=0;i-1){ data.roomcard = C_Player.roomcard; data.opt = "update_roomcard"; data.from = 0; Func.backgameData(JSON.stringify(data)); }else{ Func.backgameData(""); } } function getWebdata(data){ //gameLog("收到数据:"+data,1); //if(data){ //data = JSON.parse(data); //C_Player.setRoomcard(data.roomcard); //} try{ if(data){ if(typeof data == "string"){ data = JSON.parse(data); } if(typeof data.from != "undefined"){ data.from = Number(data.from); switch(data.from){ case 0://游戏间调用 switch(data.opt){ case "uptate_roomcard": C_Player.setRoomcard(data.roomcard); break; } break; case 1://网页调用 //switch(data.opt){ //case "auto_enter_room": //Logic.autoJoinRoom(data.room_id,data.match_id); //break; //} var _msg = data.gamedata; GameData.backUrl = data.backurl; if(_msg.route==RouteList.platform||_msg.route==RouteList.agent||_msg.route==RouteList.room){ if(min_ExitsFunction(Net[_msg.rpc])){ Net[_msg.rpc](_msg); } }else{ //Game_Modify._ReceiveData(_msg); } break; case 2: switch(data.opt){ case "updateHTML": Logic.getHTML(); break; } break; } } } }catch(e){ } } Func.getInstallInfo = function(data){// try{ var result = window.settings.getGameinstall(data); return Number(result); }catch(e){ return ifast_random(2); } } /* {"body":"哈哈哈","price":1,"user":"sdsax11221","type":"ylniuniu001","typeplay":"1"} ?user 用户id??? type:yl+gamename+00N???列子:ylniuniu001?ylniuniu002 ? tpyealpay 支付类型 1 微信 2 支付宝 body商品详情 price 价格 */ Func.getGamepay = function(data){// try{ window.settings.getGameplay(data); }catch(e){ var dt = JSON.parse(data); PayuserPaytypePaystate(dt.playerid,dt.type,1,data.paytype,data) } } function PayuserPaytypePaystate(user,type,state,typeplay,_data){// //logmessage("user:"+user+" type:"+type+" state:"+state+" typeplay:"+typeplay,1); GameUI.ClosePay(); GameUI.CloseCheckPay(); GameUI.EndLoad(); if(Number(state) == 1){ _data = JSON.parse(_data); var data = {}; data.agentid = Utl.getAgentID(); data.playerid = _data.user; data.channelid = GameData.ChannelId; data.productid = _data.productid; data.payid = _data.type; data.amount = _data.amount; data.money = _data.price; data.paytype = _data.typeplay; //Net.Send_pay_succ(data); var senddata={}; senddata.app=AppList.app; senddata.route=RouteList.agent; senddata.rpc=RpcList.pay_succ; senddata.data=data; Func.AjaxHttp(senddata,pay_succ_s,pay_succ_f); var _msg={}; var rd = Number(C_Player.roomcard) + Number(_data.amount); var data1 ={ roomcard:rd, text:"购买"+GameData.roomCardName+",数量:"+_data.amount }; _msg.data=data1; C_Player.UpdateRoomcard(_msg); }else{ GameUI.OpenTips("支付失败!",ConstVal.Tips.time); } } function pay_succ_s(_msg,state,input_msg){ //console.log("pay_succ_s"); //_msg = JSON.parse(_msg); //var rd = Number(_msg.data.roomcard); //var rt = rd + Number(C_Player.roomcard); //_msg.data.roomcard = rt; //C_Player.UpdateRoomcard(_msg); } function pay_succ_f(_msg,state,input_msg){ //console.log("pay_succ_f"); } Func.callphone = function(tel){ if(tel){ window.location.href = 'tel://' + tel; } } //复制到粘贴板 Func.gameCopytext = function(text){// try{ window.settings.gameCopytext(text); }catch(e){ } } //获得粘贴板内容 Func.gamepastetext = function(){// try{ return window.settings.gamepastetext(); }catch(e){ return ""; } } function gamepastetext_callback(resp){ switch(GameData.gamepastetext){ case "Logic.pasteRoomCode": var reg = /[^0-9]/g; var c_text = resp; c_text = c_text.replace(reg,""); var _text=String(c_text); if(String(c_text).length>6){ _text=String(c_text).substr(0,6); } RoomCode = String(_text); RoomNum = Number(_text); for(var i=0;i<6;i++){ set_self(236+i,37,0,0,0); } for(var i=0;i= ConstVal.Com_History.content_tag){ bTemp = true; } if(bTemp){ play_ani(1,ConstVal.Com_History.f_spid+"add"+v,43,1,3,0,600,0,0,0,0,0,0); }else{ var x = Game_Config.Voice.VoiceLoc[v][0]; var y = Game_Config.Voice.VoiceLoc[v][1]; var dis_x = Game_Config.Voice.VoiceDis[0]; var dis_y = Game_Config.Voice.VoiceDis[1]; var isleft = Game_Config.Voice.isLeft[v]; var text_len = get_self(642+v,20,0,0,0); if(isleft){ set_self(612+v,18,x,0,0); set_self(612+v,19,y,0,0); set_self(642+v,18,x+dis_x,0,0); set_self(642+v,19,y+dis_y,0,0); set_self(612+v,20,text_len+dis_x*2,0,0); set_self(612+v,1,83,0,0); set_self(612+v,37,1,0,0); set_self(642+v,37,1,0,0); }else{ set_self(612+v,18,x-text_len-dis_x*2,0,0); set_self(642+v,18,x-text_len-dis_x,0,0); set_self(612+v,19,y,0,0); set_self(642+v,19,y+dis_y,0,0); set_self(612+v,20,text_len+dis_x*2,0,0); set_self(612+v,1,86,0,0); set_self(612+v,37,1,0,0); set_self(642+v,37,1,0,0); } play_ani(1,642+v,43,1,3,0,Game_Config.Voice.VoiceTime,0,0,0,0,0,0); } //responseCallback(""); }); bridge.registerHandler("gameui_stop_voice",function(data,responseCallback){//通话状态改变是调用 var v=Number(data); var bTemp = false; if(v>=ConstVal.Com_History.content_tag){ bTemp = true; } if(bTemp){ play_ani(0,ConstVal.Com_History.f_spid+"add"+v,43,1,3,0,600,0,0,0,0,0,0); set_self(ConstVal.Com_History.f_spid+"add"+v,43,3,0,0); }else{ set_self(612+v,37,0,0,0); set_self(642+v,37,0,0,0); play_ani(0,642+v,43); } //responseCallback(""); }); bridge.registerHandler("sharesuccess",function(data,responseCallback){//分享成功回调 var success = data.success; var type = data.type; success = Number(success); type = Number(type); C_Player.sharesuccess(success,type); //responseCallback(""); }); bridge.registerHandler("phonestate",function(data,responseCallback){//通话状态改变是调用 var state = data; C_Player.phonestate(state); //responseCallback(""); }); bridge.registerHandler("appservice",function(data,responseCallback){ try{ var service = data; var isLog = false; service = Number(service); if(GameData.isLogin){ if(service==1){//切回 GameData.appstate=true; if(GameData.heartBeatTimer){ window.clearTimeout(GameData.heartBeatTimer); } GameData.heartBeatTimer = setTimeout(function(){ GameUI.OpenTips("网络较慢!",ConstVal.Tips.time); GameData.heartBeatStage = true; //if(Net.ws_tcp.readyState == WebSocket.CLOSED){ //GameData.disType = true; //GameData.ConnectType=false; //GameData.NetType=1; //Logic.TryConnect(); //}else if(Net.ws_tcp.readyState == WebSocket.OPEN){ //GameData.ConnectType = false; //GameData.disType = true; //GameData.NetType=1; //GameUI.StartLoad(); //GameData.isClose = true; //GameData.isCloseTimer = setTimeout(function(){ //if(GameData.isClose){ //Logic.DisConnect(); //} //},5000); //Net.ws_tcp.close(); //} },ConstVal.Max.heartbeat); //Utl.TurnOnBgm(get_self(4,37,0,0,0)); if(ConstVal.netType == 0){ var exp = new Date(); if(exp.getTime()-GameData.leaveTime>Game_Config.Max.reconnecttime){//超过重连时间 if(Net.ws_tcp.readyState != WebSocket.OPEN){ GameData.disType = true; GameData.ConnectType=false; GameData.NetType=1; Logic.TryConnect(); }else{ GameData.ConnectType = false; GameData.disType = true; GameData.NetType=1; GameUI.StartLoad(); GameData.isClose = true; //GameData.isCloseTimer = setTimeout(function(){ //if(GameData.isClose){ //Logic.DisConnect(); //} //},5000); Net.ws_tcp.close(); GameData.isCloseTimer = setInterval(function(){ if(GameData.isClose){ Net.ws_tcp.close(); } },5000); } }else{ if(Net.ws_tcp.readyState != WebSocket.OPEN){ GameData.disType = true; GameData.ConnectType=false; GameData.NetType=1; Logic.TryConnect(); }else{ if(Desk.inDesk(C_Player.playerid)){ Game_Modify.updateScene(); } } Utl.playMusic(); } }else{ } }else{//切出 Utl.stopMusic(); Game_Modify.stopAllSounds(); GameData.appstate=false; for(var i=0;i0){ var data={}; data.agentid=GameData.AgentId; data.gameid=GameData.GameId; data.playerid=C_Player.playerid; data.roomcode=Desk.roomcode; data.voiceurl=audiourl; data.time=time; Net.Send_send_voice(data); } //responseCallback(""); }); //手机电量变化调用 bridge.registerHandler("getBattery",function(data,responseCallback){ //logmessage(data,1); var Battery = data; app_getbattery = Number(Battery); GameData.Battery=Number(Battery); if(GameData.Battery<=0.2){ set_self(338,43,3,0,0); }else{ set_self(338,43,2,0,0); } //responseCallback(""); }); //WiFi信号变化调用 bridge.registerHandler("getwifiLevel",function(data,responseCallback){ var ssidname = data.ssidname; var signalLevel = data.signalLevel; GameData.WifiLevel=signalLevel; GameData.WifiLevel= Number(GameData.WifiLevel); switch(GameData.WifiLevel){ case 0: set_self(336,43,1,0,0); break; case 1: case 2: set_self(336,43,2,0,0); break; case 3: case 4: set_self(336,43,3,0,0); break; } //responseCallback(""); }); //网络状况改变 bridge.registerHandler("getnetwork",function(data,responseCallback){ var type=data; type = Number(type); app_getnetwork = type; switch(type){ case 1: break; case 2: set_self(336,43,3,0,0); Func.getwifisignalLevel(); break; case 3: set_self(336,43,4,0,0); break; } //responseCallback(""); }); bridge.registerHandler("shakeEnd",function(data,responseCallback){//摇一摇回调 Game_Modify.shakeEvent(); //responseCallback(""); }); /* {"address":"江西省南昌市青云谱区施尧路靠近上海浦东发展银行(长天支行)","city":"南昌市", "cityCode":"0791","country":"中国","district":"青云谱区","latitude":28.623546,"longitude":115.900333, "province":"江西省","street":"施尧路"}*/ bridge.registerHandler("getlocationinfo",function(data,responseCallback){ if(data){ try{ var locationinfo = data; //locationinfo = JSON.parse(locationinfo); if(locationinfo.city&&locationinfo.province){ C_Player.SetLocationInfo(locationinfo); if(GameData.isFirstLogin){ GameData.isFirstLogin = false; var data = {}; data.agentid = Utl.getAgentID(); data.playerid = Utl.getMyPlayerid(); data.info = locationinfo; Net.Send_submit_location(data); } } }catch(e){ } } //responseCallback(""); }); bridge.registerHandler("getWebdata",function(data,responseCallback){ //gameLog("收到数据:"+data,1); //if(data){ //data = JSON.parse(data); //C_Player.setRoomcard(data.roomcard); //} if(data){ if(typeof data == "string"){ data = JSON.parse(data); } if(typeof data.from != "undefined"){ switch(data.from){ case 0://游戏间调用 switch(data.opt){ case "uptate_roomcard": C_Player.setRoomcard(data.roomcard); break; } break; case 1://网页调用 //switch(data.opt){ //case "auto_enter_room": //Logic.autoJoinRoom(data.room_id,data.match_id); //break; //} var _msg = data.gamedata; GameData.backUrl = data.backurl; if(_msg.route==RouteList.platform||_msg.route==RouteList.agent||_msg.route==RouteList.room){ if(min_ExitsFunction(Net[_msg.rpc])){ Net[_msg.rpc](_msg); } }else{ //Game_Modify._ReceiveData(_msg); } break; case 2: switch(data.opt){ case "updateHTML": Logic.getHTML(); break; } break; } } } //responseCallback(""); }); bridge.registerHandler("PayuserPaytypePaystate",function(user,type,state,typeplay,_data,responseCallback){// var user = data.user; var type = data.type; var state = data.state; var typeplay = data.typeplay; var _data = data._data; //logmessage("user:"+user+" type:"+type+" state:"+state+" typeplay:"+typeplay,1); GameUI.ClosePay(); GameUI.CloseCheckPay(); GameUI.EndLoad(); if(Number(state) == 1){ //_data = JSON.parse(_data); var data = {}; data.agentid = Utl.getAgentID(); data.playerid = _data.user; data.channelid = GameData.ChannelId; data.productid = _data.productid; data.payid = _data.type; data.amount = _data.amount; data.money = _data.price; data.paytype = _data.typeplay; //Net.Send_pay_succ(data); var senddata={}; senddata.app=AppList.app; senddata.route=RouteList.agent; senddata.rpc=RpcList.pay_succ; senddata.data=data; Func.AjaxHttp(senddata,pay_succ_s,pay_succ_f); var _msg={}; var rd = Number(C_Player.roomcard) + Number(_data.amount); var data1 ={ roomcard:rd, text:"购买"+GameData.roomCardName+",数量:"+_data.amount }; _msg.data=data1; C_Player.UpdateRoomcard(_msg); }else{ GameUI.OpenTips("支付失败!",ConstVal.Tips.time); } //responseCallback(""); }); //参数1: pay 注册flag 供原生使用,要和原生统一 //参数2: 是调起原生时向原生传递的参数 //参数3: 原生调用回调返回的数据 //Func.getVersionState = function(){ //var returnData = 0; //bridge.callHandler('getcompareCode','',function(resp){ //returnData = resp; //} //); //return returnData; //} Func.h5Webpay=function(){ //?????????????,?????try{}catch{} try ?? ????????? //var Ticker//??????? //var title//?? //var content//?? try{ //window.settings.notification(Ticker,title,content); var data = { openid:C_Player.openid, nickname:C_Player.nickname, sex:C_Player.sex, city:C_Player.city, province:C_Player.province, headimgurl:C_Player.avatar, unionid:C_Player.unionid, agentid:GameData.AgentId, channelid:GameData.ChannelId, playerid:C_Player.playerid, return_url:GameData.returnUrl }; bridge.callHandler('h5Webpay',data,function(resp){ } ); }catch(e){ } } Func.createRoom=function(){ //?????????????,?????try{}catch{} try ?? ????????? //var Ticker//??????? //var title//?? //var content//?? try{ //window.settings.notification(Ticker,title,content); var userinfo = { agentid:GameData.AgentId, roomid:Utl.getRoomcode(), playerid:C_Player.playerid, left:get_self(376,18,0,0,0), top:get_self(376,19,0,0,0), width:get_self(376,20,0,0,0), height:get_self(376,21,0,0,0), pmw : window.screen.width, pmh : window.screen.height }; bridge.callHandler('createRoom',userinfo,function(resp){ } ); }catch(e){ } } Func.exitRoom=function(){ //?????????????,?????try{}catch{} try ?? ????????? //var Ticker//??????? //var title//?? //var content//?? try{ //window.settings.notification(Ticker,title,content); var userinfo = { agentid:GameData.AgentId, roomid:Utl.getRoomcode(), playerid:C_Player.playerid }; bridge.callHandler('exitRoom',userinfo,function(resp){ } ); }catch(e){ } } Func.accreditlogin=function(data){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 GameData.isVisitor = false; try{ // window.settings.accreditlogin(); bridge.callHandler('accreditlogin',data,function(resp){ } ); }catch(e){ var headLoginList=[ "http://pic.fxxz.com/up/2016-6/2016060511335263357.png", "http://pic.fxxz.com/up/2016-6/2016060511335249995.png", "http://pic.fxxz.com/up/2016-6/2016060511335146994.png", "http://pic.fxxz.com/up/2016-6/2016060511335682256.png", "http://pic.fxxz.com/up/2016-6/2016060511335333433.png"]; var ram = ifast_random(100000); //sharelogin("fff23"+ram,headLoginList[ifast_random(5)],"测试"+ram,ifast_random(1)+1,"nanchang","jiangxi",222); sharelogin("fff23"+ram,headLoginList[ifast_random(5)],"测试测试测试"+ram,ifast_random(1)+1,"nanchang","jiangxi","ylgame"+ram); } } //退出登录通知app Func.logoffCallback = function(){ try{ //window.settings.cancellogin(); bridge.callHandler('cancellogin','',function(resp){ } ); }catch(e){ console.log("logoff"); } } //内部打开网页 Func.OpenurlTitleData = function(url,title,data){// try{ if(url){ var data={ url:url, title:title, data:data }; //window.settings.OpenurlTitleData(url,title,data); bridge.callHandler('OpenurlTitleData',data,function(resp){ } ); } }catch(e){ console.log(url+"、"+title+"、"+data); } } //获得指定文件夹 Func.getothername = function(name){// //var rtname = ""; //try{ //var rtname = window.settings.getothername(name); //return rtname; //bridge.callHandler('getothername',"",getothername_callback //); //}catch(e){ //} //return rtname; //logmessage(name+":"+window["app_"+name],1); return window["app_"+name]; } //获得自定义文件夹名 Func.getOther = function(){// var assetname = ""; try{ //var assetname = window.settings.getOther(); //return assetname; bridge.callHandler('getOther',"",function(resp){ assetname = resp; } ); }catch(e){ } return assetname; } //开启关闭语音 Func.voicePlaying = function(type){// try{ //window.settings.voicePlaying(type); bridge.callHandler('voicePlaying',type,function(resp){ } ); }catch(e){ console.log("voicePlaying:"+type); } } //复制到粘贴板 Func.gameCopytext = function(text){// try{ //window.settings.gameCopytext(text); bridge.callHandler('gameCopytext',text,function(resp){ } ); }catch(e){ } } //获得粘贴板内容 Func.gamepastetext = function(){// var returnValue = ""; try{ //return window.settings.gamepastetext(); bridge.callHandler('gamepastetext',"",gamepastetext_callback); }catch(e){ } return returnValue; } //获得市场id Func.getmarketname = function(){// //var returnValue = 1; //try{ //return window.settings.getmarketname(); //bridge.callHandler('getmarketname',"",getmarketname_callback //); //}catch(e){ //} //return returnValue; //logmessage("market:"+app_market,1); return app_market; } Func.getInstallInfo = function(data){// var returnValue = ifast_random(2); try{ //var result = window.settings.getGameinstall(data); //return Number(result); bridge.callHandler('getGameinstall',data,function(resp){ returnValue = Number(resp); } ); }catch(e){ //return ifast_random(2); } return returnValue; } /* {"body":"哈哈哈","price":1,"user":"sdsax11221","type":"ylniuniu001","typeplay":"1"} ?user 用户id??? type:yl+gamename+00N???列子:ylniuniu001?ylniuniu002 ? tpyealpay 支付类型 1 微信 2 支付宝 body商品详情 price 价格 */ Func.getGamepay = function(data){// try{ //window.settings.getGameplay(data); bridge.callHandler('getGameplay',"",function(resp){ } ); }catch(e){ //var dt = JSON.parse(data); //PayuserPaytypePaystate(dt.playerid,dt.type,1,data.paytype,data) } } // Func.SwitchOverGameData = function(webtype,Gamedirectory,gamedownloadurl,data){ try{ //window.settings.SwitchOverGameData(webtype,Gamedirectory,gamedownloadurl,data); var data={ webtype:webtype, Gamedirectory:Gamedirectory, gamedownloadurl:gamedownloadurl, data:data }; bridge.callHandler('SwitchOverGameData',data,function(resp){ } ); }catch(e){ //console.log("webtype:"+webtype+"Gamedirectory:"+Gamedirectory+"gamedownloadurl:"+gamedownloadurl+"data:"+data); } } Func.backgameData = function(data){// try{ var data= {}; if(C_Player.roomcard>-1){ data.roomcard = C_Player.roomcard; data.opt = "update_roomcard"; data.from = 0; data.gamename = app_gamename; }else{ data.from = 0; data.opt = "gamename"; data.gamename = app_gamename; } bridge.callHandler('backgameData',data,function(resp){ } ); }catch(e){ } } //开启定位 Func.startlocation = function(type){ try{ //window.settings.startlocation(type); bridge.callHandler('startlocation',type,function(resp){ } ); }catch(e){ } } //获取定位 Func.getlocation = function(){ try{ //window.settings.getlocationinfo(); bridge.callHandler('getlocationinfo',"",function(resp){ } ); }catch(e){ } } Func.getchannelName = function(){// return app_channel; } //播放声音 Func.play_wav = function(src,isloop){ if(src){ if(GameData.appstate ||(!GameData.appstate&&isloop==-1)){ try{ if(!GameData.isRecord){ //window.settings.srcIsloop(src,isloop); var data = { src:src, isloop:isloop }; bridge.callHandler('srcIsloop',data,function(resp){ } ); } }catch(e){ if(!GameData.isRecord){ play_wav(src,isloop); } } } } } //开启扫一扫 Func.OpenScan = function(){ try{ //window.settings.opensaoma(); bridge.callHandler('opensaoma',"",function(resp){ } ); }catch(e){ } } Func.getVersionState = function(){ return Number(app_appversion); } Func.startshake = function(){ if(Utl.ReadData(Utl.Config.shake)==1){ if(GameData.shakeID != Game_Config.shakeList.nil){ try{ //window.settings.startshake(); bridge.callHandler('startshake','',function(resp){ } ); }catch(e){ } } } } Func.stopshake = function(){ try{ //window.settings.stopshake(); bridge.callHandler('stopshake','',function(resp){ } ); }catch(e){ } } Func.switchshakeVoice = function(Voicetype){ try{ //window.settings.SwitchShake(Voicetype); bridge.callHandler('SwitchShake',Voicetype,function(resp){ } ); }catch(e){ } } //分享图片(链接) Func.sharephotourl=function(sharetype,url){ try{ //window.settings.sharephotourl(sharetype,url); var data={ sharetype:sharetype, url:url }; bridge.callHandler('sharephotourl',data,function(resp){ } ); }catch(e){ //alert(e); } } //获取网络类型 1 未连接网络 2 连接wifi 3 连接2G/3G/4G Func.getnetwork=function(){ return app_getnetwork; } //获取wifi信号ssidname wifi名称 signalLevel wifi信号强度 0-4 弱到强 Func.getwifisignalLevel=function(){ return Number(app_getwifisignalLevel); } //调用手机默认浏览器打开链接 Func.browser=function(url){ try{ if(url){ //window.settings.browser(url); bridge.callHandler('browser',url,function(resp){ } ); } }catch(e){ console.log(url); } } //主动获取手机电量 Func.getbattery=function(){ return app_getbattery; } Func.mediaTypeAudio=function(audiourl,type,user){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 try{ //window.settings.mediaTypeAudio(audiourl,type,v); var data = { audiourl:audiourl, type:type, user:user }; bridge.callHandler('mediaTypeAudio',data,function(resp){ } ); }catch(e){ // gameui_play_voice(v); //Net.submit_error("mediaAudio:audiourl="+audiourl+",type="+type+",user="+v,e.stack); } } Func.prepareAudio=function(){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 try{ Utl.stopMusic(); GameData.isRecord = true; //window.settings.prepareaudio(); bridge.callHandler('prepareaudio',"",function(resp){ } ); }catch(e){ //alert(e); } } //设置普通震动 Func.vibrator=function(time){ try{ if(GameData.appstate){ //window.settings.vibrator(time); bridge.callHandler('vibrator',time,function(resp){ } ); } }catch(e){ } } //是否重复震动 Func.repeatvibrator=function(repeat){ try{ if(GameData.appstate){ //window.settings.repeatvibrator(repeat); bridge.callHandler('repeatvibrator',repeat,function(resp){ } ); } }catch(e){ } } //取消震动 Func.canclevibrator=function(){ try{ //window.settings.canclevibrator(); bridge.callHandler('canclevibrator',repeat,function(resp){ } ); }catch(e){ } } //横竖屏 orientation 1 为横屏 2 为竖屏 Func.orientation=function(Orientation){ try{ //window.settings.orientation(Orientation); bridge.callHandler('orientation',Orientation,function(resp){ } ); }catch(e){ } } //通知 Func.notification=function(Ticker,title,content){ //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 //var Ticker//手机状态栏通知 //var title//标题 //var content//内容 try{ //window.settings.notification(Ticker,title,content); var data={ Ticker:Ticker, title:title, content:content }; bridge.callHandler('notification',data,function(resp){ } ); }catch(e){ } } Func.sharefinend=function(sharefriend,type,webpageUrl,title,description){//1普通分享2截图分享3图片链接分享 //因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数 type == 2 ? GameData.shareFrom = 1 : GameData.shareFrom = 0; switch(GameData.OS){ case ConstVal.OS.apple://ios try{ //window.settings.friendsSharetypeUrlToptitleDescript(sharefriend,type,webpageUrl,title,description); var data={ sharefriend:sharefriend, type:type, webpageUrl:webpageUrl, title:title, description:description }; bridge.callHandler('friendsSharetypeUrlToptitleDescript',data,function(resp){ } ); }catch(e){ //console.log("分享:sharefrind:"+sharefriend+"\ntype:"+type+"\nwebpageUrl:"+webpageUrl+"\ntitle:"+title+"\ndescription:"+description); } break; case ConstVal.OS.android://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 = GameData.sharePostUrl; 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 ConstVal.OS.winphone://wp break; default: console.log("分享:sharefriend:"+sharefriend+"\ntype:"+type+"\nwebpageUrl:"+webpageUrl+"\ntitle:"+title+"\ndescription:"+description); break; } } }); } function shareLink(shareTimeline,shareAppMessage) { var fenxiang = shareParam; var sid1= getQueryString('sid'); var scode1= getQueryString('scode'); var sidScode ={sid: sid1, scode: scode1}; if(!sidScode) { return; } $.ajax({ type: "post", url: "https://api.tscce.cn/api/weixin/wx_share_info", dataType: 'json', data: $.extend({}, sidScode, fenxiang), timeout: 1000 * 8, success: function (data, textStatus) { //console.log('success', data); if (data.error == 0) { var js = { debug: false, appId: data.data.appId, // ???????? timestamp: data.data.timestamp, // ???????? nonceStr: data.data.nonceStr, // ???????? signature: data.data.signature,// ?? jsApiList: [ 'onMenuShareTimeline', 'onMenuShareAppMessage' ] } wx.config(js); wx.ready(function(){ wx.onMenuShareTimeline({ // title: shareTimeline.title, link: shareTimeline.link, // imgUrl: shareTimeline.imgUrl, // success: function () { // sharesuccess(2,2); GameUI.closeShareImg(); //dialog.alert('分享朋友圈成功'); }, cancel: function () { // GameUI.closeShareImg(); } }); wx.onMenuShareAppMessage({ //????? title: shareAppMessage.title, // desc: shareAppMessage.desc, // link: shareAppMessage.link, // imgUrl: shareAppMessage.imgUrl, // type: 'link', success: function () { // sharesuccess(2,1); GameUI.closeShareImg(); //dialog.alert('分享好友成功'); }, cancel: function () { // GameUI.closeShareImg(); } }); }); wx.error(function(res){ }); return; } else { //alert(data.error_code + ': ' + data.msg); sessionStorage.clear(); var code = parseInt(data.error_code); if(data.error_code === 10001 || data.error_code === 10008 || data.error_code === 10011) { //getSidScode(wxLogin); } } }, complete: function (res) { //console.log('complete',res); }, error: function (XMLHttpRequest, textStatus, errorThrown) { //console.log('error', XMLHttpRequest, textStatus, errorThrown); //alert("错误"); } }); } Func.appDownload = function(url) { if(url){ top.location=url; } }