laya.wxmini.js 39 KB

1
  1. window.wxMiniGame=function(exports,Laya){"use strict";class MiniFileMgr{static isLocalNativeFile(url){for(var i=0,sz=MiniAdpter.nativefiles.length;i<sz;i++)if(-1!=url.indexOf(MiniAdpter.nativefiles[i]))return!0;return!1}static getFileInfo(fileUrl){var fileNativePath=fileUrl,fileObj=MiniFileMgr.fakeObj[fileNativePath];return null==fileObj?null:fileObj}static read(filePath,encoding="utf8",callBack=null,readyUrl="",isSaveFile=!1,fileType=""){var fileUrl;fileUrl=""==readyUrl||-1==readyUrl.indexOf("http://")&&-1==readyUrl.indexOf("https://")?filePath:MiniFileMgr.getFileNativePath(filePath),fileUrl=Laya.URL.getAdptedFilePath(fileUrl),MiniFileMgr.fs.readFile({filePath:fileUrl,encoding:encoding,success:function(data){null!=callBack&&callBack.runWith([0,data])},fail:function(data){data&&""!=readyUrl?MiniFileMgr.downFiles(readyUrl,encoding,callBack,readyUrl,isSaveFile,fileType):null!=callBack&&callBack.runWith([1])}})}static downFiles(fileUrl,encoding="utf8",callBack=null,readyUrl="",isSaveFile=!1,fileType="",isAutoClear=!0){MiniFileMgr.wxdown({url:fileUrl,success:function(data){200===data.statusCode?MiniFileMgr.readFile(data.tempFilePath,encoding,callBack,readyUrl,isSaveFile,fileType,isAutoClear):403===data.statusCode?null!=callBack&&callBack.runWith([0,fileUrl]):null!=callBack&&callBack.runWith([1,data])},fail:function(data){null!=callBack&&callBack.runWith([1,data])}}).onProgressUpdate(function(data){null!=callBack&&callBack.runWith([2,data.progress])})}static readFile(filePath,encoding="utf8",callBack=null,readyUrl="",isSaveFile=!1,fileType="",isAutoClear=!0){filePath=Laya.URL.getAdptedFilePath(filePath),MiniFileMgr.fs.readFile({filePath:filePath,encoding:encoding,success:function(data){(-1!=filePath.indexOf("http://")||-1!=filePath.indexOf("https://"))&&(MiniAdpter.autoCacheFile||isSaveFile)?(null!=callBack&&callBack.runWith([0,data]),MiniFileMgr.copyFile(filePath,readyUrl,null,encoding,isAutoClear)):null!=callBack&&callBack.runWith([0,data])},fail:function(data){data&&null!=callBack&&callBack.runWith([1,data])}})}static downOtherFiles(fileUrl,callBack=null,readyUrl="",isSaveFile=!1,isAutoClear=!0){MiniFileMgr.wxdown({url:fileUrl,success:function(data){200===data.statusCode?(MiniAdpter.autoCacheFile||isSaveFile)&&-1==readyUrl.indexOf("qlogo.cn")&&-1==readyUrl.indexOf(".php")?(null!=callBack&&callBack.runWith([0,data.tempFilePath]),MiniFileMgr.copyFile(data.tempFilePath,readyUrl,null,"",isAutoClear)):null!=callBack&&callBack.runWith([0,data.tempFilePath]):null!=callBack&&callBack.runWith([1,data])},fail:function(data){null!=callBack&&callBack.runWith([1,data])}})}static downLoadFile(fileUrl,fileType="",callBack=null,encoding="utf8"){window.navigator.userAgent.indexOf("MiniGame")<0?Laya.Laya.loader.load(fileUrl,callBack):fileType==Laya.Loader.IMAGE||fileType==Laya.Loader.SOUND?MiniFileMgr.downOtherFiles(fileUrl,callBack,fileUrl,!0,!1):MiniFileMgr.downFiles(fileUrl,encoding,callBack,fileUrl,!0,fileType,!1)}static copyFile(tempFilePath,readyUrl,callBack,encoding="",isAutoClear=!0){var temp=tempFilePath.split("/"),tempFileName=temp[temp.length-1],fileurlkey=readyUrl,fileObj=MiniFileMgr.getFileInfo(readyUrl),saveFilePath=MiniFileMgr.getFileNativePath(tempFileName);MiniFileMgr.fakeObj[fileurlkey]={md5:tempFileName,readyUrl:readyUrl,size:0,times:Laya.Browser.now(),encoding:encoding};var fileUseSize=MiniFileMgr.getCacheUseSize();fileObj?fileObj.readyUrl!=readyUrl?MiniFileMgr.fs.getFileInfo({filePath:tempFilePath,success:function(data){isAutoClear&&fileUseSize+4194304+data.size>=52428800&&(data.size>MiniAdpter.minClearSize&&(MiniAdpter.minClearSize=data.size),MiniFileMgr.onClearCacheRes()),MiniFileMgr.deleteFile(tempFilePath,readyUrl,callBack,encoding,data.size)},fail:function(data){null!=callBack&&callBack.runWith([1,data])}}):null!=callBack&&callBack.runWith([0]):MiniFileMgr.fs.getFileInfo({filePath:tempFilePath,success:function(data){isAutoClear&&fileUseSize+4194304+data.size>=52428800&&(data.size>MiniAdpter.minClearSize&&(MiniAdpter.minClearSize=data.size),MiniFileMgr.onClearCacheRes()),MiniFileMgr.fs.copyFile({srcPath:tempFilePath,destPath:saveFilePath,success:function(data2){MiniFileMgr.onSaveFile(readyUrl,tempFileName,!0,encoding,callBack,data.size)},fail:function(data){null!=callBack&&callBack.runWith([1,data])}})},fail:function(data){null!=callBack&&callBack.runWith([1,data])}})}static onClearCacheRes(){var memSize=MiniAdpter.minClearSize,tempFileListArr=[];for(var key in MiniFileMgr.filesListObj)"fileUsedSize"!=key&&tempFileListArr.push(MiniFileMgr.filesListObj[key]);MiniFileMgr.sortOn(tempFileListArr,"times",MiniFileMgr.NUMERIC);for(var clearSize=0,i=1,sz=tempFileListArr.length;i<sz;i++){var fileObj=tempFileListArr[i];if(clearSize>=memSize)break;clearSize+=fileObj.size,MiniFileMgr.deleteFile("",fileObj.readyUrl)}}static sortOn(array,name,options=0){return options==MiniFileMgr.NUMERIC?array.sort(function(a,b){return a[name]-b[name]}):options==(MiniFileMgr.NUMERIC|MiniFileMgr.DESCENDING)?array.sort(function(a,b){return b[name]-a[name]}):array.sort(function(a,b){return a[name]-b[name]})}static getFileNativePath(fileName){return MiniFileMgr.fileNativeDir+"/"+fileName}static deleteFile(tempFileName,readyUrl="",callBack=null,encoding="",fileSize=0){var fileObj=MiniFileMgr.getFileInfo(readyUrl),deleteFileUrl=MiniFileMgr.getFileNativePath(fileObj.md5),isAdd=""!=tempFileName;MiniFileMgr.onSaveFile(readyUrl,tempFileName,isAdd,encoding,callBack,fileSize),MiniFileMgr.fs.unlink({filePath:deleteFileUrl,success:function(data){if(""!=tempFileName){var saveFilePath=MiniFileMgr.getFileNativePath(tempFileName);MiniFileMgr.fs.copyFile({srcPath:tempFileName,destPath:saveFilePath,success:function(data){},fail:function(data){null!=callBack&&callBack.runWith([1,data])}})}},fail:function(data){}})}static deleteAll(){var tempFileListArr=[];for(var key in MiniFileMgr.filesListObj)"fileUsedSize"!=key&&tempFileListArr.push(MiniFileMgr.filesListObj[key]);for(var i=1,sz=tempFileListArr.length;i<sz;i++){var fileObj=tempFileListArr[i];MiniFileMgr.deleteFile("",fileObj.readyUrl)}MiniFileMgr.filesListObj&&MiniFileMgr.filesListObj.fileUsedSize&&(MiniFileMgr.filesListObj.fileUsedSize=0),MiniFileMgr.writeFilesList("",JSON.stringify({}),!1)}static onSaveFile(readyUrl,md5Name,isAdd=!0,encoding="",callBack=null,fileSize=0){var fileurlkey=readyUrl;if(null==MiniFileMgr.filesListObj.fileUsedSize&&(MiniFileMgr.filesListObj.fileUsedSize=0),isAdd){MiniFileMgr.getFileNativePath(md5Name);MiniFileMgr.filesListObj[fileurlkey]={md5:md5Name,readyUrl:readyUrl,size:fileSize,times:Laya.Browser.now(),encoding:encoding},MiniFileMgr.filesListObj.fileUsedSize=parseInt(MiniFileMgr.filesListObj.fileUsedSize)+fileSize,MiniFileMgr.writeFilesList(fileurlkey,JSON.stringify(MiniFileMgr.filesListObj),!0),null!=callBack&&callBack.runWith([0])}else if(MiniFileMgr.filesListObj[fileurlkey]){var deletefileSize=parseInt(MiniFileMgr.filesListObj[fileurlkey].size);MiniFileMgr.filesListObj.fileUsedSize=parseInt(MiniFileMgr.filesListObj.fileUsedSize)-deletefileSize,delete MiniFileMgr.filesListObj[fileurlkey],MiniFileMgr.writeFilesList(fileurlkey,JSON.stringify(MiniFileMgr.filesListObj),!1),null!=callBack&&callBack.runWith([0])}}static writeFilesList(fileurlkey,filesListStr,isAdd){var listFilesPath=MiniFileMgr.fileNativeDir+"/"+MiniFileMgr.fileListName;MiniFileMgr.fs.writeFile({filePath:listFilesPath,encoding:"utf8",data:filesListStr,success:function(data){},fail:function(data){}}),!MiniAdpter.isZiYu&&MiniAdpter.isPosMsgYu&&MiniAdpter.window.wx.postMessage({url:fileurlkey,data:MiniFileMgr.filesListObj[fileurlkey],isLoad:"filenative",isAdd:isAdd})}static getCacheUseSize(){return MiniFileMgr.filesListObj&&MiniFileMgr.filesListObj.fileUsedSize?MiniFileMgr.filesListObj.fileUsedSize:0}static existDir(dirPath,callBack){MiniFileMgr.fs.mkdir({dirPath:dirPath,success:function(data){null!=callBack&&callBack.runWith([0,{data:JSON.stringify({})}])},fail:function(data){-1!=data.errMsg.indexOf("file already exists")?MiniFileMgr.readSync(MiniFileMgr.fileListName,"utf8",callBack):null!=callBack&&callBack.runWith([1,data])}})}static readSync(filePath,encoding="utf8",callBack=null,readyUrl=""){var filesListStr,fileUrl=MiniFileMgr.getFileNativePath(filePath);try{filesListStr=MiniFileMgr.fs.readFileSync(fileUrl,encoding),null!=callBack&&callBack.runWith([0,{data:filesListStr}])}catch(error){null!=callBack&&callBack.runWith([1])}}static setNativeFileDir(value){MiniFileMgr.fileNativeDir=MiniAdpter.window.wx.env.USER_DATA_PATH+value}}MiniFileMgr.fs=window.wx.getFileSystemManager(),MiniFileMgr.wxdown=window.wx.downloadFile,MiniFileMgr.filesListObj={},MiniFileMgr.fakeObj={},MiniFileMgr.fileListName="layaairfiles.txt",MiniFileMgr.ziyuFileData={},MiniFileMgr.ziyuFileTextureData={},MiniFileMgr.loadPath="",MiniFileMgr.DESCENDING=2,MiniFileMgr.NUMERIC=16;class MiniSoundChannel extends Laya.SoundChannel{constructor(audio,miniSound){super(),this._audio=audio,this._miniSound=miniSound,this._onEnd=MiniSoundChannel.bindToThis(this.__onEnd,this),audio.onEnded(this._onEnd)}static bindToThis(fun,scope){return fun.bind(scope)}__onEnd(){if(1==this.loops)return this.completeHandler&&(Laya.Laya.systemTimer.once(10,this,this.__runComplete,[this.completeHandler],!1),this.completeHandler=null),this.stop(),void this.event(Laya.Event.COMPLETE);this.loops>0&&this.loops--,this.startTime=0,this.play()}play(){this.isStopped=!1,Laya.SoundManager.addChannel(this),this._audio.play()}set startTime(time){this._audio&&(this._audio.startTime=time)}set autoplay(value){this._audio.autoplay=value}get autoplay(){return this._audio.autoplay}get position(){return this._audio?this._audio.currentTime:0}get duration(){return this._audio?this._audio.duration:0}stop(){this.isStopped=!0,Laya.SoundManager.removeChannel(this),this.completeHandler=null,this._audio&&(this._audio.stop(),this.loop||(this._audio.offEnded(null),this._miniSound.dispose(),this._audio=null,this._miniSound=null,this._onEnd=null))}pause(){this.isStopped=!0,this._audio.pause()}get loop(){return this._audio.loop}set loop(value){this._audio.loop=value}resume(){this._audio&&(this.isStopped=!1,Laya.SoundManager.addChannel(this),this._audio.play())}set volume(v){this._audio&&(this._audio.volume=v)}get volume(){return this._audio?this._audio.volume:1}}class MiniSound extends Laya.EventDispatcher{constructor(){super(),this.loaded=!1}static _createSound(){return MiniSound._id++,MiniAdpter.window.wx.createInnerAudioContext()}load(url){if(MiniFileMgr.isLocalNativeFile(url)){if(-1!=url.indexOf("http://")||-1!=url.indexOf("https://"))if(""!=MiniFileMgr.loadPath)url=url.split(MiniFileMgr.loadPath)[1];else{var tempStr=""!=Laya.URL.rootPath?Laya.URL.rootPath:Laya.URL._basePath;""!=tempStr&&(url=url.split(tempStr)[1])}}else url=Laya.URL.formatURL(url);if(this.url=url,this.readyUrl=url,MiniSound._audioCache[this.readyUrl])this.event(Laya.Event.COMPLETE);else if(MiniAdpter.autoCacheFile&&MiniFileMgr.getFileInfo(url))this.onDownLoadCallBack(url,0);else if(MiniAdpter.autoCacheFile)if(MiniFileMgr.isLocalNativeFile(url)){var tempUrl=url;if(""!=(tempStr=""!=Laya.URL.rootPath?Laya.URL.rootPath:Laya.URL._basePath)&&(url=url.split(tempStr)[1]),url||(url=tempUrl),MiniAdpter.subNativeFiles&&0==MiniAdpter.subNativeheads.length)for(var key in MiniAdpter.subNativeFiles){var tempArr=MiniAdpter.subNativeFiles[key];MiniAdpter.subNativeheads=MiniAdpter.subNativeheads.concat(tempArr);for(var aa=0;aa<tempArr.length;aa++)MiniAdpter.subMaps[tempArr[aa]]=key+"/"+tempArr[aa]}if(MiniAdpter.subNativeFiles&&-1!=url.indexOf("/")){var curfileHead=url.split("/")[0]+"/";if(curfileHead&&-1!=MiniAdpter.subNativeheads.indexOf(curfileHead)){var newfileHead=MiniAdpter.subMaps[curfileHead];url=url.replace(curfileHead,newfileHead)}}this.onDownLoadCallBack(url,0)}else!MiniFileMgr.isLocalNativeFile(url)&&-1==url.indexOf("http://")&&-1==url.indexOf("https://")||-1!=url.indexOf("http://usr/")?this.onDownLoadCallBack(url,0):MiniFileMgr.downOtherFiles(url,Laya.Handler.create(this,this.onDownLoadCallBack,[url]),url);else this.onDownLoadCallBack(url,0)}onDownLoadCallBack(sourceUrl,errorCode,tempFilePath=null){if(errorCode)this.event(Laya.Event.ERROR);else{var fileNativeUrl;if(MiniAdpter.autoCacheFile){if(tempFilePath)fileNativeUrl=tempFilePath;else if(MiniFileMgr.isLocalNativeFile(sourceUrl)){var tempStr=""!=Laya.URL.rootPath?Laya.URL.rootPath:Laya.URL._basePath,tempUrl=sourceUrl;""==tempStr||-1==sourceUrl.indexOf("http://")&&-1==sourceUrl.indexOf("https://")||(fileNativeUrl=sourceUrl.split(tempStr)[1]),fileNativeUrl||(fileNativeUrl=tempUrl)}else{var fileObj=MiniFileMgr.getFileInfo(sourceUrl);if(fileObj&&fileObj.md5){var fileMd5Name=fileObj.md5;fileNativeUrl=MiniFileMgr.getFileNativePath(fileMd5Name)}else fileNativeUrl=sourceUrl}this._sound=MiniSound._createSound(),this._sound.src=this.url=fileNativeUrl}else this._sound=MiniSound._createSound(),this._sound.src=this.url=sourceUrl;this._sound.onCanplay(MiniSound.bindToThis(this.onCanPlay,this)),this._sound.onError(MiniSound.bindToThis(this.onError,this))}}onError(error){try{console.log("-----1---------------minisound-----id:"+MiniSound._id),console.log(error)}catch(error){console.log("-----2---------------minisound-----id:"+MiniSound._id),console.log(error)}this.event(Laya.Event.ERROR),this._sound.offError(null)}onCanPlay(){this.loaded=!0,this.event(Laya.Event.COMPLETE),this._sound.offCanplay(null)}static bindToThis(fun,scope){return fun.bind(scope)}play(startTime=0,loops=0){var tSound;if(this.url==Laya.SoundManager._bgMusic?(MiniSound._musicAudio||(MiniSound._musicAudio=MiniSound._createSound()),tSound=MiniSound._musicAudio):tSound=MiniSound._audioCache[this.readyUrl]?MiniSound._audioCache[this.readyUrl]._sound:MiniSound._createSound(),!tSound)return null;if(MiniAdpter.autoCacheFile&&MiniFileMgr.getFileInfo(this.url)){var fileMd5Name=MiniFileMgr.getFileInfo(this.url).md5;tSound.src=this.url=MiniFileMgr.getFileNativePath(fileMd5Name)}else tSound.src=this.url;var channel=new MiniSoundChannel(tSound,this);return channel.url=this.url,channel.loops=loops,channel.loop=0===loops,channel.startTime=startTime,channel.play(),Laya.SoundManager.addChannel(channel),channel}get duration(){return this._sound.duration}dispose(){var ad=MiniSound._audioCache[this.readyUrl];ad&&(ad.src="",ad._sound&&(ad._sound.destroy(),ad._sound=null,ad=null),delete MiniSound._audioCache[this.readyUrl]),this._sound&&(this._sound.destroy(),this._sound=null,this.readyUrl=this.url=null)}}MiniSound._id=0,MiniSound._audioCache={};class MiniInput{constructor(){}static _createInputElement(){Laya.Input._initInput(Laya.Input.area=Laya.Browser.createElement("textarea")),Laya.Input._initInput(Laya.Input.input=Laya.Browser.createElement("input")),Laya.Input.inputContainer=Laya.Browser.createElement("div"),Laya.Input.inputContainer.style.position="absolute",Laya.Input.inputContainer.style.zIndex=1e5,Laya.Browser.container.appendChild(Laya.Input.inputContainer),Laya.Laya.stage.on("resize",null,MiniInput._onStageResize),MiniAdpter.window.wx.onWindowResize&&MiniAdpter.window.wx.onWindowResize(function(res){}),Laya.SoundManager._soundClass=MiniSound,Laya.SoundManager._musicClass=MiniSound;var model=MiniAdpter.systemInfo.model,system=MiniAdpter.systemInfo.system;-1!=model.indexOf("iPhone")&&(Laya.Browser.onIPhone=!0,Laya.Browser.onIOS=!0,Laya.Browser.onIPad=!0,Laya.Browser.onAndroid=!1),-1==system.indexOf("Android")&&-1==system.indexOf("Adr")||(Laya.Browser.onAndroid=!0,Laya.Browser.onIPhone=!1,Laya.Browser.onIOS=!1,Laya.Browser.onIPad=!1)}static _onStageResize(){Laya.Laya.stage._canvasTransform.identity().scale(Laya.Browser.width/Laya.Render.canvas.width/Laya.Browser.pixelRatio,Laya.Browser.height/Laya.Render.canvas.height/Laya.Browser.pixelRatio)}static wxinputFocus(e){var _inputTarget=Laya.Input.inputElement.target;_inputTarget&&!_inputTarget.editable||(MiniAdpter.window.wx.offKeyboardConfirm(),MiniAdpter.window.wx.offKeyboardInput(),MiniAdpter.window.wx.showKeyboard({defaultValue:_inputTarget.text,maxLength:_inputTarget.maxChars,multiple:_inputTarget.multiline,confirmHold:!0,confirmType:_inputTarget.confirmType||"done",success:function(res){},fail:function(res){}}),MiniAdpter.window.wx.onKeyboardConfirm(function(res){var str=res?res.value:"";_inputTarget._restrictPattern&&(str=str.replace(/\u2006|\x27/g,""),_inputTarget._restrictPattern.test(str)&&(str=str.replace(_inputTarget._restrictPattern,""))),_inputTarget.text=str,_inputTarget.event(Laya.Event.INPUT),MiniInput.inputEnter(),_inputTarget.event("confirm")}),MiniAdpter.window.wx.onKeyboardInput(function(res){var str=res?res.value:"";_inputTarget.multiline||-1==str.indexOf("\n")?(_inputTarget._restrictPattern&&(str=str.replace(/\u2006|\x27/g,""),_inputTarget._restrictPattern.test(str)&&(str=str.replace(_inputTarget._restrictPattern,""))),_inputTarget.text=str,_inputTarget.event(Laya.Event.INPUT)):MiniInput.inputEnter()}))}static inputEnter(){Laya.Input.inputElement.target.focus=!1}static wxinputblur(){MiniInput.hideKeyboard()}static hideKeyboard(){MiniAdpter.window.wx.offKeyboardConfirm(),MiniAdpter.window.wx.offKeyboardInput(),MiniAdpter.window.wx.hideKeyboard({success:function(res){console.log("隐藏键盘")},fail:function(res){console.log("隐藏键盘出错:"+(res?res.errMsg:""))}})}}class MiniLoader extends Laya.EventDispatcher{constructor(){super()}_loadResourceFilter(type,url){if(-1==url.indexOf(MiniAdpter.window.wx.env.USER_DATA_PATH)&&(-1!=url.indexOf("http://")||-1!=url.indexOf("https://")))if(""!=MiniFileMgr.loadPath)url=url.split(MiniFileMgr.loadPath)[1];else{var tempStr=""!=Laya.URL.rootPath?Laya.URL.rootPath:Laya.URL._basePath,tempUrl=url;""!=tempStr&&(url=url.split(tempStr)[1]),url||(url=tempUrl)}if(MiniAdpter.subNativeFiles&&0==MiniAdpter.subNativeheads.length)for(var key in MiniAdpter.subNativeFiles){var tempArr=MiniAdpter.subNativeFiles[key];MiniAdpter.subNativeheads=MiniAdpter.subNativeheads.concat(tempArr);for(var aa=0;aa<tempArr.length;aa++)MiniAdpter.subMaps[tempArr[aa]]=key+"/"+tempArr[aa]}if(MiniAdpter.subNativeFiles&&-1!=url.indexOf("/")){var curfileHead=url.split("/")[0]+"/";if(curfileHead&&-1!=MiniAdpter.subNativeheads.indexOf(curfileHead)){var newfileHead=MiniAdpter.subMaps[curfileHead];url=url.replace(curfileHead,newfileHead)}}switch(type){case Laya.Loader.IMAGE:case"htmlimage":case"nativeimage":MiniLoader._transformImgUrl(url,type,this);break;case Laya.Loader.SOUND:this._loadSound(url);break;default:this._loadResource(type,url)}}_loadSound(url){var fileNativeUrl;if(MiniFileMgr.isLocalNativeFile(url)){var tempStr=""!=Laya.URL.rootPath?Laya.URL.rootPath:Laya.URL._basePath,tempUrl=url;""==tempStr||-1==url.indexOf("http://")&&-1==url.indexOf("https://")||(fileNativeUrl=url.split(tempStr)[1]),fileNativeUrl||(fileNativeUrl=tempUrl),MiniLoader.onDownLoadCallBack(url,this,0)}else{var tempurl=Laya.URL.formatURL(url);!MiniFileMgr.isLocalNativeFile(url)&&-1==tempurl.indexOf("http://")&&-1==tempurl.indexOf("https://")||-1!=tempurl.indexOf(MiniAdpter.window.wx.env.USER_DATA_PATH)?MiniLoader.onDownLoadCallBack(url,this,0):MiniFileMgr.downOtherFiles(encodeURI(tempurl),Laya.Handler.create(MiniLoader,MiniLoader.onDownLoadCallBack,[tempurl,this]),tempurl)}}static onDownLoadCallBack(sourceUrl,thisLoader,errorCode,tempFilePath=null){if(errorCode)thisLoader.event(Laya.Event.ERROR,"Load sound failed");else{var fileNativeUrl;if(MiniAdpter.autoCacheFile)if(tempFilePath)fileNativeUrl=tempFilePath;else if(MiniFileMgr.isLocalNativeFile(sourceUrl)){var tempStr=""!=Laya.URL.rootPath?Laya.URL.rootPath:Laya.URL._basePath,tempUrl=sourceUrl;""==tempStr||-1==sourceUrl.indexOf("http://")&&-1==sourceUrl.indexOf("https://")||(fileNativeUrl=sourceUrl.split(tempStr)[1]),fileNativeUrl||(fileNativeUrl=tempUrl)}else{var fileObj=MiniFileMgr.getFileInfo(sourceUrl);if(fileObj&&fileObj.md5){var fileMd5Name=fileObj.md5;fileNativeUrl=MiniFileMgr.getFileNativePath(fileMd5Name)}else fileNativeUrl=sourceUrl}sourceUrl=fileNativeUrl;var sound=new Laya.SoundManager._soundClass;sound.load(sourceUrl),thisLoader.onLoaded(sound)}}static bindToThis(fun,scope){return fun.bind(scope)}_loadHttpRequestWhat(url,contentType){var encoding=MiniAdpter.getUrlEncode(url,contentType);if(Laya.Loader.preLoadedMap[url])this.onLoaded(Laya.Loader.preLoadedMap[url]);else{var tempurl=Laya.URL.formatURL(url);if(-1!=url.indexOf(MiniAdpter.window.wx.env.USER_DATA_PATH)||-1==tempurl.indexOf("http://")&&-1==tempurl.indexOf("https://")||MiniAdpter.AutoCacheDownFile){var fileObj=MiniFileMgr.getFileInfo(Laya.URL.formatURL(url));fileObj?(fileObj.encoding=null==fileObj.encoding?"utf8":fileObj.encoding,MiniFileMgr.readFile(fileObj.url,encoding,new Laya.Handler(MiniLoader,MiniLoader.onReadNativeCallBack,[url,contentType,this]),url)):"image"==this.type||"htmlimage"==this.type?this._transformUrl(url,contentType):contentType!=Laya.Loader.IMAGE&&(-1==tempurl.indexOf("http://")&&-1==tempurl.indexOf("https://")||MiniFileMgr.isLocalNativeFile(url))?MiniFileMgr.readFile(url,encoding,new Laya.Handler(MiniLoader,MiniLoader.onReadNativeCallBack,[url,contentType,this]),url):MiniFileMgr.downFiles(tempurl,encoding,new Laya.Handler(MiniLoader,MiniLoader.onReadNativeCallBack,[url,contentType,this]),tempurl,!0)}else this._loadHttpRequest(tempurl,contentType,this,this.onLoaded,this,this.onProgress,this,this.onError)}}static onReadNativeCallBack(url,type=null,thisLoader=null,errorCode=0,data=null){var tempData;errorCode?1==errorCode&&thisLoader._loadHttpRequest(url,type,thisLoader,thisLoader.onLoaded,thisLoader,thisLoader.onProgress,thisLoader,thisLoader.onError):(tempData=type==Laya.Loader.JSON||type==Laya.Loader.ATLAS||type==Laya.Loader.PREFAB||type==Laya.Loader.PLF?MiniAdpter.getJson(data.data):type==Laya.Loader.XML?Laya.Utils.parseXMLFromString(data.data):data.data,!MiniAdpter.isZiYu&&MiniAdpter.isPosMsgYu&&type!=Laya.Loader.BUFFER&&MiniAdpter.window.wx.postMessage({url:url,data:tempData,isLoad:"filedata"}),thisLoader.onLoaded(tempData))}static _transformImgUrl(url,type,thisLoader){if(MiniAdpter.isZiYu)thisLoader._loadImage(url);else if(MiniFileMgr.getFileInfo(url))thisLoader._loadImage(url);else{var tempUrl=Laya.URL.formatURL(url);-1!=url.indexOf(MiniAdpter.window.wx.env.USER_DATA_PATH)||-1==tempUrl.indexOf("http://")&&-1==tempUrl.indexOf("https://")?thisLoader._loadImage(url):MiniAdpter.isZiYu?thisLoader._loadImage(url):MiniFileMgr.downOtherFiles(tempUrl,new Laya.Handler(MiniLoader,MiniLoader.onDownImgCallBack,[url,thisLoader]),tempUrl)}}static onDownImgCallBack(sourceUrl,thisLoader,errorCode,tempFilePath=""){errorCode?thisLoader.onError(null):MiniLoader.onCreateImage(sourceUrl,thisLoader,!1,tempFilePath)}static onCreateImage(sourceUrl,thisLoader,isLocal=!1,tempFilePath=""){var fileNativeUrl;if(MiniAdpter.autoCacheFile)if(isLocal)if(MiniAdpter.isZiYu){var tempUrl=Laya.URL.formatURL(sourceUrl);fileNativeUrl=MiniFileMgr.ziyuFileTextureData[tempUrl]?MiniFileMgr.ziyuFileTextureData[tempUrl]:sourceUrl}else fileNativeUrl=sourceUrl;else if(""!=tempFilePath)fileNativeUrl=tempFilePath;else{var fileMd5Name=MiniFileMgr.getFileInfo(sourceUrl).md5;fileNativeUrl=MiniFileMgr.getFileNativePath(fileMd5Name)}else fileNativeUrl=isLocal?sourceUrl:tempFilePath;thisLoader._loadImage(fileNativeUrl)}}class MiniLocalStorage{constructor(){}static __init__(){MiniLocalStorage.items=MiniLocalStorage}static setItem(key,value){try{MiniAdpter.window.wx.setStorageSync(key,value)}catch(error){MiniAdpter.window.wx.setStorage({key:key,data:value})}}static getItem(key){return MiniAdpter.window.wx.getStorageSync(key)}static setJSON(key,value){MiniLocalStorage.setItem(key,value)}static getJSON(key){return MiniLocalStorage.getItem(key)}static removeItem(key){MiniAdpter.window.wx.removeStorageSync(key)}static clear(){MiniAdpter.window.wx.clearStorageSync()}static getStorageInfoSync(){try{var res=MiniAdpter.window.wx.getStorageInfoSync();return console.log(res.keys),console.log(res.currentSize),console.log(res.limitSize),res}catch(e){}return null}}MiniLocalStorage.support=!0;class MiniAdpter{static getJson(data){return JSON.parse(data)}static enable(){MiniAdpter.init(Laya.Laya.isWXPosMsg,Laya.Laya.isWXOpenDataContext)}static init(isPosMsg=!1,isSon=!1){MiniAdpter._inited||(MiniAdpter._inited=!0,MiniAdpter.window=window,MiniAdpter.window.hasOwnProperty("wx")&&(MiniAdpter.window.navigator.userAgent.indexOf("MiniGame")<0||(MiniAdpter.isZiYu=isSon,MiniAdpter.isPosMsgYu=isPosMsg,MiniAdpter.EnvConfig={},MiniAdpter.isZiYu||(MiniFileMgr.setNativeFileDir("/layaairGame"),MiniFileMgr.existDir(MiniFileMgr.fileNativeDir,Laya.Handler.create(MiniAdpter,MiniAdpter.onMkdirCallBack))),MiniAdpter.systemInfo=MiniAdpter.window.wx.getSystemInfoSync(),MiniAdpter.window.focus=function(){},Laya.Laya._getUrlPath=function(){return""},MiniAdpter.window.logtime=function(str){},MiniAdpter.window.alertTimeLog=function(str){},MiniAdpter.window.resetShareInfo=function(){},MiniAdpter.window.CanvasRenderingContext2D=function(){},MiniAdpter.window.CanvasRenderingContext2D.prototype=MiniAdpter.window.wx.createCanvas().getContext("2d").__proto__,MiniAdpter.window.document.body.appendChild=function(){},MiniAdpter.EnvConfig.pixelRatioInt=0,Laya.Browser._pixelRatio=MiniAdpter.pixelRatio(),MiniAdpter._preCreateElement=Laya.Browser.createElement,Laya.Browser.createElement=MiniAdpter.createElement,Laya.RunDriver.createShaderCondition=MiniAdpter.createShaderCondition,Laya.Utils.parseXMLFromString=MiniAdpter.parseXMLFromString,Laya.Input._createInputElement=MiniInput._createInputElement,Laya.Loader.prototype._loadResourceFilter=MiniLoader.prototype._loadResourceFilter,Laya.Loader.prototype._loadSound=MiniLoader.prototype._loadSound,Laya.Loader.prototype._loadHttpRequestWhat=MiniLoader.prototype._loadHttpRequestWhat,Laya.LocalStorage._baseClass=MiniLocalStorage,MiniLocalStorage.__init__(),MiniAdpter.window.wx.onMessage&&MiniAdpter.window.wx.onMessage(MiniAdpter._onMessage))))}static _onMessage(data){switch(data.type){case"changeMatrix":Laya.Laya.stage.transform.identity(),Laya.Laya.stage._width=data.w,Laya.Laya.stage._height=data.h,Laya.Laya.stage._canvasTransform=new Laya.Matrix(data.a,data.b,data.c,data.d,data.tx,data.ty);break;case"display":Laya.Laya.stage.frameRate=data.rate||Laya.Stage.FRAME_FAST;break;case"undisplay":Laya.Laya.stage.frameRate=Laya.Stage.FRAME_SLEEP}"opendatacontext"==data.isLoad?data.url&&(MiniFileMgr.ziyuFileData[data.url]=data.atlasdata,MiniFileMgr.ziyuFileTextureData[data.imgReadyUrl]=data.imgNativeUrl):"openJsondatacontext"==data.isLoad?data.url&&(MiniFileMgr.ziyuFileData[data.url]=data.atlasdata):"openJsondatacontextPic"==data.isLoad&&(MiniFileMgr.ziyuFileTextureData[data.imgReadyUrl]=data.imgNativeUrl)}static getUrlEncode(url,type){return"arraybuffer"==type?"":"utf8"}static downLoadFile(fileUrl,fileType="",callBack=null,encoding="utf8"){MiniFileMgr.getFileInfo(fileUrl)?null!=callBack&&callBack.runWith([0]):MiniFileMgr.downLoadFile(fileUrl,fileType,callBack,encoding)}static remove(fileUrl,callBack=null){MiniFileMgr.deleteFile("",fileUrl,callBack,"",0)}static removeAll(){MiniFileMgr.deleteAll()}static hasNativeFile(fileUrl){return MiniFileMgr.isLocalNativeFile(fileUrl)}static getFileInfo(fileUrl){return MiniFileMgr.getFileInfo(fileUrl)}static getFileList(){return MiniFileMgr.filesListObj}static exitMiniProgram(){MiniAdpter.window.wx.exitMiniProgram()}static onMkdirCallBack(errorCode,data){errorCode||(MiniFileMgr.filesListObj=JSON.parse(data.data)),MiniFileMgr.fakeObj=MiniFileMgr.filesListObj}static pixelRatio(){if(!MiniAdpter.EnvConfig.pixelRatioInt)try{return MiniAdpter.EnvConfig.pixelRatioInt=MiniAdpter.systemInfo.pixelRatio,MiniAdpter.systemInfo.pixelRatio}catch(error){}return MiniAdpter.EnvConfig.pixelRatioInt}static createElement(type){var _source;if("canvas"==type)return 1==MiniAdpter.idx?MiniAdpter.isZiYu?(_source=MiniAdpter.window.sharedCanvas).style={}:_source=MiniAdpter.window.canvas:_source=MiniAdpter.window.wx.createCanvas(),MiniAdpter.idx++,_source;if("textarea"==type||"input"==type)return MiniAdpter.onCreateInput(type);if("div"==type){var node=MiniAdpter._preCreateElement(type);return node.contains=function(value){return null},node.removeChild=function(value){},node}return MiniAdpter._preCreateElement(type)}static onCreateInput(type){var node=MiniAdpter._preCreateElement(type);return node.focus=MiniInput.wxinputFocus,node.blur=MiniInput.wxinputblur,node.style={},node.value=0,node.parentElement={},node.placeholder={},node.type={},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){},node}static createShaderCondition(conditionScript){return function(){return this[conditionScript.replace("this.","")]}}static sendAtlasToOpenDataContext(url){if(!MiniAdpter.isZiYu){var atlasJson=Laya.Loader.getRes(Laya.URL.formatURL(url));if(!atlasJson)throw"传递的url没有获取到对应的图集数据信息,请确保图集已经过!";atlasJson.meta.image.split(",");if(atlasJson.meta&&atlasJson.meta.image)for(var toloadPics=atlasJson.meta.image.split(","),split=url.indexOf("/")>=0?"/":"\\",idx=url.lastIndexOf(split),folderPath=idx>=0?url.substr(0,idx+1):"",i=0,len=toloadPics.length;i<len;i++)toloadPics[i]=folderPath+toloadPics[i];else toloadPics=[url.replace(".json",".png")];for(i=0;i<toloadPics.length;i++){var tempAtlasPngUrl=toloadPics[i];MiniAdpter.postInfoToContext(url,tempAtlasPngUrl,atlasJson)}}}static postInfoToContext(url,atlaspngUrl,atlasJson){var postData={frames:atlasJson.frames,meta:atlasJson.meta},textureUrl=atlaspngUrl,fileObj=MiniFileMgr.getFileInfo(Laya.URL.formatURL(atlaspngUrl));if(fileObj)var fileMd5Name=fileObj.md5,fileNativeUrl=MiniFileMgr.getFileNativePath(fileMd5Name);else fileNativeUrl=textureUrl;if(!fileNativeUrl)throw"获取图集的磁盘url路径不存在!";MiniAdpter.window.wx.postMessage({url:url,atlasdata:postData,imgNativeUrl:fileNativeUrl,imgReadyUrl:textureUrl,isLoad:"opendatacontext"})}static sendSinglePicToOpenDataContext(url){var tempTextureUrl=Laya.URL.formatURL(url),fileObj=MiniFileMgr.getFileInfo(tempTextureUrl);if(fileObj){var fileMd5Name=fileObj.md5,fileNativeUrl=MiniFileMgr.getFileNativePath(fileMd5Name);url=tempTextureUrl}else fileNativeUrl=url;if(!fileNativeUrl)throw"获取图集的磁盘url路径不存在!";MiniAdpter.window.wx.postMessage({url:url,imgNativeUrl:fileNativeUrl,imgReadyUrl:url,isLoad:"openJsondatacontextPic"})}static sendJsonDataToDataContext(url){if(!MiniAdpter.isZiYu){var atlasJson=Laya.Loader.getRes(url);if(!atlasJson)throw"传递的url没有获取到对应的图集数据信息,请确保图集已经过!";MiniAdpter.window.wx.postMessage({url:url,atlasdata:atlasJson,isLoad:"openJsondatacontext"})}}}MiniAdpter._inited=!1,MiniAdpter.autoCacheFile=!0,MiniAdpter.minClearSize=5242880,MiniAdpter.nativefiles=["layaNativeDir","wxlocal"],MiniAdpter.subNativeFiles=[],MiniAdpter.subNativeheads=[],MiniAdpter.subMaps=[],MiniAdpter.AutoCacheDownFile=!1,MiniAdpter.parseXMLFromString=function(value){var rst;value=value.replace(/>\s+</g,"><");try{rst=(new MiniAdpter.window.Parser.DOMParser).parseFromString(value,"text/xml")}catch(error){throw"需要引入xml解析库文件"}return rst},MiniAdpter.idx=1;class MiniAccelerator extends Laya.EventDispatcher{constructor(){super()}static __init__(){try{var Acc;if(!(Acc=Laya.Accelerator))return;Acc.prototype.on=MiniAccelerator.prototype.on,Acc.prototype.off=MiniAccelerator.prototype.off}catch(e){}}static startListen(callBack){if(MiniAccelerator._callBack=callBack,!MiniAccelerator._isListening){MiniAccelerator._isListening=!0;try{MiniAdpter.window.wx.onAccelerometerChange(MiniAccelerator.onAccelerometerChange)}catch(e){}}}static stopListen(){MiniAccelerator._isListening=!1;try{MiniAdpter.window.wx.stopAccelerometer({})}catch(e){}}static onAccelerometerChange(res){var e;(e={}).acceleration=res,e.accelerationIncludingGravity=res,e.rotationRate={},null!=MiniAccelerator._callBack&&MiniAccelerator._callBack(e)}on(type,caller,listener,args=null){return super.on(type,caller,listener,args),MiniAccelerator.startListen(this.onDeviceOrientationChange),this}off(type,caller,listener,onceOnly=!1){return this.hasListener(type)||MiniAccelerator.stopListen(),super.off(type,caller,listener,onceOnly)}}MiniAccelerator._isListening=!1;class MiniImage{_loadImage(url){if(MiniAdpter.isZiYu)MiniImage.onCreateImage(url,this,!0);else{var isTransformUrl;if(MiniFileMgr.isLocalNativeFile(url)){if(-1==url.indexOf(MiniAdpter.window.wx.env.USER_DATA_PATH)&&(-1!=url.indexOf("http://")||-1!=url.indexOf("https://")))if(""!=MiniFileMgr.loadPath)url=url.split(MiniFileMgr.loadPath)[1];else{var tempStr=""!=Laya.URL.rootPath?Laya.URL.rootPath:Laya.URL._basePath,tempUrl=url;""!=tempStr&&(url=url.split(tempStr)[1]),url||(url=tempUrl)}if(MiniAdpter.subNativeFiles&&0==MiniAdpter.subNativeheads.length)for(var key in MiniAdpter.subNativeFiles){var tempArr=MiniAdpter.subNativeFiles[key];MiniAdpter.subNativeheads=MiniAdpter.subNativeheads.concat(tempArr);for(var aa=0;aa<tempArr.length;aa++)MiniAdpter.subMaps[tempArr[aa]]=key+"/"+tempArr[aa]}if(MiniAdpter.subNativeFiles&&-1!=url.indexOf("/")){var curfileHead=url.split("/")[0]+"/";if(curfileHead&&-1!=MiniAdpter.subNativeheads.indexOf(curfileHead)){var newfileHead=MiniAdpter.subMaps[curfileHead];url=url.replace(curfileHead,newfileHead)}}}else isTransformUrl=!0,url=Laya.URL.formatURL(url);MiniFileMgr.getFileInfo(url)?MiniImage.onCreateImage(url,this,!isTransformUrl):-1!=url.indexOf(MiniAdpter.window.wx.env.USER_DATA_PATH)||-1==url.indexOf("http://")&&-1==url.indexOf("https://")?MiniImage.onCreateImage(url,this,!0):MiniAdpter.isZiYu?MiniImage.onCreateImage(url,this,!0):MiniFileMgr.downOtherFiles(url,new Laya.Handler(MiniImage,MiniImage.onDownImgCallBack,[url,this]),url)}}static onDownImgCallBack(sourceUrl,thisLoader,errorCode,tempFilePath=""){errorCode?thisLoader.onError(null):MiniImage.onCreateImage(sourceUrl,thisLoader,!1,tempFilePath)}static onCreateImage(sourceUrl,thisLoader,isLocal=!1,tempFilePath=""){var fileNativeUrl,image;if(MiniAdpter.autoCacheFile)if(isLocal)if(MiniAdpter.isZiYu){var tempUrl=Laya.URL.formatURL(sourceUrl);fileNativeUrl=MiniFileMgr.ziyuFileTextureData[tempUrl]?MiniFileMgr.ziyuFileTextureData[tempUrl]:sourceUrl}else fileNativeUrl=sourceUrl;else if(""!=tempFilePath)fileNativeUrl=tempFilePath;else{var fileMd5Name=MiniFileMgr.getFileInfo(sourceUrl).md5;fileNativeUrl=MiniFileMgr.getFileNativePath(fileMd5Name)}else fileNativeUrl=isLocal?sourceUrl:tempFilePath;function clear(){var img=thisLoader._imgCache[fileNativeUrl];img&&(img.onload=null,img.onerror=null,delete thisLoader._imgCache[fileNativeUrl])}null==thisLoader._imgCache&&(thisLoader._imgCache={});var onerror=function(){clear(),delete MiniFileMgr.fakeObj[sourceUrl],delete MiniFileMgr.filesListObj[sourceUrl],thisLoader.event(Laya.Event.ERROR,"Load image failed")};if("nativeimage"==thisLoader._type){var onload=function(){clear(),thisLoader.onLoaded(image)};(image=new Laya.Browser.window.Image).crossOrigin="",image.onload=onload,image.onerror=onerror,image.src=fileNativeUrl,thisLoader._imgCache[fileNativeUrl]=image}else{var imageSource=new Laya.Browser.window.Image;onload=function(){(image=Laya.HTMLImage.create(imageSource.width,imageSource.height)).loadImageSource(imageSource,!0),image._setCreateURL(fileNativeUrl),clear(),thisLoader.onLoaded(image)},imageSource.crossOrigin="",imageSource.onload=onload,imageSource.onerror=onerror,imageSource.src=fileNativeUrl,thisLoader._imgCache[fileNativeUrl]=imageSource}}}class MiniLocation{constructor(){}static __init__(){MiniAdpter.window.navigator.geolocation.getCurrentPosition=MiniLocation.getCurrentPosition,MiniAdpter.window.navigator.geolocation.watchPosition=MiniLocation.watchPosition,MiniAdpter.window.navigator.geolocation.clearWatch=MiniLocation.clearWatch}static getCurrentPosition(success=null,error=null,options=null){var paramO;(paramO={}).success=function(res){null!=success&&success(res)},paramO.fail=error,MiniAdpter.window.wx.getLocation(paramO)}static watchPosition(success=null,error=null,options=null){var curWatchO;return MiniLocation._curID++,(curWatchO={}).success=success,curWatchO.error=error,MiniLocation._watchDic[MiniLocation._curID]=curWatchO,Laya.Laya.systemTimer.loop(1e3,null,MiniLocation._myLoop),MiniLocation._curID}static clearWatch(id){delete MiniLocation._watchDic[id],MiniLocation._hasWatch()||Laya.Laya.systemTimer.clear(null,MiniLocation._myLoop)}static _hasWatch(){var key;for(key in MiniLocation._watchDic)if(MiniLocation._watchDic[key])return!0;return!1}static _myLoop(){MiniLocation.getCurrentPosition(MiniLocation._mySuccess,MiniLocation._myError)}static _mySuccess(res){var key,rst={};for(key in rst.coords=res,rst.timestamp=Laya.Browser.now(),MiniLocation._watchDic)MiniLocation._watchDic[key].success&&MiniLocation._watchDic[key].success(rst)}static _myError(res){var key;for(key in MiniLocation._watchDic)MiniLocation._watchDic[key].error&&MiniLocation._watchDic[key].error(res)}}MiniLocation._watchDic={},MiniLocation._curID=0;exports.MiniAccelerator=MiniAccelerator,exports.MiniAdpter=MiniAdpter,exports.MiniFileMgr=MiniFileMgr,exports.MiniImage=MiniImage,exports.MiniInput=MiniInput,exports.MiniLoader=MiniLoader,exports.MiniLocalStorage=MiniLocalStorage,exports.MiniLocation=MiniLocation,exports.MiniSound=MiniSound,exports.MiniSoundChannel=MiniSoundChannel,exports.MiniVideo=class{constructor(width=320,height=240){this.videoend=!1,this.videourl="",this.videoElement=MiniAdpter.window.wx.createVideo({width:width,height:height,autoplay:!0})}static __init__(){}on(eventType,ths,callBack){"loadedmetadata"==eventType?(this.onPlayFunc=callBack.bind(ths),this.videoElement.onPlay=this.onPlayFunction.bind(this)):"ended"==eventType&&(this.onEndedFunC=callBack.bind(ths),this.videoElement.onEnded=this.onEndedFunction.bind(this)),this.videoElement.onTimeUpdate=this.onTimeUpdateFunc.bind(this)}onTimeUpdateFunc(data){this.position=data.position,this._duration=data.duration}get duration(){return this._duration}onPlayFunction(){this.videoElement&&(this.videoElement.readyState=200),console.log("=====视频加载完成========"),null!=this.onPlayFunc&&this.onPlayFunc()}onEndedFunction(){this.videoElement&&(this.videoend=!0,console.log("=====视频播放完毕========"),null!=this.onEndedFunC&&this.onEndedFunC())}off(eventType,ths,callBack){"loadedmetadata"==eventType?(this.onPlayFunc=callBack.bind(ths),this.videoElement.offPlay=this.onPlayFunction.bind(this)):"ended"==eventType&&(this.onEndedFunC=callBack.bind(ths),this.videoElement.offEnded=this.onEndedFunction.bind(this))}load(url){this.videoElement&&(this.videoElement.src=url)}play(){this.videoElement&&(this.videoend=!1,this.videoElement.play())}pause(){this.videoElement&&(this.videoend=!0,this.videoElement.pause())}get currentTime(){return this.videoElement?this.videoElement.initialTime:0}set currentTime(value){this.videoElement&&(this.videoElement.initialTime=value)}get videoWidth(){return this.videoElement?this.videoElement.width:0}get videoHeight(){return this.videoElement?this.videoElement.height:0}get ended(){return this.videoend}get loop(){return!!this.videoElement&&this.videoElement.loop}set loop(value){this.videoElement&&(this.videoElement.loop=value)}get playbackRate(){return this.videoElement?this.videoElement.playbackRate:0}set playbackRate(value){this.videoElement&&(this.videoElement.playbackRate=value)}get muted(){return!!this.videoElement&&this.videoElement.muted}set muted(value){this.videoElement&&(this.videoElement.muted=value)}get paused(){return!!this.videoElement&&this.videoElement.paused}size(width,height){this.videoElement&&(this.videoElement.width=width,this.videoElement.height=height)}get x(){return this.videoElement?this.videoElement.x:0}set x(value){this.videoElement&&(this.videoElement.x=value)}get y(){return this.videoElement?this.videoElement.y:0}set y(value){this.videoElement&&(this.videoElement.y=value)}get currentSrc(){return this.videoElement.src}destroy(){this.videoElement&&this.videoElement.destroy(),this.videoElement=null,this.onEndedFunC=null,this.onPlayFunc=null,this.videoend=!1,this.videourl=null}reload(){this.videoElement&&(this.videoElement.src=this.videourl)}}};