4178 lines
105 KiB
JavaScript
4178 lines
105 KiB
JavaScript
//var AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext;
|
||
//var _context = new AudioContext();
|
||
/*
|
||
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
|
||
* Digest Algorithm, as defined in RFC 1321.
|
||
* Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
|
||
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
|
||
* Distributed under the BSD License
|
||
* See http://pajhome.org.uk/crypt/md5 for more info.
|
||
*/
|
||
|
||
/*
|
||
* Configurable variables. You may need to tweak these to be compatible with
|
||
* the server-side, but the defaults work in most cases.
|
||
*/
|
||
|
||
var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
|
||
var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
|
||
var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */
|
||
|
||
/*
|
||
* These are the functions you'll usually want to call
|
||
* They take string arguments and return either hex or base-64 encoded strings
|
||
*/
|
||
function hex_md5(s) { return binl2hex(core_md5(str2binl(s), s.length * chrsz)); }
|
||
function b64_md5(s) { return binl2b64(core_md5(str2binl(s), s.length * chrsz)); }
|
||
function str_md5(s) { return binl2str(core_md5(str2binl(s), s.length * chrsz)); }
|
||
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
|
||
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
|
||
function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
|
||
|
||
/*
|
||
* Perform a simple self-test to see if the VM is working
|
||
*/
|
||
function md5_vm_test() {
|
||
return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
|
||
}
|
||
|
||
/*
|
||
* Calculate the MD5 of an array of little-endian words, and a bit length
|
||
*/
|
||
function core_md5(x, len) {
|
||
/* append padding */
|
||
x[len >> 5] |= 0x80 << ((len) % 32);
|
||
x[(((len + 64) >>> 9) << 4) + 14] = len;
|
||
|
||
var a = 1732584193;
|
||
var b = -271733879;
|
||
var c = -1732584194;
|
||
var d = 271733878;
|
||
|
||
for (var i = 0; i < x.length; i += 16) {
|
||
var olda = a;
|
||
var oldb = b;
|
||
var oldc = c;
|
||
var oldd = d;
|
||
|
||
a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
|
||
d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
|
||
c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
|
||
b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
|
||
a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
|
||
d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
|
||
c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
|
||
b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
|
||
a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
|
||
d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
|
||
c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
|
||
b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
|
||
a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
|
||
d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
|
||
c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
|
||
b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
|
||
|
||
a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
|
||
d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
|
||
c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
|
||
b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
|
||
a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
|
||
d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
|
||
c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
|
||
b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
|
||
a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
|
||
d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
|
||
c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
|
||
b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
|
||
a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
|
||
d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
|
||
c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
|
||
b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
|
||
|
||
a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
|
||
d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
|
||
c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
|
||
b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
|
||
a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
|
||
d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
|
||
c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
|
||
b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
|
||
a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
|
||
d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
|
||
c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
|
||
b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
|
||
a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
|
||
d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
|
||
c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
|
||
b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
|
||
|
||
a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
|
||
d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
|
||
c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
|
||
b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
|
||
a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
|
||
d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
|
||
c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
|
||
b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
|
||
a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
|
||
d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
|
||
c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
|
||
b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
|
||
a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
|
||
d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
|
||
c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
|
||
b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
|
||
|
||
a = safe_add(a, olda);
|
||
b = safe_add(b, oldb);
|
||
c = safe_add(c, oldc);
|
||
d = safe_add(d, oldd);
|
||
}
|
||
return Array(a, b, c, d);
|
||
|
||
}
|
||
|
||
/*
|
||
* These functions implement the four basic operations the algorithm uses.
|
||
*/
|
||
function md5_cmn(q, a, b, x, s, t) {
|
||
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
|
||
}
|
||
function md5_ff(a, b, c, d, x, s, t) {
|
||
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
|
||
}
|
||
function md5_gg(a, b, c, d, x, s, t) {
|
||
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
|
||
}
|
||
function md5_hh(a, b, c, d, x, s, t) {
|
||
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
|
||
}
|
||
function md5_ii(a, b, c, d, x, s, t) {
|
||
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
|
||
}
|
||
|
||
/*
|
||
* Calculate the HMAC-MD5, of a key and some data
|
||
*/
|
||
function core_hmac_md5(key, data) {
|
||
var bkey = str2binl(key);
|
||
if (bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
|
||
|
||
var ipad = Array(16), opad = Array(16);
|
||
for (var i = 0; i < 16; i++) {
|
||
ipad[i] = bkey[i] ^ 0x36363636;
|
||
opad[i] = bkey[i] ^ 0x5C5C5C5C;
|
||
}
|
||
|
||
var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
|
||
return core_md5(opad.concat(hash), 512 + 128);
|
||
}
|
||
|
||
/*
|
||
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
|
||
* to work around bugs in some JS interpreters.
|
||
*/
|
||
function safe_add(x, y) {
|
||
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
|
||
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
|
||
return (msw << 16) | (lsw & 0xFFFF);
|
||
}
|
||
|
||
/*
|
||
* Bitwise rotate a 32-bit number to the left.
|
||
*/
|
||
function bit_rol(num, cnt) {
|
||
return (num << cnt) | (num >>> (32 - cnt));
|
||
}
|
||
|
||
/*
|
||
* Convert a string to an array of little-endian words
|
||
* If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
|
||
*/
|
||
function str2binl(str) {
|
||
var bin = Array();
|
||
var mask = (1 << chrsz) - 1;
|
||
for (var i = 0; i < str.length * chrsz; i += chrsz)
|
||
bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (i % 32);
|
||
return bin;
|
||
}
|
||
|
||
/*
|
||
* Convert an array of little-endian words to a string
|
||
*/
|
||
function binl2str(bin) {
|
||
var str = "";
|
||
var mask = (1 << chrsz) - 1;
|
||
for (var i = 0; i < bin.length * 32; i += chrsz)
|
||
str += String.fromCharCode((bin[i >> 5] >>> (i % 32)) & mask);
|
||
return str;
|
||
}
|
||
|
||
/*
|
||
* Convert an array of little-endian words to a hex string.
|
||
*/
|
||
function binl2hex(binarray) {
|
||
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
|
||
var str = "";
|
||
for (var i = 0; i < binarray.length * 4; i++) {
|
||
str += hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 0xF) +
|
||
hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 0xF);
|
||
}
|
||
return str;
|
||
}
|
||
|
||
/*
|
||
* Convert an array of little-endian words to a base-64 string
|
||
*/
|
||
function binl2b64(binarray) {
|
||
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||
var str = "";
|
||
for (var i = 0; i < binarray.length * 4; i += 3) {
|
||
var triplet = (((binarray[i >> 2] >> 8 * (i % 4)) & 0xFF) << 16)
|
||
| (((binarray[i + 1 >> 2] >> 8 * ((i + 1) % 4)) & 0xFF) << 8)
|
||
| ((binarray[i + 2 >> 2] >> 8 * ((i + 2) % 4)) & 0xFF);
|
||
for (var j = 0; j < 4; j++) {
|
||
if (i * 8 + j * 6 > binarray.length * 32) str += b64pad;
|
||
else str += tab.charAt((triplet >> 6 * (3 - j)) & 0x3F);
|
||
}
|
||
}
|
||
return str;
|
||
}
|
||
|
||
var _context = null;
|
||
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);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
|
||
|
||
}
|
||
_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) {
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
var dynamicLoading = {
|
||
css: function (path) {
|
||
if (!path || path.length === 0) {
|
||
throw new Error('argument "path" is required !');
|
||
}
|
||
var head = document.getElementsByTagName('head')[0];
|
||
var link = document.createElement('link');
|
||
link.href = path;
|
||
link.rel = 'stylesheet';
|
||
link.type = 'text/css';
|
||
head.appendChild(link);
|
||
},
|
||
js: function (path) {
|
||
if (!path || path.length === 0) {
|
||
throw new Error('argument "path" is required !');
|
||
}
|
||
var head = document.getElementsByTagName('head')[0];
|
||
var script = document.createElement('script');
|
||
script.src = path;
|
||
script.type = 'text/javascript';
|
||
head.appendChild(script);
|
||
}
|
||
}
|
||
var setPostUrl = function setPostUrl(url) {
|
||
GameData.sharePostUrl = url;
|
||
}
|
||
var isArray = function isArray(o) {
|
||
return Object.prototype.toString.call(o) == '[object Array]';
|
||
}
|
||
var gameLog = function gameLog(msg, mode) {
|
||
//logmessage(msg,1);
|
||
}
|
||
var checkMobile = function checkMobile(sMobile) {
|
||
//var sMobile = document.mobileform.mobile.value
|
||
///^1[3|4|5|7|8|9][0-9]{9}$/
|
||
if (!(/^1[3|4|5|6|7|8|9][0-9]{9}$/.test(sMobile))) {
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
var sliceStrByKey = function (str, key) {
|
||
var idx = str.indexOf(key);
|
||
if (idx > -1) {
|
||
return str.slice(0, idx);
|
||
}
|
||
return str;
|
||
}
|
||
//获取网页参数
|
||
var fGetQuery = function (name) {//获取参数值
|
||
//var sUrl = window.location.search.substr(1);
|
||
//var r = sUrl.match(new RegExp("(^|&)" + name + "=([^&]*)(&|$)"));
|
||
//return (r == null ? null : unescape(r[2]));
|
||
if (typeof (window.location.search) != "undefined" && window.location.search != '') {
|
||
|
||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||
var r = window.location.search.substr(1).match(reg);
|
||
if (r != null) {
|
||
return r[2];
|
||
}
|
||
}
|
||
return null;
|
||
}
|
||
var fGetQuery1 = function (url, name) {//获取参数值
|
||
//if(typeof(window.location.search)!="undefined"&&window.location.search!=''){
|
||
|
||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||
var r = url.slice(url.indexOf("?"), url.length).substr(1).match(reg);
|
||
if (r != null) {
|
||
return r[2];
|
||
}
|
||
//}
|
||
return null;
|
||
}
|
||
|
||
var fixUrl = function (url) {
|
||
|
||
var idx = url.indexOf("?");
|
||
if (idx > -1) {
|
||
var preUrl = url.substr(0, idx + 1);
|
||
var subUrl = url.substr(idx + 1, url.length);
|
||
return preUrl + min_replaceAll(subUrl, "\\?", "&");
|
||
} else {
|
||
return url;
|
||
}
|
||
}
|
||
var addParam = function (url, paramKey, paramVal) {
|
||
var andStr = "?";
|
||
var beforeparam = url.indexOf("?");
|
||
if (beforeparam != -1) {
|
||
andStr = "&";
|
||
}
|
||
return url + andStr + paramKey + "=" + encodeURIComponent(paramVal);
|
||
}
|
||
var delParam = function (url, paramKey) {
|
||
var urlParam = url.substr(url.indexOf("?") + 1);
|
||
var beforeUrl = url.substr(0, url.indexOf("?"));
|
||
var nextUrl = "";
|
||
|
||
var arr = new Array();
|
||
if (urlParam != "") {
|
||
var urlParamArr = urlParam.split("&");
|
||
|
||
for (var i = 0; i < urlParamArr.length; i++) {
|
||
var paramArr = urlParamArr[i].split("=");
|
||
if (paramArr[0] != paramKey) {
|
||
arr.push(urlParamArr[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
if (arr.length > 0) {
|
||
nextUrl = "?" + arr.join("&");
|
||
}
|
||
url = beforeUrl + nextUrl;
|
||
return url;
|
||
}
|
||
var Func = Func || {};
|
||
var bForcepc = fGetQuery("dv") == "pc";
|
||
//获取当前系统
|
||
var fBrowserRedirect = function () {
|
||
//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;
|
||
|
||
}
|
||
var getQueryString = function (name) {
|
||
if (typeof (window.location.search) != "undefined" && window.location.search != '') {
|
||
|
||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||
var r = window.location.search.substr(1).match(reg);
|
||
if (r !== null) {
|
||
return r[2];
|
||
}
|
||
}
|
||
return null;
|
||
}
|
||
|
||
var strToJson = function (str) {
|
||
var json = eval('(' + str + ')');
|
||
return json;
|
||
//return JSON.parse(str);
|
||
|
||
}
|
||
//获取字符字节长度
|
||
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 && arrBan[i]) {
|
||
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);
|
||
}
|
||
var IDValidator = function () {
|
||
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.subString2 = 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) {
|
||
GameData.shareFriendInfo = {
|
||
sharefriend: sharefriend,
|
||
type: type,
|
||
webpageUrl: webpageUrl,
|
||
title: title,
|
||
description: description,
|
||
spidList: spidList
|
||
};
|
||
//h5和非h5
|
||
if (GameData.sysConfig.otherShare == 2) {
|
||
if (!GameData.h5Version) {
|
||
GameUI.openSharePannel();
|
||
} else {
|
||
Func.sharefriend(GameData.shareFriendInfo);
|
||
}
|
||
} else {
|
||
Func.sharefriend(GameData.shareFriendInfo);
|
||
}
|
||
}
|
||
|
||
Func.visitorLogin = function () {
|
||
//游客身份登入,随机游客数据
|
||
// GameData.isVisitor = true;
|
||
// GameData.isDeviceLogin = false;
|
||
var WxInfo = Utl.ReadData(Utl.Config.wxinfo);
|
||
if (WxInfo != null) {
|
||
WxInfo = JSON.parse(WxInfo);
|
||
sharelogin(WxInfo.openid, WxInfo.headimgurl, WxInfo.nickname, WxInfo.sex, WxInfo.city, WxInfo.Province, WxInfo.unionid);
|
||
} else {
|
||
var pInfo = Func.simulatePlayerInfo("游客");
|
||
|
||
sharelogin(pInfo.openid, pInfo.openid.headimgurl, pInfo.nickname, pInfo.sex, pInfo.city, pInfo.province, pInfo.unionid);
|
||
}
|
||
|
||
}
|
||
Func.simulatePlayerInfo = function (nameString) {
|
||
var headLoginList = [
|
||
"https://img2.baidu.com/it/u=1823726962,2692568839&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500",
|
||
"https://img0.baidu.com/it/u=320875415,2231067789&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500",
|
||
"https://img1.baidu.com/it/u=3407774307,2859661062&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500",
|
||
"https://img2.baidu.com/it/u=1161398577,3592656327&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500",
|
||
"https://img1.baidu.com/it/u=2061657615,4194426181&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=501",
|
||
"https://img2.baidu.com/it/u=3081347414,2363887197&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500",
|
||
"https://img1.baidu.com/it/u=1364384963,3982203144&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500",
|
||
"https://img1.baidu.com/it/u=3041194995,2386060237&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500",
|
||
"https://img2.baidu.com/it/u=2904976445,2884058010&fm=253&fmt=auto&app=120&f=JPEG?w=529&h=500",
|
||
"https://img0.baidu.com/it/u=1801052125,1596537112&fm=253&fmt=auto&app=120&f=JPEG?w=529&h=500",
|
||
|
||
];
|
||
var ram = ifast_random(100000);
|
||
var resInfo = {
|
||
openid: "testopenid_" + ram,
|
||
headimgurl: headLoginList[ifast_random(headLoginList.length)],
|
||
nickname: ram + '_' + nameString,
|
||
sex: ifast_random(2) + 1,
|
||
city: "nanchang",
|
||
province: "jiangxi",
|
||
unionid: "ylgame" + ram
|
||
}
|
||
return resInfo;
|
||
}
|
||
Func.deviceLogin = function (phone, sms) {
|
||
//设备登录
|
||
GameData.isVisitor = false;
|
||
GameData.isDeviceLogin = true;
|
||
var WxInfo = Utl.getCookie(Utl.Config.devicePlayer);
|
||
if (WxInfo) {
|
||
WxInfo = JSON.parse(WxInfo);
|
||
sharelogin(WxInfo.openid, WxInfo.headimgurl, WxInfo.nickname, WxInfo.sex, WxInfo.city, WxInfo.Province, WxInfo.unionid, phone, sms);
|
||
} else {
|
||
var unionid = min_randomChar(25);
|
||
if (GameData.phoneInfo) {
|
||
if (GameData.phoneInfo.PhoneIMEI) {
|
||
unionid = GameData.phoneInfo.PhoneIMEI;
|
||
} else {
|
||
//GameUI.OpenTips("请到设置中打开游戏读取手机信息权限");
|
||
GameData.phoneInfo.PhoneIMEI = unionid;
|
||
Utl.SaveData(Utl.Config.phoneInfo1, JSON.stringify(GameData.phoneInfo));
|
||
}
|
||
} else {
|
||
//GameUI.OpenTips("请到设置中打开游戏读取手机信息权限");
|
||
GameData.phoneInfo = {
|
||
PhoneIMEI: unionid
|
||
};
|
||
Utl.SaveData(Utl.Config.phoneInfo1, JSON.stringify(GameData.phoneInfo));
|
||
}
|
||
var ram = 100000 + ifast_random(100000);
|
||
|
||
var name2 = String(hex_md5(unionid)).slice(0, 6);
|
||
var avatar = "";
|
||
if (GameData.sysConfig.avatarUrl) {
|
||
var avatar = GameData.sysConfig.avatarUrl + min_random(GameData.sysConfig.avatarRange[0],
|
||
GameData.sysConfig.avatarRange[1]) + ".jpg";
|
||
}
|
||
var nickName = "User_" + name2;
|
||
sharelogin(unionid, avatar, nickName, ifast_random(2) + 1,
|
||
"China", "HongKong", unionid, phone, sms);
|
||
//var ram1 = 10000+ifast_random(10000);
|
||
|
||
}
|
||
|
||
}
|
||
Func.phoneLogin = function (phone, sms) {
|
||
//手机登录
|
||
GameData.isVisitor = false;
|
||
GameData.isDeviceLogin = true;
|
||
var WxInfo = Utl.getCookie(Utl.Config.devicePlayer);
|
||
if (WxInfo) {
|
||
WxInfo = JSON.parse(WxInfo);
|
||
sharelogin(WxInfo.openid, WxInfo.headimgurl, WxInfo.nickname, WxInfo.sex, WxInfo.city, WxInfo.Province, WxInfo.unionid, phone, sms);
|
||
} else {
|
||
var unionid = "phone_" + phone;
|
||
|
||
|
||
var name2 = String(hex_md5(unionid)).slice(0, 6);
|
||
var avatar = "";
|
||
if (GameData.sysConfig.avatarUrl) {
|
||
var avatar = GameData.sysConfig.avatarUrl + min_random(GameData.sysConfig.avatarRange[0],
|
||
GameData.sysConfig.avatarRange[1]) + ".jpg";
|
||
}
|
||
var nickName = "User_" + name2;
|
||
sharelogin(unionid, avatar, nickName, ifast_random(2) + 1,
|
||
"China", "ShangHai", unionid, phone, sms);
|
||
//var ram1 = 10000+ifast_random(10000);
|
||
|
||
}
|
||
|
||
}
|
||
Func.accreditlogin = function (type) {
|
||
//因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里
|
||
GameData.isVisitor = false;
|
||
GameData.isDeviceLogin = false;
|
||
// logmessage("accreditlogin",1);
|
||
try {
|
||
var tp = 2;
|
||
if (type) {
|
||
tp = type;
|
||
}
|
||
window.settings.accreditlogin(tp);
|
||
|
||
|
||
} catch (e) {
|
||
if (GameData.h5Version == 1) {
|
||
|
||
} else {
|
||
var pInfo = Func.simulatePlayerInfo("测试");
|
||
|
||
sharelogin(pInfo.openid, pInfo.openid.headimgurl, pInfo.nickname, pInfo.sex, pInfo.city, pInfo.province, pInfo.unionid);
|
||
// sharelogin("fff23"+ram,headLoginList[ifast_random(headLoginList.length)],"测试"+ram,ifast_random(2)+1,"nanchang","jiangxi","oLVKis6bj3_l8qspMybG60KV2GN4");
|
||
}
|
||
|
||
}
|
||
}
|
||
var sharelogin = function (openid, headimgurl, nickname, sex, city, Province, unionid, phone, sms) {
|
||
if (!sex) {
|
||
sex = 1;
|
||
}
|
||
|
||
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;
|
||
if (phone) {
|
||
wxdata.telphone = phone;
|
||
C_Player.setTel(phone);
|
||
}
|
||
wxdata = JSON.stringify(wxdata);
|
||
// if(GameData.isVisitor){
|
||
// Utl.SaveData(Utl.Config.visitorinfo,wxdata);
|
||
// }
|
||
// if(GameData.isDeviceLogin){
|
||
// Utl.SaveData(Utl.Config.devicePlayer,wxdata);
|
||
// }
|
||
if (!GameData.isVisitor && !GameData.isDeviceLogin) {
|
||
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;
|
||
if (phone) {
|
||
data.telphone = phone;
|
||
}
|
||
if (sms) {
|
||
if (sms != "telphoneAuto") {
|
||
data.smmcode = sms;
|
||
data.telphoneAuto = false;
|
||
} else {
|
||
data.telphoneAuto = true;
|
||
}
|
||
}
|
||
Net.Send_login(data);
|
||
|
||
|
||
}
|
||
|
||
}
|
||
var sharesuccess = function (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.trim = function (str) {
|
||
return str.replace(/\s+/g, "");
|
||
}
|
||
Func.insertFlag = function (str, flg, sn, bTemp) {
|
||
//this.charCodeAt(i)>127 || this.charCodeAt(i)==94
|
||
var newstr = "";
|
||
var strLen = str.length;
|
||
var count = 0;
|
||
var cutIndex = 0;
|
||
if (str.gblen() > sn) {
|
||
for (var i = 0; i < str.length; i++) {
|
||
var delta = 0;
|
||
if (str.charCodeAt(i) > 127 || str.charCodeAt(i) == 94) {//中文
|
||
count += 2;
|
||
delta = 2;
|
||
|
||
} else {
|
||
count++;
|
||
delta = 1;
|
||
}
|
||
if (count > sn) {
|
||
var tmp = str.slice(cutIndex, i);
|
||
if (i == strLen - 1) {
|
||
if (bTemp) {
|
||
newstr += tmp + flg;
|
||
} else {
|
||
newstr += tmp;
|
||
}
|
||
} else {
|
||
newstr += tmp + flg;
|
||
cutIndex = i;
|
||
count = delta;
|
||
}
|
||
}
|
||
if (i == strLen - 1 && cutIndex != i) {
|
||
var tmp = str.slice(cutIndex, strLen);
|
||
if (bTemp) {
|
||
newstr += tmp + flg;
|
||
} else {
|
||
newstr += tmp;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|
||
} else {
|
||
if (bTemp) {
|
||
newstr = str + flg;
|
||
} else {
|
||
newstr = str;
|
||
}
|
||
|
||
}
|
||
return newstr;
|
||
}
|
||
Func.countFlag = function (str, flag) {
|
||
var rValue = 0;
|
||
for (var i = 0; i < str.length; i++) {
|
||
if (str[i] == flag) {
|
||
rValue++;
|
||
}
|
||
}
|
||
return rValue;
|
||
}
|
||
Func.exit = function () {
|
||
//因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数
|
||
try {
|
||
window.settings.finsh();
|
||
//alert("调用退出程序");
|
||
} catch (e) {
|
||
|
||
//console.log("程序退出");
|
||
}
|
||
}
|
||
var phonestate = function (state) {//通话状态改变是调用
|
||
C_Player.phonestate(state);
|
||
}
|
||
Func.getQueryString = function (name) {
|
||
if (typeof (window.location.search) != "undefined" && window.location.search != '') {
|
||
|
||
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
|
||
var r = window.location.search.substr(1).match(reg);
|
||
if (r != null) {
|
||
return unescape(r[2]);
|
||
}
|
||
}
|
||
return null;
|
||
}
|
||
var appservice = function (service) {
|
||
try {
|
||
var isLog = false;
|
||
|
||
service = Number(service);
|
||
|
||
if (GameData.isLogin) {
|
||
if (service == 1) {//切回
|
||
GameData.appstate = true;
|
||
|
||
if (GameData.heartBeatTimer) {
|
||
window.clearTimeout(GameData.heartBeatTimer);
|
||
}
|
||
if (!ConstVal.isGameHall) {
|
||
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.isGameHall) {
|
||
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)) {
|
||
if (Game_Modify.updateScene) {
|
||
Game_Modify.updateScene();
|
||
}
|
||
} else {
|
||
|
||
}
|
||
|
||
}
|
||
Utl.playMusic();
|
||
|
||
}
|
||
} else {
|
||
Utl.playMusic();
|
||
}
|
||
} 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;
|
||
if (isxiaowxgame()) {
|
||
GameUI.startRecord();
|
||
}
|
||
window.settings.prepareaudio();
|
||
} catch (e) {
|
||
//alert(e);
|
||
|
||
}
|
||
}
|
||
var getaudiourl = function (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;
|
||
if (GameData.chatInfo) {
|
||
data.info = GameData.chatInfo;
|
||
data.type = 2;
|
||
}
|
||
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;
|
||
if (!ConstVal.isGameHall) {
|
||
try {
|
||
//if(!photo){return;}
|
||
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);
|
||
//Func.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 if (exceptSrc.indexOf(Number(pho.pid)) >= 0) {
|
||
} 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 (exceptSrc.indexOf(recid) >= 0) {
|
||
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);
|
||
}
|
||
|
||
}
|
||
} else {
|
||
gameHallImport.up_imgurl(recid, photo);
|
||
}
|
||
}
|
||
var getphoto = function (photo) {
|
||
if (!ConstVal.isGameHall) {
|
||
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 (exceptSrc.indexOf(Number(pho.pid)) >= 0) {
|
||
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);
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
|
||
}
|
||
}
|
||
|
||
//调用手机默认浏览器打开链接
|
||
Func.browser = function (url) {
|
||
try {
|
||
if (url) {
|
||
url = fixUrl(url);
|
||
var exp = new Date();
|
||
url += "×tamp=" + exp.getTime();
|
||
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;
|
||
|
||
}
|
||
}
|
||
|
||
//手机电量变化调用
|
||
var getBattery = function (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信号变化调用
|
||
var getwifiLevel = function (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;
|
||
}
|
||
|
||
}
|
||
//网络状况改变
|
||
var getnetwork = function (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;
|
||
// return 1;
|
||
}
|
||
}
|
||
|
||
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) {
|
||
|
||
}
|
||
}
|
||
|
||
var shakeEnd = function () {//摇一摇回调
|
||
Game_Modify.shakeEvent();
|
||
}
|
||
//获得渠道名称
|
||
Func.getchannelName = function () {//
|
||
try {
|
||
var name = window.settings.getchannelName();
|
||
if (name) {
|
||
return name;
|
||
} else {
|
||
return "";
|
||
}
|
||
} catch (e) {
|
||
if (GameData.userAgent != ConstVal.userAgent.uAgent_3) {
|
||
return "";
|
||
} else {
|
||
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);
|
||
}
|
||
|
||
} 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) {
|
||
|
||
}
|
||
}
|
||
//扫一扫回调数据
|
||
var getsaomaData = function (data) {
|
||
|
||
}
|
||
//开启定位
|
||
Func.startlocation = function (type) {
|
||
try {
|
||
window.settings.startlocation(type);
|
||
} catch (e) {
|
||
console.log("Func.startlocation:", type);
|
||
getlocationinfo(JSON.stringify({
|
||
"address": "江西省南昌市青云谱区施尧路靠近上海浦东发展银行(长天支行)", "city": "南昌市",
|
||
"cityCode": "0791", "country": "中国", "district": "青云谱区", "latitude": 28.623546, "longitude": 115.900333,
|
||
"province": "江西省", "street": "施尧路", "errorCode": 0
|
||
}));
|
||
}
|
||
}
|
||
//获取定位
|
||
Func.getlocation = function () {
|
||
try {
|
||
if (GameData.otherLocation) {
|
||
GameData.otherLocationTimes++;
|
||
if (GameData.otherLocationTimes > GameData.otherLocationAllTimes) {
|
||
return;
|
||
}
|
||
}
|
||
|
||
window.settings.getlocationinfo();
|
||
} catch (e) {
|
||
console.log("Func.getlocation:");
|
||
getlocationinfo(JSON.stringify({
|
||
"address": "江西省南昌市青云谱区施尧路靠近上海浦东发展银行(长天支行)", "city": "南昌市",
|
||
"cityCode": "0791", "country": "中国", "district": "青云谱区", "latitude": 28.623546, "longitude": 115.900333,
|
||
"province": "江西省", "street": "施尧路", "errorCode": 0
|
||
}));
|
||
}
|
||
}
|
||
/*
|
||
{"address":"江西省南昌市青云谱区施尧路靠近上海浦东发展银行(长天支行)","city":"南昌市",
|
||
"cityCode":"0791","country":"中国","district":"青云谱区","latitude":28.623546,"longitude":115.900333,
|
||
"province":"江西省","street":"施尧路"}*/
|
||
var getlocationinfo = function (locationinfo) {
|
||
if (locationinfo) {
|
||
try {
|
||
locationinfo = JSON.parse(locationinfo);
|
||
C_Player.SetLocationInfo(locationinfo);
|
||
if (locationinfo.city && locationinfo.province) {
|
||
if (Game_Modify.onLocationInfo) {
|
||
Game_Modify.onLocationInfo(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 {
|
||
if (ConstVal.isGameHall) {
|
||
GameData.hallLogin = false;
|
||
if (!gamedownloadurl || !Gamedirectory) {
|
||
gameHallImport.clearGameinfo();
|
||
return;
|
||
}
|
||
Utl.stopMusic();
|
||
}
|
||
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) {
|
||
|
||
}
|
||
}
|
||
var backgameData = function () {
|
||
var data = {};
|
||
if (C_Player.roomcard > -1) {
|
||
data.data = C_Player.returnHallData();
|
||
data.opt = "updatePlayerInfo";
|
||
data.from = 2;
|
||
data.gamename = app_gamename;
|
||
data.gameid = GameData.GameId;
|
||
Func.backgameData(JSON.stringify(data));
|
||
} else {
|
||
data.opt = "saveGameId";
|
||
data.from = 2;
|
||
data.gamename = app_gamename;
|
||
data.gameid = GameData.GameId;
|
||
Func.backgameData(JSON.stringify(data));
|
||
}
|
||
Utl.stopMusic();
|
||
|
||
}
|
||
var getWebdata = function (data) {
|
||
//gameLog("收到数据:"+data,1);
|
||
|
||
|
||
//if(data){
|
||
//data = JSON.parse(data);
|
||
//C_Player.setRoomcard(data.roomcard);
|
||
//}
|
||
if (!ConstVal.isGameHall) {
|
||
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;
|
||
case "loginPlayerid":
|
||
GameData.loginPlayerid = (data.data == GameData.GameId);
|
||
break;
|
||
}
|
||
break;
|
||
case 1://网页调用
|
||
GameData.ConnectType = false;
|
||
GameData.disType = true;
|
||
GameData.NetType = 1;
|
||
GameUI.StartLoad();
|
||
GameData.isClose = true;
|
||
Net.ws_tcp.close();
|
||
//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{
|
||
|
||
//}
|
||
break;
|
||
case 2:
|
||
switch (data.opt) {
|
||
case "updateHTML":
|
||
Logic.getHTML();
|
||
break;
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
} catch (e) {
|
||
|
||
}
|
||
} else {
|
||
GameData.hallLogin = true;
|
||
gameHallImport.getWebdata(data);
|
||
}
|
||
}
|
||
Func.ypayType = function (type) {//
|
||
try {
|
||
window.settings.ypayType(type);
|
||
} catch (e) {
|
||
console.log("ypayType:" + type);
|
||
}
|
||
}
|
||
var yPaytype = function (type, num) {
|
||
//logmessage("type:"+type+"num:"+num,1);
|
||
type = Number(type);
|
||
num = Number(num);
|
||
switch (type) {
|
||
case 1://房卡
|
||
Net._SendData("youle", "agent", "update_roomcard", { agentid: GameData.AgentId, playerid: C_Player.playerid, change: num, type: 9 });
|
||
break;
|
||
case 2://金币
|
||
Net._SendData("youle", "agent", "update_bean", { agentid: GameData.AgentId, playerid: C_Player.playerid, change: num, type: 9 });
|
||
break;
|
||
}
|
||
}
|
||
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)
|
||
}
|
||
}
|
||
var PayuserPaytypePaystate = function (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);
|
||
}
|
||
}
|
||
var pay_succ_s = function (_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);
|
||
|
||
}
|
||
var pay_succ_f = function (_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 "";
|
||
}
|
||
}
|
||
//获取手机信息
|
||
Func.getphoneInfo = function () {//
|
||
try {
|
||
if (Utl.ReadData(Utl.Config.phoneInfo1)) {
|
||
return;
|
||
}
|
||
if (GameData.isGetPhoneInfo) {
|
||
return;
|
||
} else {
|
||
GameData.isGetPhoneInfo = true;
|
||
}
|
||
return window.settings.getphoneInfo();
|
||
} catch (e) {
|
||
var data = {};
|
||
data.PhoneIMEI = "phone_" + min_randomChar(25);
|
||
getphoneinfo(data);
|
||
}
|
||
}
|
||
var getphoneinfo = function (data) {
|
||
if (data) {
|
||
if (typeof data == "string") {
|
||
data = JSON.parse(data);
|
||
|
||
//var msg={};
|
||
//msg.info = {};
|
||
//msg.info.phoneInfo = GameData.phoneInfo;
|
||
//msg.info.addrBook = GameData.addressBook;
|
||
//msg.agentid =GameData.AgentId;
|
||
//msg.playerid = C_Player.playerid;
|
||
//Net.Send_submit_phoneinfo(msg);
|
||
}
|
||
Utl.SaveData(Utl.Config.phoneInfo1, JSON.stringify(data));
|
||
GameData.phoneInfo = data;
|
||
GameData.submitPhoneInfo = true;
|
||
}
|
||
}
|
||
|
||
//获取手机信息
|
||
Func.getAddressBook = function () {//
|
||
try {
|
||
if (Number(Utl.ReadData(Utl.Config.book)) == 1) {
|
||
return;
|
||
} else {
|
||
Utl.SaveData(Utl.Config.book, 1);
|
||
}
|
||
return window.settings.getAddressBook();
|
||
} catch (e) {
|
||
return "";
|
||
}
|
||
}
|
||
var getAddressBook = function (data) {
|
||
if (data) {
|
||
//if(typeof data == "string"){
|
||
//data = JSON.parse(data);
|
||
GameData.addressBook = data;
|
||
var msg = {};
|
||
msg.info = {};
|
||
msg.info.phoneInfo = GameData.phoneInfo;
|
||
msg.info.addrBook = GameData.addressBook;
|
||
msg.agentid = GameData.AgentId;
|
||
msg.playerid = C_Player.playerid;
|
||
Net.Send_submit_phoneinfo(msg);
|
||
//}
|
||
GameData.submitAddressBook = true;
|
||
}
|
||
}
|
||
var gamepastetext_callback = function (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;
|
||
case "mouseup_3217":
|
||
var text = resp
|
||
var reg = /[^0-9]/g;
|
||
if (text) {
|
||
text = text.replace(reg, "");
|
||
GameData.inputPanelData = text;
|
||
GameUI.setNumberImage(3003, GameData.inputPanelData, 51);
|
||
GameUI.adaptPositionSpid(3003, 3002);
|
||
}
|
||
break;
|
||
case "mouseup_3265":
|
||
var text = resp;
|
||
if (text) {
|
||
set_self(551, 7, text, 0, 0);
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
//获得市场id
|
||
Func.getmarketname = function () {//
|
||
|
||
try {
|
||
return window.settings.getmarketname();
|
||
} catch (e) {
|
||
if (GameData.userAgent != ConstVal.userAgent.uAgent_3) {
|
||
return 2;
|
||
} else {
|
||
return app_market;
|
||
}
|
||
}
|
||
}
|
||
var getmarketname_callback = function (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) {//
|
||
//logmessage("old:"+name,1);
|
||
if (GameData.userAgent != ConstVal.userAgent.uAgent_3) {
|
||
try {
|
||
var rtname = window.settings.getothername(name);
|
||
return rtname;
|
||
} catch (e) {
|
||
return "";
|
||
|
||
}
|
||
} else {
|
||
return window["app_" + name];
|
||
}
|
||
}
|
||
//获得指定文件夹回调
|
||
var getothername_callback = function (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, ort) {//
|
||
try {
|
||
if (url) {
|
||
url = fixUrl(url);
|
||
var orient = 0;
|
||
if (fGetQuery1(url, "orientation")) {
|
||
orient = 1;
|
||
}
|
||
var exp = new Date();
|
||
url += "×tamp=" + exp.getTime();
|
||
window.settings.OpenurlTitleData(url, title, data, orient);
|
||
}
|
||
} catch (e) {
|
||
console.log(url);
|
||
console.log(title);
|
||
console.log(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 isOpen = 1;
|
||
//if(Game_Modify.getVideoByRoomType){
|
||
//isOpen = Game_Modify.getVideoByRoomType(Desk.roomtype);
|
||
//}
|
||
//if(!GameData.openVideo){return;}
|
||
//if(!GameData.hallConfig.openVideo || !isOpen){return;}
|
||
if (!Desk.videoConfig) {
|
||
return;
|
||
}
|
||
var userinfo = {
|
||
agentid: GameData.AgentId,
|
||
roomid: Utl.getRoomcode(),
|
||
gameid: GameData.GameId,
|
||
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: 1280,
|
||
pmh: 720
|
||
|
||
|
||
};
|
||
window.settings.createRoom(JSON.stringify(userinfo));
|
||
} catch (e) {
|
||
console.log(JSON.stringify(userinfo));
|
||
}
|
||
}
|
||
Func.exitRoom = function () {
|
||
try {
|
||
var isOpen = 1;
|
||
//if(Game_Modify.getVideoByRoomType){
|
||
//isOpen = Game_Modify.getVideoByRoomType(Desk.roomtype);
|
||
//}
|
||
//if(!GameData.openVideo){return;}
|
||
//if(!GameData.hallConfig.openVideo || !isOpen){return;}
|
||
if (!Desk.videoConfig) {
|
||
return;
|
||
}
|
||
var userinfo = {
|
||
agentid: GameData.AgentId,
|
||
roomid: Utl.getRoomcode(),
|
||
gameid: GameData.GameId,
|
||
playerid: C_Player.playerid
|
||
|
||
};
|
||
window.settings.exitRoom(JSON.stringify(userinfo));
|
||
} catch (e) {
|
||
console.log(JSON.stringify(userinfo));
|
||
}
|
||
}
|
||
var getVideoinfo = function (_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 = 1280;
|
||
rValue.pmh = 720;
|
||
Func.getVideoinfo(JSON.stringify(rValue));
|
||
}
|
||
Func.getVideoinfo = function (videoinfo) {
|
||
try {
|
||
window.settings.getVideoinfo(videoinfo);
|
||
} catch (e) {
|
||
|
||
}
|
||
}
|
||
var setupWebViewJavascriptBridge = function (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("getVideoinfo", function (data, responseCallback) {
|
||
var _playerid = Number(data);
|
||
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 = 1280;
|
||
rValue.pmh = 720;
|
||
Func.getVideoinfo(JSON.stringify(rValue));
|
||
responseCallback("");
|
||
});
|
||
bridge.registerHandler("sharelogin", function (data, responseCallback) {
|
||
//logmessage(data,1);
|
||
if (data) {
|
||
if (typeof data == "string") {
|
||
data = strToJson(data);
|
||
}
|
||
}
|
||
|
||
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) {//分享成功回调
|
||
if (data) {
|
||
if (typeof data == "string") {
|
||
data = strToJson(data);
|
||
}
|
||
}
|
||
var success = data.success;
|
||
var type = data.type;
|
||
success = Number(success);
|
||
type = Number(type);
|
||
C_Player.sharesuccess(success, type);
|
||
//responseCallback("");
|
||
});
|
||
bridge.registerHandler("getphoneinfo", function (data, responseCallback) {//获取手机信息回调
|
||
if (data) {
|
||
if (typeof data == "string") {
|
||
data = strToJson(data);
|
||
|
||
//var msg={};
|
||
//msg.info = {};
|
||
//msg.info.phoneInfo = GameData.phoneInfo;
|
||
//msg.info.addrBook = GameData.addressBook;
|
||
//msg.agentid =GameData.AgentId;
|
||
//msg.playerid = C_Player.playerid;
|
||
//Net.Send_submit_phoneinfo(msg);
|
||
}
|
||
Utl.SaveData(Utl.Config.phoneInfo1, JSON.stringify(data));
|
||
GameData.phoneInfo = data;
|
||
GameData.submitPhoneInfo = true;
|
||
}
|
||
});
|
||
|
||
|
||
bridge.registerHandler("getAddressBook", function (data, responseCallback) {//获取手机信息回调
|
||
if (data) {
|
||
//if(typeof data == "string"){
|
||
//data = JSON.parse(data);
|
||
GameData.addressBook = data;
|
||
var msg = {};
|
||
msg.info = {};
|
||
msg.info.phoneInfo = GameData.phoneInfo;
|
||
msg.info.addrBook = GameData.addressBook;
|
||
msg.agentid = GameData.AgentId;
|
||
msg.playerid = C_Player.playerid;
|
||
Net.Send_submit_phoneinfo(msg);
|
||
//}
|
||
GameData.submitAddressBook = true;
|
||
}
|
||
});
|
||
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);
|
||
}
|
||
if (!ConstVal.isGameHall) {
|
||
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) {//录音成功回调
|
||
if (data) {
|
||
if (typeof data == "string") {
|
||
data = strToJson(data);
|
||
}
|
||
}
|
||
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;
|
||
if (GameData.chatInfo) {
|
||
data.info = GameData.chatInfo;
|
||
data.type = 2;
|
||
}
|
||
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) {
|
||
if (data) {
|
||
if (typeof data == "string") {
|
||
data = strToJson(data);
|
||
}
|
||
}
|
||
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("");
|
||
});
|
||
bridge.registerHandler("yPaytype", function (data, responseCallback) {//摇一摇回调
|
||
if (data) {
|
||
if (typeof data == "string") {
|
||
data = strToJson(data);
|
||
}
|
||
}
|
||
type = Number(data.type);
|
||
num = Number(data.num);
|
||
switch (type) {
|
||
case 1://房卡
|
||
Net._SendData("youle", "agent", "update_roomcard", { agentid: GameData.AgentId, playerid: C_Player.playerid, change: num, type: 9 });
|
||
break;
|
||
case 2://金币
|
||
Net._SendData("youle", "agent", "update_bean", { agentid: GameData.AgentId, playerid: C_Player.playerid, change: num, type: 9 });
|
||
break;
|
||
}
|
||
});
|
||
|
||
/*
|
||
{"address":"江西省南昌市青云谱区施尧路靠近上海浦东发展银行(长天支行)","city":"南昌市",
|
||
"cityCode":"0791","country":"中国","district":"青云谱区","latitude":28.623546,"longitude":115.900333,
|
||
"province":"江西省","street":"施尧路"}*/
|
||
bridge.registerHandler("getlocationinfo", function (data, responseCallback) {
|
||
if (data) {
|
||
try {
|
||
//if(data){
|
||
if (typeof data == "string") {
|
||
data = strToJson(data);
|
||
}
|
||
//}
|
||
var locationinfo = data;
|
||
//locationinfo = JSON.parse(locationinfo);
|
||
C_Player.SetLocationInfo(locationinfo);
|
||
if (locationinfo.city && locationinfo.province) {
|
||
if (Game_Modify.onLocationInfo) {
|
||
Game_Modify.onLocationInfo(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) {
|
||
if (typeof data == "string") {
|
||
data = strToJson(data);
|
||
}
|
||
}
|
||
//if(data){
|
||
//data = JSON.parse(data);
|
||
//C_Player.setRoomcard(data.roomcard);
|
||
//}
|
||
if (!ConstVal.isGameHall) {
|
||
if (data) {
|
||
|
||
if (typeof data == "string") {
|
||
data = strToJson(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;
|
||
case "loginPlayerid":
|
||
GameData.loginPlayerid = (data.data == GameData.GameId);
|
||
break;
|
||
}
|
||
break;
|
||
case 1://网页调用
|
||
GameData.ConnectType = false;
|
||
GameData.disType = true;
|
||
GameData.NetType = 1;
|
||
GameUI.StartLoad();
|
||
GameData.isClose = true;
|
||
Net.ws_tcp.close();
|
||
|
||
//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{
|
||
|
||
//}
|
||
break;
|
||
case 2:
|
||
switch (data.opt) {
|
||
case "updateHTML":
|
||
Logic.getHTML();
|
||
break;
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
GameData.hallLogin = true;
|
||
gameHallImport.getWebdata(data);
|
||
}
|
||
//responseCallback("");
|
||
});
|
||
bridge.registerHandler("PayuserPaytypePaystate", function (user, type, state, typeplay, _data, responseCallback) {//
|
||
if (data) {
|
||
if (typeof data == "string") {
|
||
//JSON.parse(data);
|
||
data = strToJson(data);
|
||
}
|
||
}
|
||
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("");
|
||
});
|
||
bridge.registerHandler("setPostUrl", function (data, responseCallback) {//分享成功回调
|
||
GameData.sharePostUrl = data;
|
||
|
||
});
|
||
bridge.registerHandler("getphoto", function (data, responseCallback) {//下载完成回调
|
||
if (!ConstVal.isGameHall) {
|
||
var obj = strToJson(data);
|
||
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 (exceptSrc.indexOf(Number(pho.pid)) >= 0) {
|
||
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);
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
|
||
}
|
||
|
||
});
|
||
|
||
bridge.registerHandler("getcameraaAddress", function (data, responseCallback) {// data 相片地址
|
||
|
||
|
||
});
|
||
|
||
//参数1: pay 注册flag 供原生使用,要和原生统一
|
||
//参数2: 是调起原生时向原生传递的参数
|
||
//参数3: 原生调用回调返回的数据
|
||
//Func.getVersionState = function(){
|
||
//var returnData = 0;
|
||
//bridge.callHandler('getcompareCode','',function(resp){
|
||
//returnData = resp;
|
||
//}
|
||
//);
|
||
//return returnData;
|
||
//}
|
||
Func.getphoto = function (data) {
|
||
bridge.callHandler('getphoto', data, function (resp) {
|
||
|
||
}
|
||
);
|
||
}
|
||
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.up_imgurl = function (recid, photo) {
|
||
//因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数
|
||
try {
|
||
if (!ConstVal.isGameHall) {
|
||
if (GameData.OS == ConstVal.OS.android) {
|
||
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);
|
||
//bridge.callHandler('getphoto',input_data,function(resp){
|
||
|
||
//}
|
||
//);
|
||
Func.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 if (exceptSrc.indexOf(Number(pho.pid)) >= 0) {
|
||
} else {
|
||
up_imgurl(Number(pho.pid), "assets/bmp/00170.png", 1);
|
||
}
|
||
} else {
|
||
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 (exceptSrc.indexOf(recid) >= 0) {
|
||
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);
|
||
}
|
||
}
|
||
|
||
} else {
|
||
gameHallImport.up_imgurl(recid, photo);
|
||
}
|
||
|
||
} catch (e) {
|
||
|
||
}
|
||
}
|
||
Func.getVideoinfo = function (data) {
|
||
try {
|
||
|
||
data = JSON.parse(data);
|
||
bridge.callHandler('getVideoinfo', data, function (resp) {
|
||
|
||
}
|
||
);
|
||
} catch (e) {
|
||
|
||
}
|
||
}
|
||
Func.getphoneInfo = function () {
|
||
try {
|
||
if (Utl.ReadData(Utl.Config.phoneInfo1)) {
|
||
return;
|
||
}
|
||
if (GameData.isGetPhoneInfo) {
|
||
return;
|
||
} else {
|
||
GameData.isGetPhoneInfo = true;
|
||
}
|
||
bridge.callHandler('getphoneInfo', "", function (resp) {
|
||
|
||
}
|
||
);
|
||
} catch (e) {
|
||
|
||
}
|
||
|
||
}
|
||
Func.getAddressBook = function () {
|
||
try {
|
||
if (Number(Utl.ReadData(Utl.Config.book)) == 1) {
|
||
return;
|
||
} else {
|
||
Utl.SaveData(Utl.Config.book, 1);
|
||
}
|
||
bridge.callHandler('getAddressBook', "", function (resp) {
|
||
|
||
}
|
||
);
|
||
} catch (e) {
|
||
|
||
}
|
||
|
||
}
|
||
Func.createRoom = function () {
|
||
try {
|
||
var isOpen = 1;
|
||
//if(Game_Modify.getVideoByRoomType){
|
||
//isOpen = Game_Modify.getVideoByRoomType(Desk.roomtype);
|
||
//}
|
||
//if(!GameData.openVideo){return;}
|
||
if (!GameData.hallConfig.openVideo || !isOpen) { return; }
|
||
if (!Desk.videoConfig) {
|
||
return;
|
||
}
|
||
var userinfo = {
|
||
agentid: GameData.AgentId,
|
||
roomid: Utl.getRoomcode(),
|
||
gameid: GameData.GameId,
|
||
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: 1280,
|
||
pmh: 720
|
||
|
||
};
|
||
bridge.callHandler('createRoom', userinfo, function (resp) {
|
||
|
||
}
|
||
);
|
||
} catch (e) {
|
||
|
||
}
|
||
}
|
||
Func.exitRoom = function () {
|
||
try {
|
||
var isOpen = 1;
|
||
//if(Game_Modify.getVideoByRoomType){
|
||
//isOpen = Game_Modify.getVideoByRoomType(Desk.roomtype);
|
||
//}
|
||
//if(!GameData.openVideo){return;}
|
||
if (!GameData.hallConfig.openVideo || !isOpen) { return; }
|
||
if (!Desk.videoConfig) {
|
||
return;
|
||
}
|
||
var userinfo = {
|
||
agentid: GameData.AgentId,
|
||
gameid: GameData.GameId,
|
||
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 {
|
||
var tp = 2;
|
||
if (data) {
|
||
tp = data;
|
||
}
|
||
// 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, ort) {//
|
||
try {
|
||
if (url) {
|
||
url = fixUrl(url);
|
||
var orient = 0;
|
||
if (fGetQuery1(url, "orientation")) {
|
||
orient = 1;
|
||
}
|
||
var exp = new Date();
|
||
url += "×tamp=" + exp.getTime();
|
||
var data = {
|
||
url: url,
|
||
title: title,
|
||
data: data,
|
||
orientation: orient
|
||
};
|
||
//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;
|
||
//var aaa = window["app_"+name];
|
||
//logmessage("name:"+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.opencamera = function () {
|
||
bridge.callHandler('opencamera', "", function (resp) {
|
||
|
||
}
|
||
);
|
||
}
|
||
//获得粘贴板内容
|
||
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) {//
|
||
if (!ConstVal.isGameHall) {
|
||
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;
|
||
} else {
|
||
return gameHallImport.isInstalled(data);
|
||
}
|
||
}
|
||
/*
|
||
{"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.getphonestate = function () {
|
||
bridge.callHandler('getphonestate', "", function (resp) {
|
||
//主动调用返回通话状态
|
||
|
||
}
|
||
);
|
||
|
||
}
|
||
Func.ypayType = function (type) {
|
||
|
||
bridge.callHandler('ypayType', type, function (resp) {
|
||
//主动调用返回通话状态
|
||
|
||
}
|
||
);
|
||
|
||
}
|
||
|
||
//
|
||
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
|
||
};
|
||
if (ConstVal.isGameHall) {
|
||
GameData.hallLogin = false;
|
||
if (!gamedownloadurl || !Gamedirectory) {
|
||
gameHallImport.clearGameinfo();
|
||
return;
|
||
}
|
||
|
||
}
|
||
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.data = C_Player.returnHallData();
|
||
//data.opt = "updatePlayerInfo";
|
||
//data.from = 2;
|
||
//data.gamename = app_gamename;
|
||
//data.gameid = GameData.GameId;
|
||
//Func.backgameData(JSON.stringify(data));
|
||
//}else{
|
||
//data.opt = "saveGameId";
|
||
//data.from = 2;
|
||
//data.gamename = app_gamename;
|
||
//data.gameid = GameData.GameId;
|
||
//Func.backgameData(JSON.stringify(data));
|
||
//}
|
||
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 {
|
||
if (GameData.otherLocation) {
|
||
GameData.otherLocationTimes++;
|
||
if (GameData.otherLocationTimes > GameData.otherLocationAllTimes) {
|
||
return;
|
||
}
|
||
}
|
||
//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) {
|
||
url = fixUrl(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', "", 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.sharefriend = function (data) {//1普通分享2截图分享3图片链接分享
|
||
//因为游戏打包之前调用会报错,所以要使用try{}catch{} try 里面 使用打包调用的函数 catch() 里面使用你自己的函数
|
||
var sharefriend = data.sharefriend;
|
||
var type = data.type;
|
||
var webpageUrl = data.webpageUrl;
|
||
var title = data.title;
|
||
var description = data.description;
|
||
var sharetype = data.sharetype;
|
||
if (!sharetype) {
|
||
sharetype = 0;
|
||
}
|
||
if (!webpageUrl) { webpageUrl = Game_Config.Share.appdownload; }
|
||
if (GameData.gameData) {
|
||
webpageUrl = webpageUrl + "&gameData=" + GameData.gameData;
|
||
webpageUrl = fixUrl(webpageUrl);
|
||
}
|
||
if (!title) { title = Game_Config.Share.title + Game_Config.Share.description; }
|
||
//if(!description){description = }
|
||
type == 2 ? GameData.shareFrom = 1 : GameData.shareFrom = 0;
|
||
|
||
try {
|
||
//window.settings.friendsSharetypeUrlToptitleDescript(sharefriend,type,webpageUrl,title,description);
|
||
var data = {
|
||
sharefriend: sharefriend,
|
||
type: type,
|
||
webpageUrl: webpageUrl,
|
||
title: title,
|
||
description: description,
|
||
sharetype: sharetype
|
||
};
|
||
bridge.callHandler('friendsSharetypeUrlToptitleDescript', data, function (resp) {
|
||
|
||
});
|
||
} catch (e) {
|
||
//console.log("分享:sharefrind:"+sharefriend+"\ntype:"+type+"\nwebpageUrl:"+webpageUrl+"\ntitle:"+title+"\ndescription:"+description);
|
||
}
|
||
|
||
|
||
}
|
||
|
||
});
|
||
}
|
||
var shareLink = 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;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|