(function(window,document,Laya){ var __un=Laya.un,__uns=Laya.uns,__static=Laya.static,__class=Laya.class,__getset=Laya.getset,__newvec=Laya.__newvec; var Browser=laya.utils.Browser,Event=laya.events.Event,EventDispatcher=laya.events.EventDispatcher; var HTMLImage=laya.resource.HTMLImage,Handler=laya.utils.Handler,Input=laya.display.Input,Loader=laya.net.Loader; var LocalStorage=laya.net.LocalStorage,Matrix=laya.maths.Matrix,Render=laya.renders.Render,RunDriver=laya.utils.RunDriver; var SoundChannel=laya.media.SoundChannel,SoundManager=laya.media.SoundManager,URL=laya.net.URL,Utils=laya.utils.Utils; //class laya.mi.mini.KGMiniAdapter var KGMiniAdapter=(function(){ function KGMiniAdapter(){} __class(KGMiniAdapter,'laya.mi.mini.KGMiniAdapter'); KGMiniAdapter.getJson=function(data){ return JSON.parse(data); } KGMiniAdapter.init=function(isPosMsg,isSon){ (isPosMsg===void 0)&& (isPosMsg=false); (isSon===void 0)&& (isSon=false); if (KGMiniAdapter._inited)return; KGMiniAdapter._inited=true; KGMiniAdapter.window=/*__JS__ */window; if(KGMiniAdapter.window.navigator.userAgent.indexOf('QuickGame')<0)return; KGMiniAdapter.isZiYu=isSon; KGMiniAdapter.isPosMsgYu=isPosMsg; KGMiniAdapter.EnvConfig={}; if(!KGMiniAdapter.isZiYu){ MiniFileMgr$2.setNativeFileDir("/layaairGame"); MiniFileMgr$2.existDir(MiniFileMgr$2.fileNativeDir,Handler.create(KGMiniAdapter,KGMiniAdapter.onMkdirCallBack)); } if(!KGMiniAdapter.isZiYu){ KGMiniAdapter.systemInfo=laya.mi.mini.KGMiniAdapter.window.qg.getSystemInfoSync(); } KGMiniAdapter.window.focus=function (){ }; Laya['getUrlPath']=function (){ }; Laya['_getUrlPath']=function (){ }; KGMiniAdapter.window.logtime=function (str){ }; KGMiniAdapter.window.alertTimeLog=function (str){ }; KGMiniAdapter.window.resetShareInfo=function (){ }; KGMiniAdapter.EnvConfig.pixelRatioInt=0; RunDriver.getPixelRatio=KGMiniAdapter.pixelRatio; KGMiniAdapter._preCreateElement=Browser.createElement; Browser["createElement"]=KGMiniAdapter.createElement; RunDriver.createShaderCondition=KGMiniAdapter.createShaderCondition; Utils['parseXMLFromString']=KGMiniAdapter.parseXMLFromString; Input['_createInputElement']=MiniInput$2['_createInputElement']; KGMiniAdapter.EnvConfig.load=Loader.prototype.load; Loader.prototype.load=MiniLoader$2.prototype.load; Loader.prototype._loadImage=MiniImage$2.prototype._loadImage; KGMiniAdapter.onReciveData(); } KGMiniAdapter.onReciveData=function(){ if(laya.mi.mini.KGMiniAdapter.isZiYu && laya.mi.mini.KGMiniAdapter.window.qg.onMessage){ laya.mi.mini.KGMiniAdapter.window.qg.onMessage(function(message){ if(message['isLoad']=="opendatacontext"){ if(message.url){ MiniFileMgr$2.ziyuFileData[message.url]=message.atlasdata; MiniFileMgr$2.ziyuFileTextureData[message.imgReadyUrl]=message.imgNativeUrl; } }else if(message['isLoad']=="openJsondatacontext"){ if(message.url){ MiniFileMgr$2.ziyuFileData[message.url]=message.atlasdata; } }else if(message['isLoad']=="openJsondatacontextPic"){ MiniFileMgr$2.ziyuFileTextureData[message.imgReadyUrl]=message.imgNativeUrl; } }); } } KGMiniAdapter.measureText=function(str){ var tempObj=KGMiniAdapter._measureText(str); if(!tempObj){ tempObj={width:16}; console.warn("-------微信获取文字宽度失败----等待修复---------"); } return tempObj; } KGMiniAdapter.getUrlEncode=function(url,type){ if(type=="arraybuffer") return ""; return "utf8"; } KGMiniAdapter.downLoadFile=function(fileUrl,fileType,callBack,encoding){ (fileType===void 0)&& (fileType=""); (encoding===void 0)&& (encoding="utf8"); var fileObj=MiniFileMgr$2.getFileInfo(fileUrl); if(!fileObj) MiniFileMgr$2.downLoadFile(fileUrl,fileType,callBack,encoding); else{ callBack !=null && callBack.runWith([0]); } } KGMiniAdapter.remove=function(fileUrl,callBack){ MiniFileMgr$2.deleteFile("",fileUrl,callBack,"",0); } KGMiniAdapter.removeAll=function(){ MiniFileMgr$2.deleteAll(); } KGMiniAdapter.hasNativeFile=function(fileUrl){ return MiniFileMgr$2.isLocalNativeFile(fileUrl); } KGMiniAdapter.getFileInfo=function(fileUrl){ return MiniFileMgr$2.getFileInfo(fileUrl); } KGMiniAdapter.getFileList=function(){ return MiniFileMgr$2.filesListObj; } KGMiniAdapter.exitMiniProgram=function(){ laya.mi.mini.KGMiniAdapter.window.qg.exitMiniProgram(); } KGMiniAdapter.onMkdirCallBack=function(errorCode,data){ if (!errorCode) MiniFileMgr$2.filesListObj=JSON.parse(data.data); } KGMiniAdapter.pixelRatio=function(){ if (!KGMiniAdapter.EnvConfig.pixelRatioInt){ try { KGMiniAdapter.EnvConfig.pixelRatioInt=KGMiniAdapter.systemInfo.pixelRatio; return KGMiniAdapter.systemInfo.pixelRatio; }catch (error){} } return KGMiniAdapter.EnvConfig.pixelRatioInt; } KGMiniAdapter.createElement=function(type){ if (type=="canvas"){ var _source; if (KGMiniAdapter.idx==1){ if(KGMiniAdapter.isZiYu){ _source=KGMiniAdapter.window.document.createElement("canvas"); _source.style={}; }else{ _source=KGMiniAdapter.window.document.getElementById("canvas"); _source.style={ width:_source.width+"px", height:_source.height+"px" }; } }else { _source=KGMiniAdapter.window.document.createElement("canvas"); } KGMiniAdapter.idx++; return _source; }else if (type=="textarea" || type=="input"){ return KGMiniAdapter.onCreateInput(type); }else if (type=="div"){ var node=KGMiniAdapter._preCreateElement(type); node.contains=function (value){ return null }; node.removeChild=function (value){ }; return node; }else { return KGMiniAdapter._preCreateElement(type); } } KGMiniAdapter.onCreateInput=function(type){ var node=KGMiniAdapter._preCreateElement(type); node.focus=MiniInput$2.wxinputFocus; node.blur=MiniInput$2.wxinputblur; node.style={}; node.value=0; node.placeholder={}; node.setColor=function (value){ }; node.setType=function (value){ }; node.setFontFace=function (value){ }; node.addEventListener=function (value){ }; node.contains=function (value){ return null }; node.removeChild=function (value){ }; return node; } KGMiniAdapter.createShaderCondition=function(conditionScript){ var _$this=this; var func=function (){ var abc=conditionScript; return _$this[conditionScript.replace("this.","")]; } return func; } KGMiniAdapter.sendAtlasToOpenDataContext=function(url){ if(!laya.mi.mini.KGMiniAdapter.isZiYu){ var atlasJson=Loader.getRes(URL.formatURL(url)); if(atlasJson){ var textureArr=(atlasJson.meta.image).split(","); if (atlasJson.meta && atlasJson.meta.image){ var toloadPics=atlasJson.meta.image.split(","); var split=url.indexOf("/")>=0 ? "/" :"\\"; var idx=url.lastIndexOf(split); var folderPath=idx >=0 ? url.substr(0,idx+1):""; for (var i=0,len=toloadPics.length;i < len;i++){ toloadPics[i]=folderPath+toloadPics[i]; } }else { toloadPics=[url.replace(".json",".png")]; } for(i=0;i\s+<'); try { /*__JS__ */rst=(new window.Parser.DOMParser()).parseFromString(value,'text/xml'); }catch (error){ throw "需要引入xml解析库文件"; } return rst; } KGMiniAdapter.idx=1; __static(KGMiniAdapter, ['nativefiles',function(){return this.nativefiles=["layaNativeDir","wxlocal"];} ]); return KGMiniAdapter; })() /**@private **/ //class laya.mi.mini.MiniFileMgr var MiniFileMgr$2=(function(){ function MiniFileMgr(){} __class(MiniFileMgr,'laya.mi.mini.MiniFileMgr',null,'MiniFileMgr$2'); MiniFileMgr.isLocalNativeFile=function(url){ for(var i=0,sz=KGMiniAdapter.nativefiles.length;i=totalSize)){ if(data.size > KGMiniAdapter.minClearSize) KGMiniAdapter.minClearSize=data.size; MiniFileMgr.onClearCacheRes(); } MiniFileMgr.deleteFile(tempFilePath,readyUrl,callBack,encoding,data.size); }, fail:function (data){ console.log("=1==getFileInfo fail data:"+JSON.stringify(data)); callBack !=null && callBack.runWith([1,data]); } }); } else callBack !=null && callBack.runWith([0]); }else{ MiniFileMgr.fs.getFileInfo({ filePath:tempFilePath, success:function (data){ if((isAutoClear && (fileUseSize+chaSize+data.size)>=totalSize)){ if(data.size > KGMiniAdapter.minClearSize) KGMiniAdapter.minClearSize=data.size; MiniFileMgr.onClearCacheRes(); } console.log("=====tempFilePath:"+tempFilePath+"===saveFilePath:"+saveFilePath); MiniFileMgr.fs.copyFile({srcPath:tempFilePath,destPath:saveFilePath,success:function (data2){ MiniFileMgr.onSaveFile(readyUrl,tempFileName,true,encoding,callBack,data.size); },fail:function (data){ console.log("===copyFile fail data:"+JSON.stringify(data)); callBack !=null && callBack.runWith([1,data]); }}); }, fail:function (data){ console.log("=2==getFileInfo fail data:"+JSON.stringify(data)); callBack !=null && callBack.runWith([1,data]); } }); } } MiniFileMgr.onClearCacheRes=function(){ var memSize=KGMiniAdapter.minClearSize; var tempFileListArr=[]; for(var key in MiniFileMgr.filesListObj){ if(key!="fileUsedSize") tempFileListArr.push(MiniFileMgr.filesListObj[key]); } MiniFileMgr.sortOn(tempFileListArr,"times",16); var clearSize=0; for(var i=1,sz=tempFileListArr.length;i=memSize) break ; clearSize+=fileObj.size; MiniFileMgr.deleteFile("",fileObj.readyUrl); } } MiniFileMgr.sortOn=function(array,name,options){ (options===void 0)&& (options=0); if (options==16)return array.sort(function(a,b){return a[name]-b[name];}); if (options==(16 | 2))return array.sort(function(a,b){return b[name]-a[name];}); return array.sort(function(a,b){return a[name]-b[name] }); } MiniFileMgr.getFileNativePath=function(fileName){ return laya.mi.mini.MiniFileMgr.fileNativeDir+"/"+fileName; } MiniFileMgr.deleteFile=function(tempFileName,readyUrl,callBack,encoding,fileSize){ (readyUrl===void 0)&& (readyUrl=""); (encoding===void 0)&& (encoding=""); (fileSize===void 0)&& (fileSize=0); var fileObj=MiniFileMgr.getFileInfo(readyUrl); var deleteFileUrl=MiniFileMgr.getFileNativePath(fileObj.md5); MiniFileMgr.fs.unlink({filePath:deleteFileUrl,success:function (data){ var isAdd=tempFileName !="" ? true :false; if(tempFileName !=""){ var saveFilePath=MiniFileMgr.getFileNativePath(tempFileName); MiniFileMgr.fs.copyFile({srcPath:tempFileName,destPath:saveFilePath,success:function (data){ MiniFileMgr.onSaveFile(readyUrl,tempFileName,isAdd,encoding,callBack,data.size); },fail:function (data){ callBack !=null && callBack.runWith([1,data]); }}); }else{ MiniFileMgr.onSaveFile(readyUrl,tempFileName,isAdd,encoding,callBack,fileSize); } },fail:function (data){ }}); } MiniFileMgr.deleteAll=function(){ var tempFileListArr=[]; for(var key in MiniFileMgr.filesListObj){ if(key!="fileUsedSize") tempFileListArr.push(MiniFileMgr.filesListObj[key]); } for(var i=1,sz=tempFileListArr.length;i 0){ this.loops--; } this.startTime=0; this.play(); } /** *@private *播放 */ __proto.play=function(){ this.isStopped=false; SoundManager.addChannel(this); this._audio.play(); } /** *@private *停止播放 * */ __proto.stop=function(){ this.isStopped=true; SoundManager.removeChannel(this); this.completeHandler=null; if (!this._audio) return; this._audio.stop(); this._audio.offended && this._audio.offended(null); this._miniSound.dispose(); this._audio=null; this._miniSound=null; this._onEnd=null; } /**@private **/ __proto.pause=function(){ this.isStopped=true; this._audio.pause(); } /**@private **/ __proto.resume=function(){ if (!this._audio) return; this.isStopped=false; SoundManager.addChannel(this); this._audio.play(); } /** *设置开始时间 *@param time */ __getset(0,__proto,'startTime',null,function(time){ if(this._audio){ this._audio.startTime=time; } }); /**@private **/ /** *@private *自动播放 *@param value */ __getset(0,__proto,'autoplay',function(){ return this._audio.autoplay; },function(value){ this._audio.autoplay=value; }); /** *@private *当前播放到的位置 *@return * */ __getset(0,__proto,'position',function(){ if (!this._audio) return 0; return this._audio.currentTime; }); /** *@private *获取总时间。 */ __getset(0,__proto,'duration',function(){ if (!this._audio) return 0; return this._audio.duration; }); /**@private **/ /**@private **/ __getset(0,__proto,'loop',function(){ return this._audio.loop; },function(value){ this._audio.loop=value; }); /** *@private *设置音量 *@param v * */ /** *@private *获取音量 *@return */ __getset(0,__proto,'volume',function(){ if (!this._audio)return 1; return this._audio.volume; },function(v){ if (!this._audio)return; this._audio.volume=v; }); MiniSoundChannel.bindToThis=function(fun,scope){ var rst=fun; /*__JS__ */rst=fun.bind(scope);; return rst; } return MiniSoundChannel; })(SoundChannel) })(window,document,Laya); if (typeof define === 'function' && define.amd){ define('laya.core', ['require', "exports"], function(require, exports) { 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); for (var i in Laya) { var o = Laya[i]; o && o.__isclass && (exports[i] = o); } }); }