/** * 冰雪传奇H5 * 2022 XX信息科技有限公司 * * @author 123456 * @wx 123456 * @qq 123456 */ let host = window.location.hostname||'100.88.157.105'; let port = 80; var webUrl = getHttp() + host + (port && 80 != port ? ':' + port : ''), account = getQueryString('account'), token = getQueryString('token'), noLogin = !account || !token; if (noLogin) { setTimeout(function() { loadBarClear(); loadBarFull(); setTimeout(function() { window.location.href = webUrl + '/login'; }, randomRange(250, 500)); }, 1e3); } window['gameName'] = '夜风冰雪'; window['gameLogo'] = 'LOGO6'; // 请勿更改 window['game'] = 'YFBX'; window['pf'] = 'yfbx'; window['pfID'] = 10001; window['userInfo'] = { 'account': account, 'token': token, 'openID': md5(account + window['game'] + window['pfID']).toUpperCase(), 'cm': 1, 'adult': 0 }; // 检测 Tampermonkey 插件 function checkTampermonkey() { setTimeout(() => { const TampermonkeyVars = ["unsafeWindow", "GM_info"] if (!TampermonkeyVars.every(e => typeof window[e] == 'undefined')) { // 如果检测到 Tampermonkey 插件,执行以下代码 alert('检测到您正在使用 Tampermonkey 插件,本网站禁止使用此类插件!'); // 可以选择阻止页面访问或其他操作 window.location.href = '/login'; // 将用户重定向到空白页 } else checkTampermonkey() }, 5000) } checkTampermonkey() // 游戏个性设置: 设备/版本/界面/NPC参数 window['device'] = 0; // 客户端设备(一般无需更改): 0=自适应, 1=PC端界面, 2=移动端界面 window['gameMode'] = 0; // 版本玩法: 0=三职业, 1=单职业(游戏内仅出现战士职业装备) window['uiStyle'] = 1; // 血球特效: 0=默认, 1=龙头动态火焰特效 window['npcStyle'] = 1; // NPC特效: 0=默认, 1=微变版本NPC动态特效 window['specialId'] = 2; // 打金服ID window['withdraw'] = {'sid': 1, 'type': 3, 'ratio': 10000}; // 提现 window['isShowGongGao'] = true; window['isAutoShowGongGao'] = !getCookie('auto_show_notice') ? (setCookie('auto_show_notice', 1, 1), true) : false; window['isMicro'] = window['pfID']; window['selectServer'] = true; window['fontFamily'] = 'Arial'; window['loginType'] = 1; // 登录类型 0:测试 1:正式 window['loginWay'] = 1; window['isReport'] = 0; // 是否上报后台 window['isReportPF'] = 0; // 是否上报渠道 window['isDisablePay'] = 0; // 是否关闭充值 window['loginView'] = 'app.MainLoginView'; // 相关URL window['webHost'] = host; window['webUrl'] = webUrl; window['serviceListdUrl'] = webUrl + '/server'; window['setServiceListdUrl'] = webUrl + '/server'; window['payUrl'] = webUrl + '/pay'; window['apiUrl'] = webUrl + '/api'; window['orderUrl'] = webUrl + '/api?act=order'; window['reportUrl'] = webUrl + '/api?act=report'; // 上报接口 window['errorReportUrl'] = webUrl + '/api?act=report&do=error';// 错误上报接口 window['checkUrl'] = webUrl + '/api?act=check'; // 验证URL window['versionUrl'] = webUrl + '/api?act=version'; // 请求客户端版本 window['getActorInfoUrl'] = webUrl + '/api?act=actor'; window['roleInfoUrl'] = webUrl + '/api?act=role'; window['gongGaoUrl'] = webUrl + '/notice.txt'; // 客服信息 window['kfQQ'] = '123456'; window['kfWX'] = '123456'; window['kfQQUrl'] = 'https://127.0.0.1'; window['kfQQGroupUrl'] = 'https://127.0.0.1'; window['gameVerTxt1'] = '审批文号:新广出审[2022]007号 出版物号:ISBN 001-1-0001-0001-1 著作权人:XX信息科技有限公司'; window['gameVerTxt2'] = '出版单位:XX信息科技有限公司 运营单位:XX信息科技有限公司'; window['gameVerTxt3'] = '健康游戏忠告:抵制不良游戏,拒绝盗版游戏。注意自我保护,谨防受骗上当。适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。'; window['publicRes'] = 'https://cdn-cq-res.kubbo.cn/'; var arr = ['loading_1_jpg', 'loading_1_jpg', 'mp_jzjm_png', 'mp_jzjm2_png']; window['gameLoadImg'] = !getCookie('first_loading') ? (setCookie('first_loading', 1), arr[0]) : arr[randomRange(0, 4)]; window['version1'] = 'zjt1_png'; window['version2'] = 'zjt2_png'; window['version3'] = 'zjt3_png'; window['resVersion'] = '1'; window['thmVersion'] = '1'; window['tableVersion'] = '1.2.80'; window['mainVersion'] = '1.2.2'; window['isDebug'] = false; var isJsDebug = false; // 设置标题 //document.title = window['gameName']; function reporting(type, result) { if(noLogin) return; if (window['isReport'] && window['reportUrl']) { let loginType = window['loginWay'] ? 1 : 0; let msgInfo = { type: type, counter: window['pfID'], env: window['game'] + '|' + loginType, time: Date.parse(new Date().toString()) / 1000, result: result }; msgInfo['data'] = { uid: window['userInfo']['uid'], serverAlias: window['userInfo']['server'] }; var str = JSON.stringify(msgInfo); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { //服务器返回值的处理函数,此处使用匿名函数进行实现 if (xhr.readyState == 4 && xhr.status == 200) { // } }; xhr.open('GET', window['reportUrl'] + '&msg=' + str, true); //提交get请求到服务器 xhr.send(null); } } function onerrorFunction(error, uid) { var xhr = new XMLHttpRequest(); xhr.open('POST', window['checkUrl'] + window.location.search, true);//提交get请求到服务器 xhr.setRequestHeader('Content-Type', 'application/json'); let params = 'pfID=' + window['pfID'] + '&uid=' + uid + '&error=' + error; xhr.open('GET', window['errorReportUrl'] + '&' + params, true);//提交get请求到服务器 xhr.send(null); } window.onerror = function(message, url, line) { let str = "Message : " + message + "\nURL : " + url + "\nLine Number : " + line; this.onerrorFunction(str, 0); alert(str); } //1.平台参数格式化 if(!noLogin) { if (window['loginType']) { switch (window['pfID']) { case 10001: var urlData = window.location.search; if (urlData.indexOf('?') != -1) { urlData = urlData.substr(1); var strs = urlData.split('&'); for (var i = 0; i < strs.length; i++) { window['userInfo'][strs[i].split('=')[0]] = unescape(strs[i].split('=')[1]); } } break; default: // 测试 } } else { var urlData = window.location.search; if (urlData.indexOf('?') != -1) { urlData = urlData.substr(1); var strs = urlData.split('&'); for (var i = 0; i < strs.length; i++) { window['userInfo'][strs[i].split('=')[0]] = unescape(strs[i].split('=')[1]); } } } } //2.登录验证 function loginFunction() { //alert('维护中'); //return; if(noLogin) return; // window['userInfo']['serverInfo'] = serverInfo; //1.平台验证 if (window['loginType']) { switch (window['pfID']) { case 10001: var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { // 服务器返回值的处理函数,此处使用匿名函数进行实现 if (xhr.readyState == 4 && xhr.status == 200) { //console.log(xhr.responseText); var obj = JSON.parse(xhr.responseText); //验证成功 if (0 == obj.code) { reporting(10001, 1); start(); } else { loadError = true; reporting(10001, 0); var errorMsg = obj.msg ? obj.msg : '通行证验证失败!', label = document.getElementById('label'); if(label) { var linkHtml = '点击返回 / 尝试刷新'; label.innerHTML = errorMsg + linkHtml; } else { alert(filterHTML(errorMsg)); } } } }; xhr.open('GET', window['checkUrl'] + '&do=verify&' + window.location.search.substr(1), true); //提交get请求到服务器 xhr.send(null); break; } } else { reporting(10001, 1); start(); // window['checkFunction']();//检测上报 // window['checkSuccess'](); } } //3.支付 function payFunction(param) { console.log(param); window.open('./pay/?productId=' + param.productId + '&productName=' + param.productName + '&amount=' + param.amount + '&actorid=' + param.gameExtra + '&serverId=' + param.serverId, '_blank'); } //4.工具类 function callJsFunction(msg) { if (msg && msg['type']) { switch (msg['type']) { case 'showGame': showGame(); break; case 'showLoadProgress': showLoadProgress(msg['progress'], msg['des']); break; default: //测试 } } } let jobAry = ['', '战士', '法师', '战士'] function ReportingFunction(msg) { if (msg && msg) { if (msg['type'] == 12 || msg['type'] == 1000) { //等级上报 //创建xhr对象 let reportingUrl = window['reportUrl']; reportingUrl += '&do=' + encodeURIComponent('game_profile'); reportingUrl += '&udbid=' + encodeURIComponent(1024009155 + ''); reportingUrl += '&gam=' + encodeURIComponent(window['game'] + ''); reportingUrl += '&pas='; reportingUrl += '&gse=' + encodeURIComponent('s1'); reportingUrl += '&pro=' + encodeURIComponent('logingame'); reportingUrl += '&ya_appid=' + encodeURIComponent('udblogin'); let json_data = { game_event: msg['type'] == 12 ? 'new_role': 'level_change', role_name: msg.data['roleName'], role_level: msg.data['level'] + '', fight_cap: '', sex: msg.data['sex'] > 0 ? 'f': 'm', job: jobAry[msg.data['job']], partner: '', equip: msg.data['guildName'] } json_data = JSON.stringify(json_data); reportingUrl += '&json_data=' + encodeURIComponent(json_data); // json_data = { "role_level": "11", "role_name": "s1.虞鹏天", "game_event": "level_change", "fight_cap": "1371", "job": "1" } var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { //服务器返回值的处理函数,此处使用匿名函数进行实现 if (xhr.readyState == 4 && xhr.status == 200) { // //var obj = JSON.parse(xhr.responseText); } }; xhr.open('GET', reportingUrl, true); //提交get请求到服务器 xhr.send(null); } } } //6.屏蔽右键 document.onkeydown = function() { // var e = window.event || arguments[0]; //F12 // if (e.keyCode == 123) { // return false; // //Ctrl+Shift+I // } else if ((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)) { // return false; // //Shift+F10 // } else if ((e.shiftKey) && (e.keyCode == 121)) { // return false; // //Ctrl+U // } else if ((e.ctrlKey) && (e.keyCode == 85)) { // return false; // } }; /** * 反馈 */ function feedbackFunction(info) { removeIfram(); let msgInfo = { act: 'feedback', game: window['game'], platform: window['pf'], server: window['userInfo']['server'], uid: info['uid'], rolename: info['rolename'], ts: Date.parse(new Date().toString()) / 1000 }; msgInfo['sign'] = new md5().hex_md5((msgInfo.game + msgInfo.platform + msgInfo.server + msgInfo.uid + msgInfo.rolename + msgInfo.ts + 123456)); let param = ''; for (let key in msgInfo) { param += key + '=' + msgInfo[key] + '&' } param = param.substring(0, param.length - 1) let srcStr = webUrl + '/api?' + param; var div = document.createElement('div'); div.id = 'iframDiv'; div.innerHTML = ''; // div.style = 'position: relative; width:100%; height:100%;background: rgba(0, 0, 0, 0.5);'; div.style.position = 'relative'; div.style.width = '100%'; div.style.height = '100%'; div.style.background = 'rgba(0, 0, 0, 0.5)'; document.body.appendChild(div); //创建关闭按钮 let div2 = document.createElement('div'); div2.id = 'btnDiv'; div2.innerHTML = '' // div2.style = 'position: absolute;right:0px;top:0px;width:50px;height:50px'; div2.style.position = 'absolute'; div2.style.right = '0px'; div2.style.top = '0px'; div2.style.width = '50px'; div2.style.height = '50px'; div.appendChild(div2); var closeImg = document.getElementById('closeImg'); closeImg.onclick = removeIfram; // onloadFunction(); } // 防沉迷 function IdCardFunction() { window.open(webUrl); } function addQQGrp() { window.open(window['kfQQGroupUrl']); } //下载YY游戏大厅 function downYYGameHallFun() { window.open(webUrl); } //开通会员 function openYYVip() { window.open(webUrl); } //开超玩会员 function openChaoWanVip() { window.open(webUrl); } function removeIfram() { var div = document.getElementById('iframDiv'); if (div) { document.body.removeChild(div); } div = document.getElementById('btnDiv'); if (div) { document.body.removeChild(div); } } function bannerNight() {} /** * 屏蔽右键 */ function stop() { return false; } document.oncontextmenu = stop; //监听屏幕 方向--暂时不用 window.onorientationchange = function(e) { // var d = document.getElementById('screenHint'); // if (window.orientation == 180 || window.orientation == 0) { // //竖屏状态 // d.style.display = 'none'; // } // if (window.orientation == 90 || window.orientation == -90) { // //横屏状态 // d.style.display = 'block'; // } } //断开游戏链接 function closeSocket() { Main.closesocket(); } //加载项目工程 var loadScript = function(list, callback) { var loaded = 0; var loadNext = function() { loadSingleScript(list[loaded], function() { loaded++; if (loaded >= list.length) { callback(); } else { loadNext(); } }); }; loadNext(); }; var loadTimes = 0; var jsScr = ''; window['loadScript'] = loadScript; var loadSingleScript = function(src, callback) { if (jsScr != src) { loadTimes = 0; } if(src.indexOf('lib') > -1 || src.indexOf('main') > -1) { var mainSuffix = getQueryString('mainSuffix'); if(mainSuffix) { src = src.replace('.js', mainSuffix + '.js'); } src += '?v=' + (isJsDebug ? Math.random() : window['mainVersion']); } jsScr = src; var s = document.createElement('script'); s.type = 'text/javascript'; s.async = false; s.src = src; s.addEventListener('load', function() { s.parentNode.removeChild(s); s.removeEventListener('load', arguments.callee, false); callback(); }, false); s.addEventListener('error', function() { s.parentNode.removeChild(s); s.removeEventListener('load', arguments.callee, false); loadTimes++; if (loadTimes > 5) { alert("主程序文件加载失败,请检测网络刷新游戏!\n " + src); } else { setTimeout(function() { loadSingleScript(src, callback); }, 2000); } }, false); document.body.appendChild(s); }; //开始启动游戏 function start() { //alert('维护中'); //return; var xhr = new XMLHttpRequest(); xhr.open('GET', './manifest.json?v=1.1.1.2', true); // '?v=' + Math.random() xhr.addEventListener('load', function() { var manifest = JSON.parse(xhr.response); var list = manifest.initial.concat(manifest.game); window['gameAppJS'] = manifest['gameAppJS']; loadScript(list, function() { egret.runEgret({ renderMode: 'webgl', audioType: 0, calculateCanvasScaleFactor: function(context) { var backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1; return (window.devicePixelRatio || 1) / backingStore; } }); }); }); xhr.send(null); } //上报 reporting(10000, 1); loginFunction();