删除 YouleNexus 内嵌 .git,统一由根仓库唯一管理。提交: - projects/ 旧 H5 模板 Game_Surface_3 与各子游戏源码 - cocoscreator_projects/YouleNexus 工程 + cocos-creator-mcp 扩展源码 - CLAUDE.md、.mcp.json 等配置 library/temp/node_modules/dist 等缓存由 .gitignore 排除。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3168 lines
78 KiB
JavaScript
3168 lines
78 KiB
JavaScript
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;i<gameabc_Voice.VoiceFileList.length;i++){
|
||
if(gameabc_Voice.VoiceFileList[i].file){
|
||
scount--;
|
||
}
|
||
}
|
||
if(scount == 0){
|
||
_gameSoundsObj.completed = true;
|
||
}
|
||
}
|
||
|
||
});
|
||
}else{
|
||
|
||
}
|
||
|
||
}
|
||
_gameSoundsObj.loadAudios = function(){
|
||
_gameSoundsObj.loadCount = 0;
|
||
_gameSoundsObj.completedLoad = 0;
|
||
for(var i=0;i<gameabc_Voice.VoiceFileList.length;i++){
|
||
if(gameabc_Voice.VoiceFileList[i].file){
|
||
_gameSoundsObj.loadCount ++;
|
||
}
|
||
}
|
||
for(var i=0;i<gameabc_Voice.VoiceFileList.length;i++){
|
||
if(gameabc_Voice.VoiceFileList[i].file){
|
||
var item = {
|
||
id:gameabc_Voice.VoiceFileList[i].file,
|
||
src:gameabc_Voice.VoiceFileList[i].file,
|
||
sourceList:[]
|
||
};
|
||
|
||
function callback(arg1,arg2){
|
||
if(arg1){
|
||
//logmessage("error",1);
|
||
}else{
|
||
//logmessage("success:"+arg2,1);
|
||
}
|
||
}
|
||
|
||
_gameSoundsObj.loadAudio(item,function(arg1,arg2){
|
||
if(arg1){
|
||
//logmessage("error",1);
|
||
}else{
|
||
//logmessage("success:"+arg2,1);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
//if(GameData.OS == ConstVal.OS.apple){
|
||
//document.addEventListener('touchstart', function () {
|
||
//logmessage("touchstart1",1);
|
||
//if(!_gameSoundsObj.completed){
|
||
//var scount = 0;
|
||
//for(src in _gameSoundsObj.soundList){
|
||
//scount++;
|
||
|
||
//try{
|
||
//if(!_gameSoundsObj.soundList[src].touched){
|
||
//_gameSoundsObj.soundList[src].touched = true;
|
||
//var source = _context.createBufferSource();
|
||
//source.buffer = _gameSoundsObj.soundList[src].buffer;//
|
||
//source.connect(_context.destination);//
|
||
//}
|
||
|
||
//}catch(e){
|
||
|
||
//}
|
||
|
||
//}
|
||
//for(var i=0;i<gameabc_Voice.VoiceFileList.length;i++){
|
||
//if(gameabc_Voice.VoiceFileList[i].file){
|
||
//scount--;
|
||
//}
|
||
//}
|
||
//if(scount == 0){
|
||
//_gameSoundsObj.completed = true;
|
||
//}
|
||
//}
|
||
|
||
//});
|
||
//}else{
|
||
|
||
//}
|
||
|
||
|
||
}
|
||
_gameSoundsObj.play = function(src,loop){
|
||
try{
|
||
//logmessage("_gameSoundsObj.play1"+src+"、"+loop,1);
|
||
var item = _gameSoundsObj.soundList[src];
|
||
if(loop && !item){
|
||
_gameSoundsObj.autoBgmList[src] = src;
|
||
//logmessage("_gameSoundsObj.autoBgmListplay"+src,1);
|
||
}
|
||
if(!item){
|
||
return;
|
||
}
|
||
if(!item.connected){
|
||
return;
|
||
}
|
||
if(loop && item.sourceList.length>0){//背景音
|
||
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; i<this.length; i++) {
|
||
if (this.charCodeAt(i)>127 || 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;i<ConstVal.InterEffSoundsList.length;i++){
|
||
Utl.stopSound(ConstVal.InterEffSoundsList[i]);
|
||
}
|
||
if(ConstVal.netType == 0){
|
||
var exp = new Date();
|
||
GameData.leaveTime = exp.getTime();
|
||
}else{
|
||
|
||
}
|
||
//关闭震动
|
||
Func.canclevibrator();
|
||
|
||
}
|
||
}else{
|
||
|
||
}
|
||
}catch(e){
|
||
//gameLog("apperror"+e.stack,1);
|
||
//alert(e.stack);
|
||
//if(Game_Config.Debugger.isSubmitError){
|
||
//Net.submit_error(e.stack,"活动测试");
|
||
//}
|
||
}
|
||
}
|
||
Func.prepareAudio=function(){
|
||
//因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数
|
||
try{
|
||
Utl.stopMusic();
|
||
GameData.isRecord = true;
|
||
window.settings.prepareaudio();
|
||
}catch(e){
|
||
//alert(e);
|
||
|
||
}
|
||
}
|
||
function getaudiourl(audiourl,time){//录音成功回调
|
||
//alert("录音成功:"+audiourl);
|
||
GameData.isRecord = false;
|
||
Utl.playMusic();
|
||
if(Number(time)>0){
|
||
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<obj.length;i++){
|
||
var pho=obj[i];
|
||
if(pho.photourl){
|
||
if(Number(pho.pid)==25){
|
||
if(pho.photourl){
|
||
up_imgurl(Number(pho.pid),pho.photourl,1);
|
||
GameData.playerHeadImgState = true;
|
||
}else{
|
||
up_imgurl(Number(pho.pid),"assets/bmp/00170.png",1);
|
||
}
|
||
}else if(Number(pho.pid)==115 || Number(pho.pid)==5){
|
||
up_imgurl(Number(pho.pid),pho.photourl,1);
|
||
}else{
|
||
//up_imgurl(Number(pho.pid),"assets/bmp/00170.png",1);
|
||
setTimeout(
|
||
function(){
|
||
if(pho.photourl){
|
||
up_imgurl(Number(pho.pid),pho.photourl,1);
|
||
}else{
|
||
up_imgurl(Number(pho.pid),"assets/bmp/00170.png",1);
|
||
}
|
||
}
|
||
,ConstVal.Max.headImgTimer);
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
//调用手机默认浏览器打开链接
|
||
Func.browser=function(url){
|
||
try{
|
||
if(url){
|
||
window.settings.browser(url);
|
||
}
|
||
}catch(e){
|
||
console.log(url);
|
||
}
|
||
|
||
}
|
||
//主动获取手机电量
|
||
Func.getbattery=function(){
|
||
try{
|
||
var battery=window.settings.getbattery();
|
||
return battery;
|
||
}catch(e){
|
||
//alert(e);
|
||
return 1;
|
||
|
||
}
|
||
}
|
||
|
||
//手机电量变化调用
|
||
function getBattery(Battery){
|
||
GameData.Battery=Battery;
|
||
if(GameData.Battery<=0.2){
|
||
set_self(338,43,3,0,0);
|
||
}else{
|
||
set_self(338,43,2,0,0);
|
||
}
|
||
}
|
||
//分享图片(链接)
|
||
Func.sharephotourl=function(sharetype,url){
|
||
try{
|
||
window.settings.sharephotourl(sharetype,url);
|
||
}catch(e){
|
||
//alert(e);
|
||
}
|
||
}
|
||
//获取网络类型 1 未连接网络 2 连接wifi 3 连接2G/3G/4G
|
||
Func.getnetwork=function(){
|
||
try{
|
||
var type = window.settings.getnetwork();
|
||
return type;
|
||
}catch(e){
|
||
return 1;
|
||
}
|
||
}
|
||
|
||
//获取wifi信号ssidname wifi名称 signalLevel wifi信号强度 0-4 弱到强
|
||
Func.getwifisignalLevel=function(){
|
||
try{
|
||
window.settings.getwifisignalLevel();
|
||
}catch(e){
|
||
//alert(e);
|
||
|
||
}
|
||
}
|
||
//WiFi信号变化调用
|
||
function getwifiLevel(ssidname,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;
|
||
}
|
||
|
||
}
|
||
//网络状况改变
|
||
function getnetwork(type){
|
||
type=Number(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;
|
||
}
|
||
}
|
||
//获取版本类型
|
||
Func.getVersionState = function(){
|
||
//获取版本类型 用于判断版本是否高于服务器版本
|
||
try{
|
||
//苹果获取结果接口
|
||
return Number(window.settings.getcompareCode());
|
||
}catch(e){
|
||
return 0;
|
||
}
|
||
}
|
||
|
||
Func.startshake = function(){
|
||
if(Utl.ReadData(Utl.Config.shake)==1){
|
||
if(GameData.shakeID != Game_Config.shakeList.nil){
|
||
try{
|
||
window.settings.startshake();
|
||
}catch(e){
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
Func.stopshake = function(){
|
||
try{
|
||
window.settings.stopshake();
|
||
}catch(e){
|
||
|
||
}
|
||
}
|
||
Func.switchshakeVoice = function(Voicetype){
|
||
try{
|
||
window.settings.SwitchShake(Voicetype);
|
||
}catch(e){
|
||
|
||
}
|
||
}
|
||
|
||
function shakeEnd(){//摇一摇回调
|
||
Game_Modify.shakeEvent();
|
||
}
|
||
//获得渠道名称
|
||
Func.getchannelName = function(){//
|
||
try{
|
||
var name=window.settings.getchannelName();
|
||
if(name){
|
||
return name;
|
||
}else{
|
||
return "";
|
||
}
|
||
}catch(e){
|
||
return "";
|
||
}
|
||
}
|
||
|
||
//播放声音
|
||
Func.play_wav = function(src,isloop){
|
||
if(src){
|
||
if(GameData.appstate ||(!GameData.appstate&&isloop==-1)){
|
||
try{
|
||
if(!GameData.isRecord){
|
||
window.settings.srcIsloop(src,isloop);
|
||
}
|
||
|
||
}catch(e){
|
||
if(GameData.h5Version == 1 && GameData.OS == ConstVal.OS.apple){
|
||
//logmessage("apple play"+src+"、"+isloop,1);
|
||
switch(isloop){
|
||
case 0:
|
||
case 1:
|
||
_gameSoundsObj.play(src,isloop);
|
||
break;
|
||
case -1:
|
||
_gameSoundsObj.stop(src);
|
||
break;
|
||
}
|
||
}else{
|
||
if(!GameData.isRecord){
|
||
play_wav(src,isloop);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
//开启扫一扫
|
||
Func.OpenScan = function(){
|
||
try{
|
||
window.settings.opensaoma();
|
||
}catch(e){
|
||
|
||
}
|
||
}
|
||
//扫一扫回调数据
|
||
function getsaomaData(data){
|
||
|
||
}
|
||
//开启定位
|
||
Func.startlocation = function(type){
|
||
try{
|
||
window.settings.startlocation(type);
|
||
}catch(e){
|
||
|
||
}
|
||
}
|
||
//获取定位
|
||
Func.getlocation = function(){
|
||
try{
|
||
window.settings.getlocationinfo();
|
||
}catch(e){
|
||
|
||
}
|
||
}
|
||
/*
|
||
{"address":"江西省南昌市青云谱区施尧路靠近上海浦东发展银行(长天支行)","city":"南昌市",
|
||
"cityCode":"0791","country":"中国","district":"青云谱区","latitude":28.623546,"longitude":115.900333,
|
||
"province":"江西省","street":"施尧路"}*/
|
||
function getlocationinfo(locationinfo){
|
||
if(locationinfo){
|
||
try{
|
||
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){
|
||
}
|
||
}
|
||
|
||
}
|
||
//
|
||
Func.SwitchOverGameData = function(webtype,Gamedirectory,gamedownloadurl,data){
|
||
try{
|
||
window.settings.SwitchOverGameData(webtype,Gamedirectory,gamedownloadurl,data);
|
||
}catch(e){
|
||
console.log("webtype:"+webtype+"Gamedirectory:"+Gamedirectory+"gamedownloadurl:"+gamedownloadurl+"data:"+data);
|
||
}
|
||
}
|
||
Func.backgameData = function(data){//
|
||
try{
|
||
window.settings.backgameData(data);
|
||
}catch(e){
|
||
|
||
}
|
||
}
|
||
function backgameData(){
|
||
var data= {};
|
||
if(C_Player.roomcard>-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<RoomCode.length;i++){
|
||
set_self(236+i,7,Number(RoomCode[i]),0,0);
|
||
set_self(236+i,37,1,0,0);
|
||
}
|
||
if(RoomCode.length==6){
|
||
var data={};
|
||
data.agentid = GameData.AgentId;
|
||
data.playerid = C_Player.playerid;
|
||
data.gameid = GameData.GameId;
|
||
data.roomcode = RoomNum;
|
||
Net.Send_self_join_room(data);
|
||
|
||
}
|
||
break;
|
||
case "mouseup_366":
|
||
var text = resp;
|
||
var reg = /[^0-9]/g;
|
||
if(text){
|
||
text = text.replace(reg,"");
|
||
//if(reg.test(text)){
|
||
set_self(365,7,text,0,0);
|
||
//}else{
|
||
//GameUI.OpenTips("粘贴内容格式不符!",ConstVal.Tips.time);
|
||
//}
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
//获得市场id
|
||
Func.getmarketname = function(){//
|
||
try{
|
||
return window.settings.getmarketname();
|
||
}catch(e){
|
||
return 1;
|
||
}
|
||
}
|
||
function getmarketname_callback(resp){
|
||
switch(GameData.getmarketname){
|
||
case "AppStart":
|
||
GameData.marketID = Number(resp);
|
||
Logic.setGameServer();
|
||
break;
|
||
}
|
||
}
|
||
//开启关闭语音
|
||
Func.voicePlaying = function(type){//
|
||
try{
|
||
window.settings.voicePlaying(type);
|
||
}catch(e){
|
||
console.log("voicePlaying:"+type);
|
||
}
|
||
}
|
||
//获得自定义文件夹名
|
||
Func.getOther = function(){//
|
||
try{
|
||
var assetname = window.settings.getOther();
|
||
return assetname;
|
||
}catch(e){
|
||
return "";
|
||
}
|
||
}
|
||
//获得指定文件夹
|
||
Func.getothername = function(name){//
|
||
try{
|
||
var rtname = window.settings.getothername(name);
|
||
return rtname;
|
||
}catch(e){
|
||
return "";
|
||
}
|
||
}
|
||
//获得指定文件夹回调
|
||
function getothername_callback(resp){
|
||
switch(resp.type){
|
||
case "agent":
|
||
if(resp.data){
|
||
GameData.AgentId = resp.data;
|
||
}
|
||
Func.getVersionState();
|
||
break;
|
||
case "gameconfig":
|
||
if(resp.data){
|
||
var url = min_replaceAll(min_replaceAll(resp.data,"-","/",false),"#",":",false);
|
||
//GameData.AjaxUrl = url;
|
||
Game_Config.Debugger.gameserver = "http://"+url+".txt";
|
||
}else{
|
||
//GameData.AjaxUrl = Game_Config.Debugger.gameserver;
|
||
}
|
||
Logic.setAgentId();
|
||
break;
|
||
}
|
||
}
|
||
//内部打开网页 Func.OpenurlTitleData(url,title,data)
|
||
Func.OpenurlTitleData = function(url,title,data){//
|
||
try{
|
||
if(url){
|
||
window.settings.OpenurlTitleData(url,title,data);
|
||
}
|
||
}catch(e){
|
||
console.log(url+"、"+title+"、"+data);
|
||
}
|
||
}
|
||
//退出登录通知app
|
||
Func.logoffCallback = function(){
|
||
try{
|
||
window.settings.cancellogin();
|
||
}catch(e){
|
||
console.log("logoff");
|
||
}
|
||
|
||
}
|
||
Func.h5Webpay = function(){
|
||
try{
|
||
var userinfo = {
|
||
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
|
||
};
|
||
window.settings.h5Webpay(JSON.stringify(userinfo));
|
||
}catch(e){
|
||
console.log(JSON.stringify(userinfo));
|
||
}
|
||
}
|
||
Func.createRoom = function(){
|
||
try{
|
||
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
|
||
|
||
|
||
};
|
||
window.settings.createRoom(JSON.stringify(userinfo));
|
||
}catch(e){
|
||
console.log(JSON.stringify(userinfo));
|
||
}
|
||
}
|
||
Func.exitRoom = function(){
|
||
try{
|
||
var userinfo = {
|
||
agentid:GameData.AgentId,
|
||
roomid:Utl.getRoomcode(),
|
||
playerid:C_Player.playerid
|
||
|
||
};
|
||
window.settings.exitRoom(JSON.stringify(userinfo));
|
||
}catch(e){
|
||
console.log(JSON.stringify(userinfo));
|
||
}
|
||
}
|
||
function getVideoinfo(_playerid){
|
||
var st = Desk.getPlayerIndexByPlayerid(_playerid);
|
||
if(st<0){
|
||
|
||
//logmessage("_playeridError!"+_playerid,1);
|
||
return;}
|
||
|
||
var rValue = {};
|
||
rValue.playerid = _playerid;
|
||
rValue.left = get_self(376+st,18,0,0,0);
|
||
rValue.top = get_self(376+st,19,0,0,0);
|
||
rValue.width = get_self(376+st,20,0,0,0);
|
||
rValue.height = get_self(376+st,21,0,0,0);
|
||
rValue.pmw = window.screen.width;
|
||
rValue.pmh = window.screen.height;
|
||
Func.getVideoinfo(JSON.stringify(rValue));
|
||
}
|
||
Func.getVideoinfo = function(videoinfo){
|
||
window.settings.getVideoinfo(videoinfo);
|
||
}
|
||
function setupWebViewJavascriptBridge(callback) {
|
||
if (window.WebViewJavascriptBridge) {
|
||
callback(WebViewJavascriptBridge);
|
||
} else {
|
||
document.addEventListener(
|
||
'WebViewJavascriptBridgeReady'
|
||
, function() {
|
||
callback(WebViewJavascriptBridge);
|
||
},
|
||
false
|
||
);
|
||
}
|
||
|
||
if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); }
|
||
window.WVJBCallbacks = [callback];
|
||
var WVJBIframe = document.createElement('iframe');
|
||
WVJBIframe.style.display = 'none';
|
||
WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';
|
||
document.documentElement.appendChild(WVJBIframe);
|
||
setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0);
|
||
}
|
||
|
||
//在改function 中添加原生调起js方法
|
||
Func.registerFunction = function(){
|
||
setupWebViewJavascriptBridge(function(bridge) {
|
||
|
||
//注册原生调起方法
|
||
//参数1: buttonjs 注册flag 供原生使用,要和原生统一
|
||
//参数2: data 是原生传给js 的数据
|
||
//参数3: responseCallback 是js 的回调,可以通过该方法给原生传数据
|
||
bridge.registerHandler("sharelogin",function(data,responseCallback){
|
||
//logmessage(data,1);
|
||
|
||
var openid = data.openid;
|
||
var headimgurl = data.headimgurl;
|
||
var nickname = data.nickname;
|
||
var sex = data.sex;
|
||
var city = data.city;
|
||
var Province = data.Province;
|
||
var unionid = data.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);
|
||
}
|
||
//responseCallback("");
|
||
});
|
||
|
||
bridge.registerHandler("gameui_play_voice",function(data,responseCallback){//分享成功回调
|
||
var v = Number(data);
|
||
var bTemp = false;
|
||
if(v >= 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;i<ConstVal.InterEffSoundsList.length;i++){
|
||
Utl.stopSound(ConstVal.InterEffSoundsList[i]);
|
||
}
|
||
if(ConstVal.netType == 0){
|
||
var exp = new Date();
|
||
GameData.leaveTime = exp.getTime();
|
||
}else{
|
||
|
||
}
|
||
//关闭震动
|
||
Func.canclevibrator();
|
||
|
||
}
|
||
}else{
|
||
|
||
}
|
||
//responseCallback("");
|
||
}catch(e){
|
||
//gameLog("apperror"+e.stack,1);
|
||
//alert(e.stack);
|
||
//if(Game_Config.Debugger.isSubmitError){
|
||
//Net.submit_error(e.stack,"活动测试");
|
||
//}
|
||
}
|
||
});
|
||
bridge.registerHandler("getaudiourl",function(data,responseCallback){//录音成功回调
|
||
var audiourl = data.audiourl;
|
||
var time = data.time;
|
||
//alert("录音成功:"+audiourl);
|
||
GameData.isRecord = false;
|
||
Utl.playMusic();
|
||
if(Number(time)>0){
|
||
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;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|