Files
joywayerandClaude Opus 4.8 7ab748919a chore: 纳入项目全部源码进根仓库统一管理
删除 YouleNexus 内嵌 .git,统一由根仓库唯一管理。提交:
- projects/ 旧 H5 模板 Game_Surface_3 与各子游戏源码
- cocoscreator_projects/YouleNexus 工程 + cocos-creator-mcp 扩展源码
- CLAUDE.md、.mcp.json 等配置
library/temp/node_modules/dist 等缓存由 .gitignore 排除。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 11:55:13 +08:00

3168 lines
78 KiB
JavaScript
Raw Permalink Blame History

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