{"version":3,"sources":["assets/login/cpt/BundleJson.ts","assets/login/cpt/QuickMgr.ts","assets/login/cpt/abGroupConfig.ts","assets/login/cpt/gameRenderTime.ts","assets/login/cpt/quickCustomAdaptation.ts","assets/login/cpt/quickLaunch.ts","assets/login/cpt/quickLoad.ts","assets/login/cpt/quickLoginCpt.ts","assets/login/cpt/quickMsg.ts","assets/login/cpt/quickTermsEvent.ts","assets/login/cpt/quickTermsV1.ts","assets/login/cpt/quickTerms.ts"],"names":["JsonCompress","compressShortKey","jsonObj","keyCom","_this","this","Array","isArray","forEach","v","k","num","codeNum","Object","keys","knum","str","n","index","length","charCodeAt","codeStr","y","String","fromCharCode","JsonConfig","bundleImport","texMap","spMap","prefabAni","other","texCom","prototype","initByJson","contains","url","includes","getFile","arr","split","fileKey","name","undefined","texObj","spObj","obj","JSON","parse","line","element","pos","indexOf","substring","content","keyNum","dUuid","cc","assetManager","utils","decodeUuid","Number","a","normal","obj5","head1","head2","rotated","vertices","rect","originalSize","offset","capInsets","push","BundleJson","_init","getIns","instance","initHook","downloaderHander","downloader","_downloaders","oldJson","options","onComplete","fileContent","getConfig","config","loadBundleJson","bundleName","window","location","href","key","loadRemote","err","data","addBundleJson","text","releaseAsset","bundleUrl","exports","QuickState","quickMsg_1","require","QuickMgr","state","none","resourcesJson","roleList","msgPrefab","msgNode","msgLoading","destroy","getState","loadBundlePromise","Promise","resovle","loadBundle","e","error","__awaiter","log","task","loadResBundle","loadMainBundle","loadResQuickAllJson","all","_a","sent","bundleFinish","sleep","sec","resolve","setTimeout","loadResourcesJson","version","bundleVers","file","warn","message","json","isTermsAgree","sys","localStorage","getItem","is_terms_agree","newPlayer","cocosQuickStep","isSDK","hasPuid","getRoleList","tea","phase","step","is_success","msg","duration","p","then","res","stringify","dataJson","catch","isNewRole","puid","cocosUrl","param","showMsg","getComponent","QuickMsg","setMsg","getBundle","load","Prefab","asset","quickLaunch","director","getScene","getComponentInChildren","instantiate","zIndex","node","addChild","deleteMsg","reload","isABOpen","id","abGroupConfig","abGroup","CocosResInfo","0","1","2","3","4","5","6","7","8","9","10","_decorator","ccclass","GameRenderTime","property","_super","apply","arguments","renderTime","__extends","start","update","dt","Math","min","isShowFirst","Date","now","lastSladarTime","CocosSdk","LogSladar","__decorate","Component","QuickCustomAdaptation","QuickCustomAdaptation_1","view","designedResolution","containerW","game","canvas","width","containerH","height","contentW","contentH","ratio","designRatio","adjustRatio","scale","_buildResult","ContentStrategy","quickCustomAdaptation_1","quickLoginCpt_1","QuickMgr_1","QuickLaunch","uiRoot","loginPrefab","isLoginShow","showUINum","loginNode","loginCpt","isEnd","onLoad","policy","getResolutionPolicy","setContentStrategy","designRes","getDesignResolutionSize","setDesignResolutionSize","_widgetManager","refreshWidgetOnResized","QuickLoginCpt","loadLater","loadSpine","showTerms","showTermsV1","preloadTerms","preloadAny","__requestType__","type","bundle","priority","maxConcurrency","preloadTermsV1","showProgress","haveGtm","param2","event","isCache","LogGoogleAnalytics","eventToken","logAdjust","on","loginShow","beforeLoginShow","newPlayerEnd","bundleStartTime","firstSladarLog","isBundleFinish","bundleErrorCnt","bundleErrorFlag","main","level","LogSladarlog","findLaunher","findLaunherCnt","findLaunherFlag","js","getClassByName","addComponent","uiRootNode","getPrecent","MainBridge","getProgress","totalNum","showUiSpeed","isNewPlayerLoading","endLogin","progressBar","progress","precentLabel","string","toFixed","spineNode","x","liziNode","off","scheduleOnce","Node","QuickLoad","quickData","gameData","loginBundle","gamePrefabName","isOpen","timeMap","switch","setQuickData","setGamePrefabName","loadGameData","jsonAsset","ext","path","extname","baseName","mainFileName","toLowerCase","loadAll","list","getRefs","assetTypeStr","assetType","getType","SpriteFrame","tex","sf","texUuid","texExt","texBundle","findBundle","Texture2D","__outputAsArray__","maxRequestsPerFrame","__isNative__","prefab","uuidToName","nameToRefs","scene","assetName","TTFFont","Material","BitmapFont","AnimationClip","SpriteAtlas","sp","SkeletonData","uuid","bundles","get","getAssetInfo","resources","test","isQuick","len","testLoad","time","loadAny","console","cocosSetQuickData","cocosLoadGameData","cocosLoadQuick","cocosSetGamePrefabName","cocosQuickTest","dmmNode","spineData","active","isDmm","channel","isValid","spine","Skeleton","skeletonData","setAnimation","onDestroy","ProgressBar","Label","label","ani","play","handler","clearTimeout","Animation","QuickTermsEvent","clickHandler","termsUrl","openURL","QuickTermsV1","adjust","ga","confirm","LogTwitterReport","default","QuickTerms","page1","page2","isCloseReport","showPage1","termsService","openTermsUrl","privacyPolicy","onNo","showPage2","onBack"],"mappings":"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","sourcesContent":["class JsonCompress {\r\n static compressShortKey(jsonObj: any, keyCom: any): void {\r\n if (jsonObj == null) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(jsonObj)) {\r\n jsonObj.forEach((v: any, k: number) => {\r\n this.compressShortKey(v, keyCom);\r\n\r\n if (typeof v === 'string') {\r\n const num = JsonCompress.codeNum(v);\r\n jsonObj[k] = keyCom[num];\r\n }\r\n });\r\n } else if (typeof jsonObj === 'object') {\r\n Object.keys(jsonObj).forEach((v: string) => {\r\n this.compressShortKey(jsonObj[v], keyCom);\r\n });\r\n\r\n const keys = Object.keys(jsonObj);\r\n keys.forEach((v: string) => {\r\n if (typeof jsonObj[v] === 'string') {\r\n const num = JsonCompress.codeNum(jsonObj[v]);\r\n const knum = JsonCompress.codeNum(v);\r\n\r\n jsonObj[keyCom[knum]] = keyCom[num];\r\n // jsonObj[v] = undefined;\r\n delete jsonObj[v];\r\n } else {\r\n const knum = JsonCompress.codeNum(v);\r\n\r\n jsonObj[keyCom[knum]] = jsonObj[v];\r\n // jsonObj[v] = undefined;\r\n delete jsonObj[v];\r\n }\r\n });\r\n }\r\n }\r\n\r\n static codeNum(str: string): number {\r\n function f(num: number): number {\r\n if (num <= 57) {\r\n return num - 48;\r\n }\r\n\r\n if (num >= 97) {\r\n return num - 97 + 10;\r\n }\r\n\r\n if (num >= 65) {\r\n return num - 65 + 36;\r\n }\r\n }\r\n\r\n const max = 10 + 26 + 26;\r\n let n = 0;\r\n for (let index = 0; index < str.length; index++) {\r\n const element = str.charCodeAt(index);\r\n n *= max;\r\n n += f(element);\r\n }\r\n return n;\r\n }\r\n\r\n static codeStr(num: number): string {\r\n const max = 10 + 26 + 26;\r\n\r\n function f(n: number): string {\r\n if (n < 10) {\r\n return n + '';\r\n }\r\n\r\n if (n < 10 + 26) {\r\n return String.fromCharCode(97 + (n - 10));\r\n }\r\n\r\n if (n < max) {\r\n return String.fromCharCode(65 + (n - 36));\r\n }\r\n }\r\n\r\n if (num === 0) {\r\n return '0';\r\n }\r\n\r\n let str = '';\r\n while (num > 0) {\r\n const y = num % max;\r\n str = f(y) + str;\r\n num = (num - y) / max;\r\n }\r\n\r\n return str;\r\n }\r\n}\r\n\r\nclass JsonConfig {\r\n private bundleImport: string = '';\r\n\r\n texMap: any = null;\r\n spMap: any = null;\r\n prefabAni: any = null;\r\n other: any = null;\r\n texCom: any = null;\r\n keyCom: [] = null;\r\n\r\n initByJson(bundleImport: string): void {\r\n this.bundleImport = bundleImport;\r\n }\r\n\r\n contains(url: string): boolean {\r\n return url.includes(this.bundleImport);\r\n }\r\n\r\n getFile(url: string): any {\r\n const arr = url.split('/');\r\n const file = arr[arr.length - 1];\r\n const fileKey = file.split('.');\r\n if (fileKey.length <= 0) return null;\r\n\r\n const name = fileKey[0];\r\n // console.log('@@', name, uuid);\r\n if (this.texMap[name] !== undefined) {\r\n return this.texObj(this.texCom[this.texMap[name]]);\r\n }\r\n\r\n if (this.spMap[name] !== undefined) {\r\n return this.spObj(this.spMap[name]);\r\n }\r\n if (this.prefabAni[name] !== undefined) {\r\n const obj = JSON.parse(this.prefabAni[name]);\r\n JsonCompress.compressShortKey(obj, this.keyCom);\r\n return obj;\r\n }\r\n\r\n if (this.other[name] !== undefined) {\r\n const obj = JSON.parse(this.other[name]);\r\n return obj;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n parse(str: string): void {\r\n const texMap: any = {};\r\n let texCom = null;\r\n let keyCom = null;\r\n const spMap = {};\r\n const obj = {};\r\n const other = {};\r\n const arr = str.split('\\n');\r\n\r\n let line = 0;\r\n\r\n for (let index = 0; index < arr.length; index++) {\r\n const element = arr[index];\r\n if (element === '') continue;\r\n if (index === 0) {\r\n texCom = JSON.parse(element);\r\n continue;\r\n }\r\n\r\n if (index === 1) {\r\n keyCom = JSON.parse(element);\r\n continue;\r\n }\r\n\r\n if (element === '##') {\r\n line++;\r\n continue;\r\n }\r\n\r\n const pos = element.indexOf('#');\r\n const name = element.substring(0, pos);\r\n const content = element.substring(pos + 1, element.length);\r\n const keyNum = JsonCompress.codeNum(name);\r\n const dUuid = cc.assetManager.utils.decodeUuid(keyCom[keyNum]);\r\n if (line === 0) {\r\n texMap[dUuid] = Number(content);\r\n }\r\n\r\n if (line === 1) {\r\n spMap[dUuid] = content;\r\n }\r\n\r\n if (line === 2 || line === 3) {\r\n obj[dUuid] = content;\r\n }\r\n\r\n if (line > 3) {\r\n other[dUuid] = content;\r\n }\r\n }\r\n\r\n // console.log('@@', arr.length, Object.keys(texMap).length, Object.keys(spMap).length,Object.keys(obj).length);\r\n this.texCom = texCom;\r\n this.keyCom = keyCom;\r\n this.texMap = texMap;\r\n this.spMap = spMap;\r\n this.prefabAni = obj;\r\n this.other = other;\r\n\r\n // console.log(texMap.com);\r\n // console.log(spMap);\r\n // console.log(obj);\r\n }\r\n\r\n texObj(content: string): any {\r\n const a = '[1,0,0,[\"cc.Texture2D\"],0,' + content + ',[0],0,[],[],[]]';\r\n const normal = JSON.parse(a);\r\n return normal;\r\n }\r\n\r\n spObj(content: string): any {\r\n // [1,[\"_textureSetter\"],[\"cc.SpriteFrame\"],0,[0],0,[0],[0],[0]]\r\n const a = '[1,0,[\"_textureSetter\"],[\"cc.SpriteFrame\"],0,0,[0],0,[0],[0],[0]]';\r\n const normal = JSON.parse(a);\r\n const obj = JSON.parse(content);\r\n JsonCompress.compressShortKey(obj, this.keyCom);\r\n normal[1] = obj[0];\r\n\r\n normal[5] = [];\r\n for (let index = 0; index < obj[1].length; index++) {\r\n const element = obj[1][index];\r\n\r\n const obj5: any = {};\r\n const head1 = element[0];\r\n const head2 = element[1];\r\n\r\n if (head1.length >= 1) obj5.name = head1[0];\r\n if (head1.length >= 2) obj5.rotated = head1[1];\r\n if (head1.length >= 3) obj5.vertices = head1[2];\r\n\r\n if (head2.length >= 1) obj5.rect = head2[0];\r\n\r\n obj5.originalSize = [obj5.rect[2], obj5.rect[3]];\r\n obj5.offset = [0, 0];\r\n obj5.capInsets = [0, 0, 0, 0];\r\n\r\n if (head2.length >= 2) obj5.originalSize = head2[1];\r\n\r\n if (head2.length >= 4) {\r\n obj5.offset = head2[2];\r\n obj5.capInsets = head2[3];\r\n }\r\n\r\n normal[5].push(obj5);\r\n }\r\n return normal;\r\n }\r\n}\r\n\r\nexport class BundleJson {\r\n private static instance: BundleJson = null;\r\n public static getIns(): BundleJson {\r\n if (!BundleJson.instance) {\r\n BundleJson.instance = new BundleJson();\r\n // BundleJson.instance.initHook();\r\n }\r\n return BundleJson.instance;\r\n }\r\n\r\n arr: JsonConfig[] = [];\r\n _init: boolean = false;\r\n\r\n initHook(): void {\r\n if (this._init) {\r\n return;\r\n }\r\n this._init = true;\r\n // @ts-ignore\r\n const downloaderHander = cc.assetManager.downloader._downloaders;\r\n const oldJson = downloaderHander['.json'];\r\n downloaderHander['.json'] = (url: string, options: any, onComplete: any): void => {\r\n const fileContent = this.getConfig(url);\r\n if (fileContent) {\r\n onComplete && onComplete(null, fileContent);\r\n return;\r\n }\r\n\r\n oldJson(url, options, onComplete);\r\n return;\r\n };\r\n }\r\n\r\n getConfig(url: string): any {\r\n for (let index = 0; index < this.arr.length; index++) {\r\n const config = this.arr[index];\r\n const flag = config.contains(url);\r\n if (flag) {\r\n const fileContent = config.getFile(url);\r\n if (fileContent) {\r\n return fileContent;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n loadBundleJson(bundleName: string): void {\r\n if (CC_PREVIEW) return;\r\n\r\n const href = window.location.href;\r\n if (href.includes('disableAllJson')) return;\r\n\r\n const key = 'cocos' + bundleName + 'AllJson';\r\n if (!window[key]) return;\r\n\r\n let url = window[key];\r\n if (window['cocosUrl']) {\r\n url = window['cocosUrl'] + url;\r\n }\r\n\r\n cc.assetManager.loadRemote(url, (err: Error, data: cc.TextAsset) => {\r\n if (data) {\r\n this.addBundleJson(bundleName, data.text);\r\n this.initHook();\r\n cc.assetManager.releaseAsset(data);\r\n }\r\n });\r\n }\r\n\r\n addBundleJson(bundleName: string, str: string): void {\r\n let bundleUrl = 'assets/' + bundleName;\r\n if (window['cocosUrl']) {\r\n bundleUrl = window['cocosUrl'] + bundleUrl;\r\n }\r\n\r\n const bundleImport = bundleUrl + '/import/';\r\n\r\n const config = new JsonConfig();\r\n config.initByJson(bundleImport);\r\n config.parse(str);\r\n this.arr.push(config);\r\n }\r\n}\r\n// @ts-ignore\r\nwindow['cocosBundleJsonClear'] = function (): void {\r\n BundleJson.getIns().arr = [];\r\n};\r\n\r\n// @ts-ignore\r\nwindow['cocosBundleJsonLoad'] = function (bundleName: string): void {\r\n BundleJson.getIns().loadBundleJson(bundleName);\r\n};\r\n","import { QuickMsg } from './quickMsg';\r\n\r\nexport enum QuickState {\r\n none,\r\n loadRes,\r\n loadBundle,\r\n}\r\n\r\nexport class QuickMgr {\r\n private static instance: QuickMgr = null;\r\n public static getIns(): QuickMgr {\r\n if (!QuickMgr.instance) {\r\n QuickMgr.instance = new QuickMgr();\r\n }\r\n return QuickMgr.instance;\r\n }\r\n\r\n static destroy(): void {\r\n QuickMgr.instance = null;\r\n }\r\n\r\n private state: QuickState = QuickState.none;\r\n resourcesJson: any = null;\r\n roleList: any = null;\r\n\r\n getState(): QuickState {\r\n return this.state;\r\n }\r\n\r\n loadBundlePromise(name: string): Promise {\r\n return new Promise((resovle: any) => {\r\n let bundleUrl = name;\r\n if (window['cocosUrl']) {\r\n bundleUrl = window['cocosUrl'] + 'assets/' + name;\r\n }\r\n cc.assetManager.loadBundle(bundleUrl, (e: Error) => {\r\n if (e) {\r\n cc.error('@@ load bundle ', name);\r\n }\r\n resovle();\r\n });\r\n });\r\n }\r\n\r\n async loadBundle(): Promise {\r\n cc.log('@@ loadbundle 1');\r\n\r\n const task = [];\r\n task.push(this.loadResBundle());\r\n task.push(this.loadMainBundle());\r\n\r\n if (!CC_PREVIEW) {\r\n this.loadResQuickAllJson();\r\n }\r\n\r\n this.loadBundlePromise('cfgs');\r\n\r\n await Promise.all(task);\r\n }\r\n\r\n loadResQuickAllJson(): void {\r\n window['cocosBundleJsonLoad'] && window['cocosBundleJsonLoad']('resources');\r\n }\r\n\r\n bundleFinish(): void {\r\n this.state = QuickState.loadBundle;\r\n\r\n cc.log('@@ loadbundle 2');\r\n\r\n // const MainBridge = cc['MainBridge'].getIns();\r\n\r\n // if (this.resourcesJson) {\r\n // MainBridge.addResourcesJson(this.resourcesJson);\r\n // }\r\n cc.log('@@ loadbundle done');\r\n }\r\n\r\n async loadMainBundle(): Promise {\r\n await this.loadBundlePromise('main');\r\n }\r\n\r\n async loadResBundle(): Promise {\r\n await this.loadBundlePromise('resources');\r\n }\r\n\r\n sleep(sec: number): Promise {\r\n return new Promise((resolve: any) => {\r\n setTimeout(resolve, sec * 1000);\r\n });\r\n }\r\n\r\n loadResourcesJson(): Promise {\r\n return new Promise((resovle: any) => {\r\n if (this.resourcesJson) {\r\n resovle();\r\n return;\r\n }\r\n\r\n const bundleName = 'resources';\r\n const version = cc.assetManager.downloader.bundleVers[bundleName];\r\n let file = 'allJson.json';\r\n if (version) {\r\n file = `allJson.${version}.json`;\r\n }\r\n\r\n let bundleUrl = 'assets/resources';\r\n\r\n if (window['cocosUrl']) {\r\n bundleUrl = window['cocosUrl'] + bundleUrl;\r\n }\r\n\r\n file = bundleUrl + '/' + file;\r\n\r\n cc.assetManager.loadRemote(file, (err: Error, data: cc.JsonAsset) => {\r\n if (err) {\r\n cc.warn(file, '初始化失败.', err.message);\r\n resovle();\r\n return;\r\n }\r\n this.resourcesJson = data.json;\r\n cc.assetManager.releaseAsset(data);\r\n resovle();\r\n });\r\n });\r\n }\r\n\r\n isTermsAgree(): boolean {\r\n const data = cc.sys.localStorage.getItem('gamedata');\r\n if (data) {\r\n const json = JSON.parse(data);\r\n if (json && json.is_terms_agree) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n async newPlayer(): Promise {\r\n window.cocosQuickStep = 0;\r\n if (!this.isSDK()) return;\r\n\r\n if (this.hasPuid()) return;\r\n\r\n if (this.isTermsAgree()) return;\r\n\r\n // try {\r\n // this.roleList = await this.getRoleList();\r\n // } catch (error) {\r\n // this.roleList = null;\r\n // }\r\n\r\n // window.cocosQuickStep = 1;\r\n // window.cocosQuickRole = this.roleList;\r\n\r\n // if (!this.isNewRole()) {\r\n // window.CocosSdk.oneSladarLog('newDevice');\r\n // return;\r\n // }\r\n\r\n window.cocosQuickStep = 3;\r\n }\r\n\r\n async getRoleList(): Promise {\r\n this.tea({\r\n phase: 'AccountLogin',\r\n step: 'begin',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n\r\n const p = window['HCSJ_H5_RoleList']();\r\n\r\n let roleList = null;\r\n await p\r\n .then((res: any) => {\r\n if (res.data && res.data.roleList) {\r\n roleList = JSON.stringify({\r\n dataJson: res.data.roleList,\r\n });\r\n }\r\n\r\n this.tea({\r\n phase: 'AccountLogin',\r\n step: 'end',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n })\r\n .catch((res: any) => {\r\n roleList = null;\r\n this.tea({\r\n phase: 'AccountLogin',\r\n step: 'end',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n });\r\n\r\n return roleList;\r\n }\r\n\r\n isNewRole(): boolean {\r\n if (!this.isSDK()) return false;\r\n\r\n if (this.roleList) return false;\r\n\r\n return true;\r\n }\r\n\r\n hasPuid(): boolean {\r\n const data = cc.sys.localStorage.getItem('gamedata');\r\n if (data) {\r\n const json = JSON.parse(data);\r\n if (json && json.puid) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n isSDK(): boolean {\r\n const cocosUrl = window['cocosUrl'];\r\n if (cocosUrl && cocosUrl.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n tea(param: any): void {\r\n if (!this.isSDK()) return;\r\n window['cocosTeaLog'](param);\r\n }\r\n\r\n msgPrefab: cc.Prefab = null;\r\n msgNode: cc.Node = null;\r\n msgLoading: boolean = false;\r\n showMsg(msg: string): void {\r\n if (!this.msgNode) {\r\n if (this.msgLoading) return;\r\n this.msgLoading = true;\r\n const login = cc.assetManager.getBundle('login');\r\n login.load('msgBox/quickMessageBox', cc.Prefab, (err: Error, asset: cc.Prefab) => {\r\n this.msgLoading = false;\r\n if (!err) {\r\n this.msgPrefab = asset;\r\n const scene = cc.director.getScene();\r\n const quickLaunch = scene.getComponentInChildren('quickLaunch');\r\n if (quickLaunch) {\r\n this.msgNode = cc.instantiate(asset);\r\n this.msgNode.zIndex = 100;\r\n quickLaunch.node.addChild(this.msgNode);\r\n const cpt = this.msgNode.getComponent(QuickMsg);\r\n cpt.setMsg(msg);\r\n } else {\r\n this.deleteMsg();\r\n }\r\n }\r\n });\r\n } else {\r\n const cpt = this.msgNode.getComponent(QuickMsg);\r\n cpt.setMsg(msg);\r\n }\r\n }\r\n\r\n deleteMsg(): void {\r\n if (this.msgNode) {\r\n this.msgNode.destroy();\r\n }\r\n if (this.msgPrefab) {\r\n cc.assetManager.releaseAsset(this.msgPrefab);\r\n }\r\n this.msgPrefab = null;\r\n this.msgNode = null;\r\n }\r\n}\r\n\r\n// loading 阶段,切换账号\r\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\r\nwindow['cocosReset'] = function () {\r\n window.location.reload();\r\n};\r\n","export const abGroupConfig = {\r\n 0: [], // 规约,进度开始弹\r\n 1: [], // 规约V1,进度开始弹\r\n 2: [0, 2, 4, 1, 3, 5, 6, 8, 10, 7, 9, 11], // 规约,进度100% 弹\r\n 3: [], // 规约V1,进度100% 弹\r\n\r\n 4: [1, 3, 5, 7, 9, 11], // 开启留白展示\r\n\r\n 5: [0, 1, 2, 3],\r\n 6: [4, 5, 6, 7],\r\n 7: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], // 小游戏 - 流程3 不弹规约\r\n\r\n 8: [0, 1, 2, 3, 4, 5], // 规约,进度100% 弹\r\n 9: [6, 7, 8, 9, 10, 11], // 取名弹规约\r\n 10: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], // 小游戏带引导\r\n};\r\n\r\nexport function isABOpen(id: number): boolean {\r\n if (!abGroupConfig[id]) {\r\n return false;\r\n }\r\n\r\n let abGroup = 0;\r\n\r\n // @ts-ignore\r\n if (window.CocosResInfo) {\r\n // @ts-ignore\r\n abGroup = window.CocosResInfo.abGroup;\r\n }\r\n\r\n if (abGroupConfig[id].includes(abGroup)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n// @ts-ignore\r\nwindow.isABOpen = isABOpen;\r\n","const { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport class GameRenderTime extends cc.Component {\r\n renderTime: number = 0;\r\n\r\n protected start(): void {\r\n this.renderTime = 0;\r\n }\r\n\r\n protected update(dt: number): void {\r\n const offset = Math.min(dt, 1);\r\n this.renderTime += offset;\r\n\r\n if (window.CocosResInfo) {\r\n window.CocosResInfo.renderTime = this.renderTime;\r\n\r\n if (!window.CocosResInfo.isShowFirst && Date.now() - window.CocosResInfo.lastSladarTime >= 5000) {\r\n window.CocosResInfo.lastSladarTime = Date.now();\r\n const data = {\r\n phase: 'loading',\r\n step: 'update',\r\n };\r\n window.CocosSdk.LogSladar(data);\r\n }\r\n }\r\n }\r\n}\r\n","// Copyright (c) 2021 Bytedance Inc.\r\n\r\nconst { ccclass } = cc._decorator;\r\n\r\n/**\r\n * 自定义分辨率适配策略\r\n */\r\n@ccclass\r\nexport class QuickCustomAdaptation extends cc.ContentStrategy {\r\n /**\r\n * 1. 用adjustRatio区分手机和pad,\r\n * 2. 手机分辨率按宽度适配\r\n * 3. pad分辨率,按宽度最大只适配到adjustRatio,剩余部分填充安全框\r\n */\r\n private name: string = 'Adjust_FixedWidth_FillBorder';\r\n public static readonly adjustRatio = 1.5; // 适配的高宽比分界\r\n public apply(view: any, designedResolution: any): any {\r\n const containerW = cc.game.canvas.width;\r\n const containerH = cc.game.canvas.height;\r\n let contentW = containerW;\r\n const contentH = containerH;\r\n\r\n const ratio = containerH / containerW;\r\n const designRatio = designedResolution.height / designedResolution.width;\r\n if (ratio < QuickCustomAdaptation.adjustRatio) {\r\n contentW = containerH / designRatio;\r\n }\r\n\r\n const scale = contentW / designedResolution.width;\r\n\r\n return this._buildResult(containerW, containerH, contentW, contentH, scale, scale);\r\n }\r\n\r\n // private name: string = 'ShowAll_ExactFit';\r\n /**\r\n * 1. canvas通过scale缩放,fit到刚好设计分辨率大小能全部显示\r\n * 2. 并把viewport设置到这个大小,做为widget组件的适配范围\r\n */\r\n // public apply(view: any, designedResolution: any): any {\r\n // const containerW = cc.game.canvas.width;\r\n // const containerH = cc.game.canvas.height;\r\n // const scaleX = containerW / designedResolution.width;\r\n // const scaleY = containerH / designedResolution.height;\r\n // const scale = scaleX < scaleY ? scaleX : scaleY;\r\n // const contentW = containerW;\r\n // const contentH = containerH;\r\n\r\n // return this._buildResult(containerW, containerH, contentW, contentH, scale, scale);\r\n // }\r\n}\r\n","// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nimport { QuickCustomAdaptation } from './quickCustomAdaptation';\r\nimport { QuickLoginCpt } from './quickLoginCpt';\r\nimport { QuickMgr, QuickState } from './QuickMgr';\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport class QuickLaunch extends cc.Component {\r\n @property(cc.Node) uiRoot: cc.Node = null;\r\n @property(cc.Prefab) loginPrefab: cc.Prefab = null;\r\n\r\n private isLoginShow: boolean = false;\r\n showUINum: number = 0;\r\n\r\n loginNode: cc.Node = null;\r\n loginCpt: QuickLoginCpt = null;\r\n isEnd: boolean = false;\r\n\r\n onLoad(): void {\r\n this.isLoginShow = false;\r\n this.isEnd = false;\r\n const policy = cc.view.getResolutionPolicy();\r\n policy.setContentStrategy(new QuickCustomAdaptation());\r\n const designRes = cc.view.getDesignResolutionSize();\r\n cc.view.setDesignResolutionSize(designRes.width, designRes.height, policy);\r\n // @ts-ignore\r\n cc._widgetManager.refreshWidgetOnResized(this.node);\r\n\r\n const node = cc.instantiate(this.loginPrefab);\r\n this.node.addChild(node);\r\n this.loginNode = node;\r\n this.loginCpt = node.getComponent(QuickLoginCpt);\r\n\r\n this.loadLater();\r\n }\r\n\r\n protected start(): void {\r\n this.loginCpt.loadSpine();\r\n }\r\n\r\n async newPlayer(): Promise {\r\n await QuickMgr.getIns().newPlayer();\r\n }\r\n\r\n showTerms(): void {\r\n const login = cc.assetManager.getBundle('login');\r\n login.load('terms/quickTerms', cc.Prefab, (err: Error, asset: cc.Prefab) => {\r\n if (err) {\r\n cc.error(err);\r\n this.showTerms();\r\n } else {\r\n const node = cc.instantiate(asset);\r\n this.node.addChild(node);\r\n }\r\n });\r\n }\r\n\r\n showTermsV1(): void {\r\n const login = cc.assetManager.getBundle('login');\r\n login.load('terms/quickTermsV1', cc.Prefab, (err: Error, asset: cc.Prefab) => {\r\n if (err) {\r\n cc.error(err);\r\n this.showTermsV1();\r\n } else {\r\n const node = cc.instantiate(asset);\r\n this.node.addChild(node);\r\n }\r\n });\r\n }\r\n\r\n preloadTerms(): void {\r\n cc.assetManager.preloadAny('terms/quickTerms', { __requestType__: 'path', type: cc.Prefab, bundle: 'login', priority: 0, maxConcurrency: cc.assetManager.downloader.maxConcurrency });\r\n }\r\n\r\n preloadTermsV1(): void {\r\n cc.assetManager.preloadAny('terms/quickTermsV1', { __requestType__: 'path', type: cc.Prefab, bundle: 'login', priority: 0, maxConcurrency: cc.assetManager.downloader.maxConcurrency });\r\n }\r\n\r\n async loadLater(): Promise {\r\n this.showUINum = 0;\r\n this.showProgress();\r\n this.newPlayer();\r\n\r\n if (this.isSDK()) {\r\n if (!window.CocosSdk.haveGtm('avqgp8') && !window.CocosSdk.haveGtm('bvqgp8')) {\r\n const param2 = {\r\n event: 'avqgp8',\r\n isCache: true,\r\n };\r\n window.CocosSdk.LogGoogleAnalytics(param2);\r\n }\r\n }\r\n\r\n this.tea({\r\n phase: 'launch',\r\n step: 'quickLogin',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n\r\n if (this.isSDK()) {\r\n const param = {\r\n type: 'adjust',\r\n eventToken: 'avqgp8',\r\n };\r\n window.CocosSdk.logAdjust(param);\r\n }\r\n\r\n this.node.on('loginShow', this.loginShow, this);\r\n this.node.on('beforeLoginShow', this.beforeLoginShow, this);\r\n this.node.on('newPlayerEnd', this.newPlayerEnd, this);\r\n\r\n if (this.isSDK()) {\r\n this.tea({\r\n phase: 'downloadBundle',\r\n step: 'bundleStart',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n\r\n window['CocosResInfo'].bundleStartTime = Date.now();\r\n\r\n window.CocosSdk.firstSladarLog('appGameLoading');\r\n }\r\n\r\n let isBundleFinish = false;\r\n let bundleErrorCnt = 0;\r\n let bundleErrorFlag = false;\r\n do {\r\n await QuickMgr.getIns().loadBundle();\r\n\r\n const main = cc.assetManager.getBundle('main');\r\n const res = cc.assetManager.getBundle('resources');\r\n if (main && res) {\r\n isBundleFinish = true;\r\n QuickMgr.getIns().bundleFinish();\r\n } else {\r\n await QuickMgr.getIns().sleep(0.5);\r\n }\r\n\r\n bundleErrorCnt++;\r\n if (bundleErrorCnt > 3 && !bundleErrorFlag && this.isSDK()) {\r\n bundleErrorFlag = true;\r\n const data = {\r\n level: 'error',\r\n content: 'load quick main bundle',\r\n };\r\n window.CocosSdk.LogSladarlog(data);\r\n }\r\n } while (!isBundleFinish);\r\n\r\n if (bundleErrorFlag && this.isSDK()) {\r\n const data = {\r\n level: 'info',\r\n content: 'load quick main bundle done',\r\n };\r\n window.CocosSdk.LogSladarlog(data);\r\n }\r\n\r\n this.tea({\r\n phase: 'downloadBundle',\r\n step: 'bundleEnd',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n\r\n let findLaunher = null;\r\n let findLaunherCnt = 0;\r\n let findLaunherFlag = false;\r\n do {\r\n findLaunher = cc.js.getClassByName('Launcher');\r\n if (findLaunher) break;\r\n\r\n findLaunherCnt++;\r\n if (findLaunherCnt > 3 && !findLaunherFlag && this.isSDK()) {\r\n findLaunherFlag = true;\r\n const data = {\r\n level: 'error',\r\n content: 'load quick Launcher',\r\n };\r\n window.CocosSdk.LogSladarlog(data);\r\n }\r\n await QuickMgr.getIns().sleep(0.5);\r\n } while (findLaunher == null);\r\n\r\n if (findLaunherFlag && this.isSDK()) {\r\n const data = {\r\n level: 'info',\r\n content: 'load quick Launcher done',\r\n };\r\n window.CocosSdk.LogSladarlog(data);\r\n }\r\n\r\n const mainLauncher = this.addComponent('Launcher');\r\n mainLauncher.uiRootNode = this.uiRoot;\r\n }\r\n\r\n getPrecent(): number {\r\n if (this.isLoginShow) {\r\n return 1;\r\n }\r\n\r\n const state = QuickMgr.getIns().getState();\r\n\r\n if (state === QuickState.loadBundle) {\r\n if (cc['MainBridge']) {\r\n const MainBridge = cc['MainBridge'].getIns();\r\n if (MainBridge) {\r\n const uiProgress = MainBridge.getProgress();\r\n return 0.3 + 0.7 * uiProgress;\r\n }\r\n }\r\n return 0.3;\r\n }\r\n\r\n const main = cc.assetManager.getBundle('main');\r\n if (main) {\r\n return 0.2;\r\n }\r\n const res = cc.assetManager.getBundle('resources');\r\n if (res) {\r\n return 0.1;\r\n }\r\n return 0;\r\n }\r\n\r\n update(dt: number): void {\r\n if (!this.loginNode) return;\r\n const totalNum = this.getPrecent();\r\n let showUiSpeed = dt / 10;\r\n if (CC_PREVIEW) {\r\n showUiSpeed = dt / 4;\r\n }\r\n if (totalNum >= 1) {\r\n this.showUINum = 1;\r\n this.showProgress();\r\n\r\n const MainBridge = cc['MainBridge'].getIns();\r\n if (!MainBridge.isNewPlayerLoading) {\r\n this.endLogin();\r\n }\r\n } else if (this.showUINum >= 0.99) {\r\n this.showUINum = Math.min(this.showUINum, 0.99);\r\n this.showProgress();\r\n } else if (this.showUINum >= totalNum + 0.2) {\r\n //\r\n } else if (this.showUINum >= totalNum) {\r\n this.showUINum += showUiSpeed / 10;\r\n this.showUINum = Math.min(this.showUINum, 0.99);\r\n this.showProgress();\r\n } else if (this.showUINum <= totalNum - 0.1) {\r\n this.showUINum += showUiSpeed * 10;\r\n this.showUINum = Math.min(this.showUINum, totalNum);\r\n this.showUINum = Math.min(this.showUINum, 0.99);\r\n this.showProgress();\r\n } else {\r\n this.showUINum += showUiSpeed;\r\n this.showUINum = Math.min(this.showUINum, 0.99);\r\n this.showProgress();\r\n }\r\n }\r\n\r\n showProgress(): void {\r\n this.loginCpt.progressBar.progress = this.showUINum;\r\n this.loginCpt.precentLabel.string = (this.showUINum * 100).toFixed(1) + '%';\r\n const width = this.loginCpt.progressBar.node.width;\r\n this.loginCpt.spineNode.x = width * (this.showUINum - 0.5);\r\n this.loginCpt.liziNode.x = this.loginCpt.spineNode.x;\r\n }\r\n\r\n beforeLoginShow(): void {\r\n this.isLoginShow = true;\r\n }\r\n\r\n loginShow(): void {\r\n this.isLoginShow = true;\r\n this.node.off('loginShow', this.loginShow, this);\r\n this.node.off('beforeLoginShow', this.beforeLoginShow, this);\r\n }\r\n\r\n newPlayerEnd(): void {\r\n this.endLogin();\r\n }\r\n\r\n endLogin(): void {\r\n if (this.isEnd) return;\r\n this.isEnd = true;\r\n\r\n this.node.off('newPlayerEnd', this.newPlayerEnd, this);\r\n\r\n this.scheduleOnce(() => {\r\n this.loginNode.destroy();\r\n cc.assetManager.releaseAsset(this.loginPrefab);\r\n QuickMgr.getIns().deleteMsg();\r\n this.loginNode = null;\r\n this.loginCpt = null;\r\n this.loginPrefab = null;\r\n this.destroy();\r\n }, 0.1);\r\n }\r\n\r\n tea(param: any): void {\r\n if (!this.isSDK()) return;\r\n window['cocosTeaLog'](param);\r\n }\r\n\r\n isSDK(): boolean {\r\n const cocosUrl = window['cocosUrl'];\r\n if (cocosUrl && cocosUrl.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","export class QuickLoad {\r\n private static instance: QuickLoad;\r\n public static getIns(): QuickLoad {\r\n if (!QuickLoad.instance) {\r\n QuickLoad.instance = new QuickLoad();\r\n }\r\n return QuickLoad.instance;\r\n }\r\n\r\n quickData: any = null;\r\n gameData: any = null;\r\n loginBundle: cc.AssetManager.Bundle = null;\r\n gamePrefabName: string = 'gamePrefab.json';\r\n\r\n isOpen: boolean = true;\r\n _init: boolean = false;\r\n\r\n timeMap: any = {};\r\n\r\n switch(): boolean {\r\n if (CC_PREVIEW) return false;\r\n if (!this._init) {\r\n this._init = true;\r\n const href = window.location.href;\r\n if (href.includes('disableQuickLoad')) {\r\n this.isOpen = false;\r\n }\r\n }\r\n return this.isOpen;\r\n }\r\n\r\n setQuickData(data: any): void {\r\n if (!this.quickData) {\r\n this.quickData = data;\r\n }\r\n }\r\n\r\n setGamePrefabName(str: string): void {\r\n this.gamePrefabName = str;\r\n }\r\n\r\n loadGameData(): void {\r\n if (!this.switch()) return;\r\n\r\n let url = this.gamePrefabName;\r\n if (window['cocosUrl']) {\r\n url = window['cocosUrl'] + url;\r\n }\r\n\r\n cc.assetManager.loadRemote(url, (err: Error, jsonAsset: cc.JsonAsset) => {\r\n if (jsonAsset) {\r\n this.gameData = jsonAsset.json;\r\n cc.assetManager.releaseAsset(jsonAsset);\r\n }\r\n });\r\n }\r\n\r\n load(name: string): void {\r\n if (!this.switch()) return;\r\n if (this.timeMap[name]) {\r\n if (Date.now() - this.timeMap[name] < 10000) {\r\n return;\r\n }\r\n }\r\n this.timeMap[name] = Date.now();\r\n\r\n const ext = cc.path.extname(name);\r\n let baseName = cc.path.mainFileName(name);\r\n baseName = baseName.toLowerCase();\r\n this.loadAll(baseName, ext);\r\n }\r\n\r\n loadAll(baseName: string, ext: string, list: any = {}): void {\r\n const data = this.getRefs(baseName, ext);\r\n if (!data) return;\r\n\r\n data.forEach((v: any) => {\r\n if (list[v[0]]) return;\r\n list[v[0]] = true;\r\n\r\n const assetTypeStr = this.quickData.assetType[v[1]];\r\n const assetType = this.getType(assetTypeStr);\r\n // const bundle = this.findBundle(v[0]);\r\n // if (!bundle) return;\r\n\r\n // cc.assetManager.preloadAny(v[0], {\r\n // __requestType__: 'uuid',\r\n // type: assetType,\r\n // bundle: bundle.name,\r\n // __outputAsArray__: false,\r\n // priority: 0,\r\n // maxConcurrency: cc.assetManager.downloader.maxConcurrency,\r\n // maxRequestsPerFrame: cc.assetManager.downloader.maxRequestsPerFrame,\r\n // });\r\n\r\n if (assetType === cc.SpriteFrame) {\r\n let tex = this.quickData.sf[v[0]];\r\n if (!tex && this.gameData) {\r\n tex = this.gameData.sf[v[0]];\r\n }\r\n\r\n if (!tex) return;\r\n\r\n let texUuid = '';\r\n let texExt = '.png';\r\n if (typeof tex === 'string') {\r\n texUuid = tex;\r\n } else {\r\n texUuid = tex[0];\r\n texExt = tex[1];\r\n }\r\n\r\n if (list[texUuid]) return;\r\n list[texUuid] = true;\r\n\r\n const texBundle = this.findBundle(texUuid);\r\n if (!texBundle) return;\r\n // cc.assetManager.preloadAny(texUuid, {\r\n // __requestType__: 'uuid',\r\n // type: cc.Texture2D,\r\n // bundle: texBundle.name,\r\n // __outputAsArray__: false,\r\n // priority: 0,\r\n // maxConcurrency: cc.assetManager.downloader.maxConcurrency,\r\n // maxRequestsPerFrame: cc.assetManager.downloader.maxRequestsPerFrame,\r\n // });\r\n\r\n cc.assetManager.preloadAny(texUuid, {\r\n __requestType__: 'uuid',\r\n type: cc.Texture2D,\r\n bundle: texBundle.name,\r\n __outputAsArray__: false,\r\n priority: 0,\r\n maxConcurrency: cc.assetManager.downloader.maxConcurrency,\r\n maxRequestsPerFrame: cc.assetManager.downloader.maxRequestsPerFrame,\r\n __isNative__: true,\r\n ext: texExt,\r\n });\r\n } else if (assetType === cc.Prefab && ext === '.fire') {\r\n let prefab = this.quickData.uuidToName[v[0]];\r\n if (!prefab && this.gameData) {\r\n prefab = this.gameData.uuidToName[v[0]];\r\n }\r\n if (!prefab) return;\r\n this.loadAll(prefab, '.prefab', list);\r\n }\r\n });\r\n }\r\n\r\n private getRefs(baseName: any, ext: any): [] {\r\n if (!this.quickData) return null;\r\n\r\n let data = null;\r\n if (ext === '.fire') {\r\n data = this.quickData.nameToRefs.scene[baseName];\r\n } else {\r\n data = this.quickData.nameToRefs.prefab[baseName];\r\n if (!data && this.gameData) {\r\n data = this.gameData.nameToRefs.prefab[baseName];\r\n }\r\n }\r\n\r\n return data;\r\n }\r\n\r\n getType(assetName: string): typeof cc.Asset {\r\n if (assetName === 'sprite-frame') {\r\n return cc.SpriteFrame;\r\n } else if (assetName === 'ttf-font') {\r\n return cc.TTFFont;\r\n } else if (assetName === 'material') {\r\n return cc.Material;\r\n } else if (assetName === 'prefab') {\r\n return cc.Prefab;\r\n } else if (assetName === 'bitmap-font') {\r\n return cc.BitmapFont;\r\n } else if (assetName === 'animation-clip') {\r\n return cc.AnimationClip;\r\n } else if (assetName === 'sprite-atlas') {\r\n return cc.SpriteAtlas;\r\n } else if (assetName === 'spine') {\r\n return sp.SkeletonData;\r\n }\r\n return null;\r\n }\r\n\r\n findBundle(uuid: string): cc.AssetManager.Bundle {\r\n const dUuid = cc.assetManager.utils.decodeUuid(uuid);\r\n if (!this.loginBundle) {\r\n this.loginBundle = cc.assetManager.bundles.get('login');\r\n }\r\n if (this.loginBundle.getAssetInfo(dUuid)) {\r\n return this.loginBundle;\r\n }\r\n if (CC_PREVIEW) {\r\n return cc.resources;\r\n } else {\r\n if (cc.resources && cc.resources.getAssetInfo(dUuid)) {\r\n return cc.resources;\r\n }\r\n return null;\r\n }\r\n }\r\n\r\n async test(isQuick: boolean = false, len: number = 0): Promise {\r\n const arr = Object.keys(this.gameData.nameToRefs.prefab);\r\n if (len <= 0) {\r\n len = arr.length;\r\n }\r\n for (let index = 0; index < len; index++) {\r\n const element = arr[index];\r\n\r\n await this.testLoad(element + '.prefab', isQuick);\r\n }\r\n }\r\n\r\n testLoad(name: string, isQuick: boolean = false): Promise {\r\n return new Promise((resovle: any) => {\r\n const time = Date.now();\r\n cc.assetManager.loadAny(\r\n cc.path.mainFileName(name.toLowerCase()),\r\n {\r\n __requestType__: 'name',\r\n type: cc.Prefab,\r\n bundle: 'resources',\r\n __outputAsArray__: false,\r\n priority: 0,\r\n maxConcurrency: cc.assetManager.downloader.maxConcurrency,\r\n maxRequestsPerFrame: cc.assetManager.downloader.maxRequestsPerFrame,\r\n },\r\n (err: Error, asset: cc.Asset) => {\r\n if (asset) {\r\n cc.assetManager.releaseAsset(asset);\r\n }\r\n console.log('@@ ', name, Date.now() - time);\r\n setTimeout(() => {\r\n resovle();\r\n }, 100);\r\n }\r\n );\r\n\r\n // isQuick && this.load(name);\r\n if (isQuick) {\r\n setTimeout(() => {\r\n this.load(name);\r\n }, 0);\r\n }\r\n });\r\n }\r\n}\r\n\r\n// @ts-ignore\r\nwindow.cocosSetQuickData = function (json: any): void {\r\n QuickLoad.getIns().setQuickData(json);\r\n};\r\n// @ts-ignore\r\nwindow.cocosLoadGameData = function (): void {\r\n QuickLoad.getIns().loadGameData();\r\n};\r\n// @ts-ignore\r\nwindow.cocosLoadQuick = function (name: string): void {\r\n setTimeout(() => {\r\n QuickLoad.getIns().load(name);\r\n }, 0);\r\n};\r\n\r\n// @ts-ignore\r\nwindow.cocosSetGamePrefabName = function (name: string): void {\r\n QuickLoad.getIns().setGamePrefabName(name);\r\n};\r\n\r\n// @ts-ignore\r\nwindow.cocosQuickTest = function (isQuick: boolean, len: number = 0): void {\r\n QuickLoad.getIns().test(isQuick, len);\r\n};\r\n","// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport class QuickLoginCpt extends cc.Component {\r\n @property(cc.ProgressBar) progressBar: cc.ProgressBar = null;\r\n @property(cc.Label) precentLabel: cc.Label = null;\r\n @property(cc.Node) spineNode: cc.Node = null;\r\n @property(cc.Node) liziNode: cc.Node = null;\r\n @property(cc.Node) dmmNode: cc.Node = null;\r\n\r\n private spineData: sp.SkeletonData = null;\r\n\r\n onLoad(): void {\r\n if (this.dmmNode) {\r\n this.dmmNode.active = this.isDmm();\r\n }\r\n }\r\n\r\n isDmm(): boolean {\r\n if (window['HCSJ_H5_GetChannel']) {\r\n // eslint-disable-next-line new-cap\r\n const data = window['HCSJ_H5_GetChannel']();\r\n if (data && data.channel === 'DMM') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n loadSpine(): void {\r\n const node = this.spineNode;\r\n const login = cc.assetManager.getBundle('login');\r\n login.load('H5_loadingmoushi01/Battle_moushi', sp.SkeletonData, (err: Error, asset: sp.SkeletonData) => {\r\n if (err) {\r\n if (this.isSDK()) {\r\n const data = {\r\n level: 'info',\r\n content: 'load quick spine err' + err.message,\r\n };\r\n window.CocosSdk.LogSladarlog(data);\r\n }\r\n } else {\r\n if (cc.isValid(node)) {\r\n const spine = node.getComponent(sp.Skeleton);\r\n spine.skeletonData = asset;\r\n this.spineData = asset;\r\n spine.setAnimation(0, 'walk1', true);\r\n } else {\r\n cc.assetManager.releaseAsset(asset);\r\n }\r\n }\r\n });\r\n }\r\n\r\n onDestroy(): void {\r\n if (this.spineData) {\r\n cc.assetManager.releaseAsset(this.spineData);\r\n this.spineData = null;\r\n }\r\n }\r\n\r\n isSDK(): boolean {\r\n const cocosUrl = window['cocosUrl'];\r\n if (cocosUrl && cocosUrl.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","const { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport class QuickMsg extends cc.Component {\r\n @property(cc.Label) label: cc.Label = null;\r\n @property(cc.Animation) ani: cc.Animation = null;\r\n handler: number;\r\n\r\n setMsg(msg: string): void {\r\n this.label.string = msg;\r\n this.ani.play('quickInAni');\r\n\r\n if (this.handler) {\r\n clearTimeout(this.handler);\r\n }\r\n\r\n this.handler = setTimeout(() => {\r\n this.ani.play('quickEndAni');\r\n this.handler = undefined;\r\n }, 1000);\r\n }\r\n}\r\n","// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst { ccclass } = cc._decorator;\r\n\r\n@ccclass\r\nexport class QuickTermsEvent extends cc.Component {\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n // onLoad () {}\r\n private clickHandler(e: any, param: string): void {\r\n let termsUrl = 'https://snh5-policy.ttagj.com/termsService';\r\n\r\n if (param === '@privacyPolicy_url') {\r\n termsUrl = 'https://snh5-policy.ttagj.com/privacyPolicy';\r\n }\r\n\r\n cc.sys.openURL(termsUrl);\r\n this.tea({\r\n phase: 'Terms',\r\n step: 'openURl',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n }\r\n\r\n tea(param: any): void {\r\n if (!this.isSDK()) return;\r\n window['cocosTeaLog'](param);\r\n }\r\n\r\n isSDK(): boolean {\r\n const cocosUrl = window['cocosUrl'];\r\n if (cocosUrl && cocosUrl.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport default class QuickTermsV1 extends cc.Component {\r\n termsUrl: string;\r\n\r\n onLoad(): void {\r\n this.termsUrl = 'https://snh5-policy.ttagj.com/termsService';\r\n\r\n this.tea({\r\n phase: 'Terms',\r\n step: 'show',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n\r\n this.adjust('yo24gf');\r\n this.ga('yo24gf');\r\n }\r\n\r\n private clickHandler(): void {\r\n cc.sys.openURL(this.termsUrl);\r\n this.tea({\r\n phase: 'Terms',\r\n step: 'openURl',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n }\r\n\r\n private confirm(): void {\r\n this.node.destroy();\r\n window.cocosQuickStep = 4;\r\n\r\n this.tea({\r\n phase: 'Terms',\r\n step: 'confirm',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n\r\n // this.tea({\r\n // phase: 'Terms',\r\n // step: 'close',\r\n // is_success: 1,\r\n // msg: '',\r\n // duration: 0,\r\n // });\r\n\r\n this.adjust('fe9e2s');\r\n\r\n if (this.isSDK()) {\r\n const param3: any = {\r\n event: 'o96gb',\r\n isCache: true,\r\n };\r\n // @ts-ignore\r\n window.CocosSdk.LogTwitterReport(param3);\r\n }\r\n }\r\n\r\n tea(param: any): void {\r\n if (!this.isSDK()) return;\r\n window['cocosTeaLog'](param);\r\n }\r\n\r\n isSDK(): boolean {\r\n const cocosUrl = window['cocosUrl'];\r\n if (cocosUrl && cocosUrl.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n adjust(msg: string): void {\r\n if (this.isSDK()) {\r\n const param: any = {\r\n type: 'adjust',\r\n eventToken: msg,\r\n };\r\n // @ts-ignore\r\n window.CocosSdk.logAdjust(param);\r\n }\r\n }\r\n\r\n ga(msg: string): void {\r\n if (this.isSDK()) {\r\n const param2: any = {\r\n event: msg,\r\n isCache: true,\r\n };\r\n // @ts-ignore\r\n window.CocosSdk.LogGoogleAnalytics(param2);\r\n }\r\n }\r\n}\r\n","// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nimport { QuickMgr } from './QuickMgr';\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport default class QuickTerms extends cc.Component {\r\n @property(cc.Node) page1: cc.Node = null;\r\n @property(cc.Node) page2: cc.Node = null;\r\n\r\n isCloseReport: boolean = false;\r\n\r\n protected onLoad(): void {\r\n this.tea({\r\n phase: 'Terms',\r\n step: 'show',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n\r\n this.adjust('yo24gf');\r\n this.ga('yo24gf');\r\n\r\n this.showPage1();\r\n }\r\n\r\n private termsService(): void {\r\n const termsUrl = 'https://snh5-policy.ttagj.com/termsService';\r\n this.openTermsUrl(termsUrl);\r\n }\r\n\r\n private privacyPolicy(): void {\r\n const termsUrl = 'https://snh5-policy.ttagj.com/privacyPolicy';\r\n this.openTermsUrl(termsUrl);\r\n }\r\n\r\n private openTermsUrl(termsUrl: string): void {\r\n cc.sys.openURL(termsUrl);\r\n this.tea({\r\n phase: 'Terms',\r\n step: 'openURl',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n }\r\n\r\n onNo(): void {\r\n this.showPage2();\r\n if (!this.isCloseReport) {\r\n this.isCloseReport = true;\r\n this.tea({\r\n phase: 'Terms',\r\n step: 'close',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n }\r\n }\r\n\r\n onBack(): void {\r\n this.showPage1();\r\n }\r\n\r\n showPage1(): void {\r\n this.page1.active = true;\r\n this.page2.active = false;\r\n }\r\n showPage2(): void {\r\n this.page1.active = false;\r\n this.page2.active = true;\r\n }\r\n\r\n private confirm(): void {\r\n this.node.destroy();\r\n window.cocosQuickStep = 4;\r\n\r\n this.tea({\r\n phase: 'Terms',\r\n step: 'confirm',\r\n is_success: 1,\r\n msg: '',\r\n duration: 0,\r\n });\r\n\r\n this.adjust('fe9e2s');\r\n\r\n this.ga('terms_confirm');\r\n\r\n if (this.isSDK()) {\r\n const param3: any = {\r\n event: 'o96gb',\r\n isCache: true,\r\n };\r\n window.CocosSdk.LogTwitterReport(param3);\r\n }\r\n }\r\n\r\n tea(param: any): void {\r\n if (!this.isSDK()) return;\r\n window['cocosTeaLog'](param);\r\n }\r\n\r\n isSDK(): boolean {\r\n const cocosUrl = window['cocosUrl'];\r\n if (cocosUrl && cocosUrl.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n adjust(msg: string): void {\r\n if (this.isSDK()) {\r\n const param: any = {\r\n type: 'adjust',\r\n eventToken: msg,\r\n };\r\n // @ts-ignore\r\n window.CocosSdk.logAdjust(param);\r\n }\r\n }\r\n\r\n ga(msg: string): void {\r\n if (this.isSDK()) {\r\n const param2: any = {\r\n event: msg,\r\n isCache: true,\r\n };\r\n // @ts-ignore\r\n window.CocosSdk.LogGoogleAnalytics(param2);\r\n }\r\n }\r\n}\r\n"],"file":"index.js"}