df90e8b17c5d4694eb4d07f09a02a7fe37c51818 104 KB

123456
  1. {
  2. "code": "export const BANNER_TYPE = {\r\n MATRIX: 1,\r\n WX: 2,\r\n GAME: 3,\r\n SWITCH: 4\r\n};\r\nexport const ScrollTween_Type = {\r\n Type_Zero: 0,\r\n Type_One: 1\r\n};\r\nexport const NAME_HIDE_KEY = {\r\n BottomBanner_CloseBtn: '_bottomBannerCloseBtnHide',\r\n BottomBanner_Name: '_bottomBannerNameHide',\r\n MoreGame_Name: '_moreGameNameHide',\r\n SlideWindow_Name: '_slideWindowNameHide',\r\n FullScreen_Name: '_fullScrennNameHide',\r\n SmallWall_Name: '_smallWallNameHide',\r\n MainPush_Name: '_mainPushNameHide'\r\n};\r\nexport const FULL_SCREEN_TYEP = {\r\n TYPE_FULL_MATRIX: 1,\r\n TYPE_RECENTLY_USED: 2,\r\n TYPE_FULL_MIXBANNER: 3\r\n};\r\nexport const UI_ZORDER = {\r\n UI_ZORDER_ONE: 1000,\r\n UI_ZORDER_TWO: 999,\r\n UI_ZORDER_THREE: 998\r\n};\r\nconst PHONE_TYPE = {\r\n ANDROID: 2,\r\n IOS: 3\r\n};\r\nconst PAGE_STATUS = {\r\n CLOSE: 0,\r\n OPEN: 1,\r\n AUDIT: 2,\r\n BUY: 3\r\n};\r\nexport const BI_PAGE_TYPE = {\r\n MAIN: 1,\r\n FLOAT: 2,\r\n MATRIX: 3,\r\n GUESS: 4,\r\n MORE: 5,\r\n GAME: 6,\r\n OFFLINE: 7,\r\n BUY_Screen: 8,\r\n BUY_BOX: 9,\r\n SMALL_MATRIX_WALL: 10,\r\n FULL_MATRIX_SCRENN: 11,\r\n INVITE_FRIEND_PLAYGAME: 12,\r\n CUSTOM_COMPONENT: 9999\r\n};\r\nconst PAGE_TYPE = {\r\n BANNER: 1,\r\n ITEMLIST: 2,\r\n HOT: 3,\r\n MAIN: 4,\r\n PAGE: 5,\r\n OFFLINE: 6,\r\n BUY: 7,\r\n MORE: 8,\r\n MATRIX_BANNER: 9,\r\n FULL_MATRIX_SCREEN: 10,\r\n INVITE_FRIEND_PLAYGAME: 11\r\n};\r\nconst PLAT_TYPE_CHANNELID = {\r\n Test: 1002,\r\n WeChat: 1002,\r\n OppoMiniGame: 8001,\r\n TouTiao: 11001\r\n};\r\nexport const YOUZI_UI_ID = {\r\n Youzi_BottomBanner: 1,\r\n Youzi_GameBanner: 2,\r\n Youzi_GuessLike: 3,\r\n Youzi_MainPush: 4,\r\n Youzi_MoreGame: 5,\r\n Youzi_OffLine: 6,\r\n Youzi_SlideWindow: 7,\r\n Youzi_SmallWall: 8,\r\n Youzi_Full: 9,\r\n Youzi_FriendInviteGame: 10\r\n};\r\nexport var YouziData = {\r\n SdkVersion: 'Laya2.0-v6.7.1.3',\r\n resVersion: '1.00.00',\r\n debug: false,\r\n appid: '',\r\n channelId: 1002,\r\n bannnerDatas: [],\r\n itemListDatas: [],\r\n hotListDatas: [],\r\n moreDatas: [],\r\n matrixBannerDatas: [],\r\n fullMatrixScreenDatas: [],\r\n mainRecDatas: [],\r\n buyListDatas: [],\r\n gameBannerDatas: [],\r\n offlineBannerDatas: [],\r\n friendInviteGameDatas: [],\r\n allBeRecommendGames: {},\r\n toutiaoMoreGames: [],\r\n clickGameYouziUIId: 0,\r\n _userinfo: {\r\n uid: '',\r\n gender: 0,\r\n type: 1\r\n },\r\n _platform: 1,\r\n _isDataLoaded: false,\r\n _isLoadFinish: false,\r\n _requestErrorCbs: [],\r\n _loadedCallBacks: [],\r\n _bannerType: BANNER_TYPE.MATRIX,\r\n _fullScreenType: 0,\r\n _banerShowSwitchInterval: 10,\r\n _bannerCreateInterval: 20,\r\n _pageOpen: PAGE_STATUS.OPEN,\r\n _bannerSwitchs: [],\r\n _provinceAllow: 1,\r\n _mainRecAmount: 1,\r\n _bottomBannerScrollType: ScrollTween_Type.Type_Zero,\r\n _bottomBannerCloseBtnHide: true,\r\n _bottomBannerNameHide: false,\r\n _moreGameNameHide: false,\r\n _slideWindowNameHide: false,\r\n _fullScrennNameHide: false,\r\n _smallWallNameHide: false,\r\n _mainPushNameHide: false,\r\n _mainPushScale: 1.2,\r\n _gameIndexArrLength: 1,\r\n _gameIndexArr: [],\r\n isInit: false,\r\n logObj: {},\r\n logCount: 0,\r\n openFullScreenNavigate: false,\r\n createGamePageCall: null,\r\n gamePageCloseCall: null,\r\n navigateToMiniCall: null,\r\n aspectRatio: 0,\r\n fromId: 8,\r\n sourceChannelId: 0,\r\n init(appid, resVersion, miniGamePlatType) {\r\n if (this.isInit)\r\n return;\r\n if (Laya.Browser.onIOS) {\r\n this._platform = PHONE_TYPE.IOS;\r\n }\r\n else if (Laya.Browser.onAndroid) {\r\n this._platform = PHONE_TYPE.ANDROID;\r\n }\r\n console.log('中心化初始化 SdkVersion', this.SdkVersion, appid, resVersion, miniGamePlatType);\r\n this.isInit = true;\r\n this.appid = appid || '';\r\n this.resVersion = resVersion || '1.00.00';\r\n this.channelId = miniGamePlatType;\r\n this._loadUid();\r\n setInterval(() => {\r\n if (this.logCount > 0 && this.logCount < 15) {\r\n this.exposureLogMerge();\r\n }\r\n }, 10000);\r\n this._loadData(this._initBannerShow.bind(this));\r\n this.initLaunch();\r\n this.openGameInitLog();\r\n },\r\n initLaunch() {\r\n if (this.channelId == PLAT_TYPE_CHANNELID.WeChat || this.channelId == PLAT_TYPE_CHANNELID.TouTiao) {\r\n this._wxLaunch();\r\n }\r\n else if (this.channelId === PLAT_TYPE_CHANNELID.OppoMiniGame) {\r\n this.oppoLaunch();\r\n }\r\n },\r\n _wxLaunch() {\r\n if (!Laya.Browser.window.wx) {\r\n return;\r\n }\r\n else if (!Laya.Browser.window.wx.getLaunchOptionsSync) {\r\n return;\r\n }\r\n this._wxUserCloudStorage();\r\n var self = this;\r\n let wxLaunchOptions = Laya.Browser.window.wx.getLaunchOptionsSync();\r\n this.checkUserIsImported(wxLaunchOptions);\r\n this.checkFromId(wxLaunchOptions);\r\n if (wxLaunchOptions.referrerInfo\r\n && wxLaunchOptions.referrerInfo.appId\r\n && wxLaunchOptions.referrerInfo.extraData\r\n && wxLaunchOptions.referrerInfo.extraData.boxAppid\r\n && wxLaunchOptions.referrerInfo.extraData.orgAppid) {\r\n this.sendJumpToOpen(wxLaunchOptions.referrerInfo.extraData.orgAppid, wxLaunchOptions.referrerInfo.extraData.boxAppid, wxLaunchOptions.referrerInfo.extraData.locationIndex ? wxLaunchOptions.referrerInfo.extraData.locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT);\r\n }\r\n Laya.Browser.window.wx.onShow(function (res) {\r\n self._wxOnShow(res);\r\n });\r\n },\r\n _wxUserCloudStorage() {\r\n Laya.Browser.window.wx.setUserCloudStorage({\r\n KVDataList: [{ key: \"GameleyYouzi\", value: this._userinfo.uid }],\r\n success: function () {\r\n console.log('GameleyYouzi success');\r\n },\r\n fail: function () {\r\n console.log('GameleyYouzi fail');\r\n }\r\n });\r\n },\r\n _wxOnShow(wxOnShowRes) {\r\n console.log('wx onShow--------------');\r\n this.checkUserIsImported(wxOnShowRes);\r\n if (wxOnShowRes.referrerInfo\r\n && wxOnShowRes.referrerInfo.extraData\r\n && wxOnShowRes.referrerInfo.extraData.boxAppid\r\n && wxOnShowRes.referrerInfo.extraData.orgAppid) {\r\n this.sendJumpToOpen(wxOnShowRes.referrerInfo.extraData.orgAppid, wxOnShowRes.referrerInfo.extraData.boxAppid, wxOnShowRes.referrerInfo.extraData.locationIndex ? wxOnShowRes.referrerInfo.extraData.locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT);\r\n }\r\n },\r\n oppoLaunch() {\r\n if (Laya.Browser.window.qg) {\r\n if (Laya.Browser.window.qg.getLaunchOptionsSync) {\r\n let oppoLaunchInfo = Laya.Browser.window.qg.getLaunchOptionsSync();\r\n this.checkUserIsImported(oppoLaunchInfo);\r\n this.checkFromId(oppoLaunchInfo);\r\n if (oppoLaunchInfo.referrerInfo && oppoLaunchInfo.referrerInfo.extraData) {\r\n if (oppoLaunchInfo.referrerInfo.extraData.orgAppid) {\r\n this.sendJumpToOpen(oppoLaunchInfo.referrerInfo.extraData.orgAppid, oppoLaunchInfo.referrerInfo.extraData.boxAppid, oppoLaunchInfo.referrerInfo.extraData.locationIndex ? oppoLaunchInfo.referrerInfo.extraData.locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT);\r\n }\r\n }\r\n }\r\n }\r\n },\r\n checkUserIsImported(res) {\r\n if ((res.referrerInfo && res.referrerInfo.adChannelId && res.referrerInfo.adSubChannelId) ||\r\n (res.query && res.query.adChannelId && res.query.adSubChannelId)) {\r\n this._userinfo.type = 2;\r\n }\r\n if ((res.referrerInfo && res.referrerInfo.leuokShareIn) ||\r\n (res.query && res.query.leuokShareIn)) {\r\n this._userinfo.type = 3;\r\n }\r\n var isNeedSaveUID = false;\r\n let hasExtraData = res.referrerInfo && res.referrerInfo.extraData;\r\n if (hasExtraData) {\r\n if (res.referrerInfo.extraData.YouziFixUID && res.referrerInfo.extraData.YouziFixUID.trim().length > 0) {\r\n isNeedSaveUID = true;\r\n this._userinfo.uid = res.referrerInfo.extraData.YouziFixUID;\r\n }\r\n else if (res.referrerInfo.extraData.YouziUID && res.referrerInfo.extraData.YouziUID.trim().length > 0) {\r\n isNeedSaveUID = true;\r\n this._userinfo.uid = res.referrerInfo.extraData.YouziUID;\r\n }\r\n }\r\n if (res.query && res.query.extraData && res.query.extraData.YouziUID) {\r\n isNeedSaveUID = true;\r\n this._userinfo.uid = res.query.YouziUID;\r\n }\r\n if (isNeedSaveUID) {\r\n localStorage.setItem('YOUZI_UID', this._userinfo.uid);\r\n }\r\n },\r\n checkFromId(launch) {\r\n let allFromId = {\r\n \"1\": 0,\r\n \"2\": 0,\r\n \"3\": 0,\r\n \"4\": 0,\r\n };\r\n if (launch.hasOwnProperty(\"scene\")) {\r\n let launchScene = launch.scene;\r\n switch (launchScene) {\r\n case 1047:\r\n case 1048:\r\n case 1049:\r\n allFromId['1'] = 7;\r\n break;\r\n case 1042:\r\n case 1053:\r\n case 1005:\r\n case 1054:\r\n allFromId['1'] = 6;\r\n break;\r\n case 1073:\r\n case 1074:\r\n case 1081:\r\n case 1082:\r\n case 1088:\r\n case 1096:\r\n case 1107:\r\n case 1007:\r\n case 1008:\r\n case 1014:\r\n case 1036:\r\n case 1043:\r\n case 1044:\r\n allFromId['1'] = 5;\r\n break;\r\n case 1001:\r\n case 1006:\r\n case 1037:\r\n case 1038:\r\n case 1064:\r\n case 1077:\r\n case 1078:\r\n case 1079:\r\n case 1084:\r\n case 1089:\r\n case 1090:\r\n case 1095:\r\n case 1102:\r\n case 1103:\r\n case 1104:\r\n case 1106:\r\n case 1114:\r\n case 1113:\r\n case 1131:\r\n case 1135:\r\n case 1022:\r\n case 1023:\r\n case 1024:\r\n case 1026:\r\n case 1027:\r\n case 1035:\r\n case 1067:\r\n allFromId[\"1\"] = 1;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n let launchExtraData = null;\r\n if (launch.referrerInfo && launch.referrerInfo.extraData) {\r\n launchExtraData = launch.referrerInfo.extraData;\r\n }\r\n let launchQuery = null;\r\n if (launch.query) {\r\n launchQuery = launch.query;\r\n }\r\n if (launchExtraData) {\r\n if (launchExtraData.YouziFixUID || launchExtraData.YouziUID) {\r\n allFromId['2'] = 2;\r\n }\r\n if (launchExtraData.anChannelId || launchExtraData.ioChannelId) {\r\n allFromId['3'] = 3;\r\n this.sourceChannelId = launchExtraData.anChannelId || launchExtraData.ioChannelId;\r\n }\r\n }\r\n if (launchQuery) {\r\n if (launchQuery.anChannelId || launchQuery.ioChannelId) {\r\n allFromId['3'] = 3;\r\n this.sourceChannelId = launchQuery.anChannelId || launchQuery.ioChannelId;\r\n }\r\n }\r\n if (this._userinfo.type == 2) {\r\n allFromId['4'] = 4;\r\n }\r\n this.chooseOnlyFromId(allFromId);\r\n console.log('-------->来源ID:', this.fromId);\r\n },\r\n chooseOnlyFromId(allFromId) {\r\n if (allFromId['4'] != 0) {\r\n this.fromId = 4;\r\n return;\r\n }\r\n else if (allFromId['2'] != 0) {\r\n this.fromId = 2;\r\n return;\r\n }\r\n else if (allFromId['3'] != 0) {\r\n this.fromId = 3;\r\n return;\r\n }\r\n else if (allFromId['1'] != 0) {\r\n this.fromId = allFromId['1'];\r\n return;\r\n }\r\n else {\r\n this.fromId = 8;\r\n }\r\n },\r\n _loadData(cb) {\r\n if (this.channelId == PLAT_TYPE_CHANNELID.TouTiao) {\r\n let systemInfoToutiao = Laya.Browser.window.tt.getSystemInfoSync();\r\n if (this.compareToutiaoVersion(systemInfoToutiao.SDKVersion, '1.33.0') < 0 || Laya.Browser.onIOS) {\r\n return;\r\n }\r\n }\r\n var self = this;\r\n let reqData = {\r\n \"appid\": self.appid,\r\n \"channelId\": self.channelId,\r\n \"languageType\": 1,\r\n \"uid\": self._userinfo.uid,\r\n \"version\": self.resVersion\r\n };\r\n let errCb = function () {\r\n console.log('中心化数据异常');\r\n self._isLoadFinish = false;\r\n self._isDataLoaded = false;\r\n for (let i = 0; i < self._requestErrorCbs.length; i++) {\r\n const callback = self._requestErrorCbs[i];\r\n if (callback)\r\n callback();\r\n }\r\n };\r\n var cb2 = function (res) {\r\n let clone = JSON.parse(JSON.stringify(res));\r\n console.log('中心化数据OK', clone);\r\n if (res && res.info && res.info.swith && res.info.swith == 1) {\r\n self._bottomBannerCloseBtnHide = self.jsonHasKey(res.info, 'bottomBannerCloseBtnHide') ? res.info.bottomBannerCloseBtnHide : self._bottomBannerCloseBtnHide;\r\n self._bottomBannerNameHide = self.jsonHasKey(res.info, 'bottomBannerNameHide') ? res.info.bottomBannerNameHide : self._bottomBannerNameHide;\r\n self._mainPushNameHide = self.jsonHasKey(res.info, 'mainPushNameHide') ? res.info.mainPushNameHide : self._mainPushNameHide;\r\n self._mainRecAmount = self.jsonHasKey(res.info, 'mainRecAmount') ? res.info.mainRecAmount : 3;\r\n self._fullScreenType = self.jsonHasKey(res.info, 'screenType') ? res.info.screenType : 0;\r\n self._bottomBannerScrollType = self.jsonHasKey(res.info, 'bottomBannerScrollType') ? res.info.bottomBannerScrollType : ScrollTween_Type.Type_Zero;\r\n self._mainPushScale = self.jsonHasKey(res.info, 'mainPushScale') > 0 ? res.info.mainPushScale : 1.2;\r\n self._moreGameNameHide = self.jsonHasKey(res.info, 'moreGameNameHide') ? res.info.moreGameNameHide : self._moreGameNameHide;\r\n self._slideWindowNameHide = self.jsonHasKey(res.info, 'slideWindowNameHide') ? res.info.slideWindowNameHide : self._slideWindowNameHide;\r\n self._fullScrennNameHide = self.jsonHasKey(res.info, 'fullScrennNameHide') ? res.info.fullScrennNameHide : self._fullScrennNameHide;\r\n self._smallWallNameHide = self.jsonHasKey(res.info, 'smallWallNameHide') ? res.info.smallWallNameHide : self._smallWallNameHide;\r\n self._pageOpen = res.info.status;\r\n self._bannerType = res.info.bannerSwith;\r\n self._banerShowSwitchInterval = res.info.bannerAutoInterval;\r\n self._bannerCreateInterval = res.info.wxBannerRefresh;\r\n self._provinceAllow = res.info.provinceAllow;\r\n let weight = function (a, b) { return b.weight - a.weight; };\r\n let clear = function (list) {\r\n list = list.sort(weight);\r\n list = self._clearArrIndex(list);\r\n list = self._removeItemByTestPeriod(list);\r\n return list;\r\n };\r\n for (let i = 0; i < res.info.recommendListBos.length; i++) {\r\n var data = res.info.recommendListBos[i];\r\n data.contentBos.forEach(item => {\r\n if (!self.allBeRecommendGames.hasOwnProperty.call({}, item.appid)) {\r\n self.allBeRecommendGames[item.appid] = Object.assign({}, item);\r\n }\r\n });\r\n console.log('allBeRecommendGames:' + self.allBeRecommendGames);\r\n switch (data.type) {\r\n case PAGE_TYPE.BANNER:\r\n self.bannnerDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.ITEMLIST:\r\n self.itemListDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.HOT:\r\n self.hotListDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.MORE:\r\n self.moreDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.MATRIX_BANNER:\r\n self.matrixBannerDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.MAIN:\r\n self.mainRecDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.PAGE:\r\n self.gameBannerDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.OFFLINE:\r\n self.offlineBannerDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.BUY:\r\n self.buyListDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.FULL_MATRIX_SCREEN:\r\n self.fullMatrixScreenDatas = clear(data.contentBos);\r\n break;\r\n case PAGE_TYPE.INVITE_FRIEND_PLAYGAME:\r\n self.friendInviteGameDatas = clear(data.contentBos);\r\n break;\r\n default:\r\n console.log('无此中心化数据类型', data.type);\r\n break;\r\n }\r\n }\r\n }\r\n if (self.channelId == PLAT_TYPE_CHANNELID.TouTiao) {\r\n self.setTouTiaoMoreGames(self.moreDatas);\r\n }\r\n self._isDataLoaded = true;\r\n self._isLoadFinish = true;\r\n if (cb)\r\n cb(res);\r\n for (let i = 0; i < self._loadedCallBacks.length; i++) {\r\n const callback = self._loadedCallBacks[i];\r\n if (callback)\r\n callback();\r\n }\r\n if (self._bannerType == BANNER_TYPE.SWITCH) {\r\n self.refreshBannerSwitch();\r\n setInterval(self.refreshBannerSwitch.bind(self), self._banerShowSwitchInterval * 1000);\r\n }\r\n };\r\n if (self.channelId == PLAT_TYPE_CHANNELID.WeChat) {\r\n console.log('userInfo 调用开始');\r\n self._getWxUserInfo(function () {\r\n console.log('请求开始');\r\n self._request('POST', reqData, self._url(), cb2, errCb);\r\n });\r\n }\r\n else {\r\n self._request('POST', reqData, self._url(), cb2, errCb);\r\n }\r\n },\r\n _clearArrIndex(dataArray) {\r\n let arr1 = [];\r\n for (let i = 0; i < dataArray.length; i++) {\r\n const data = dataArray[i];\r\n if (this._pushData(data.hide)) {\r\n arr1.push(data);\r\n }\r\n }\r\n let arr2 = [];\r\n for (let i = 0; i < arr1.length; i++) {\r\n const data = arr1[i];\r\n if (this._pushDataBySexual(data.gender)) {\r\n arr2.push(data);\r\n }\r\n }\r\n return arr2;\r\n },\r\n _request(methon, data, url, cb, errCb) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState == 4) {\r\n if (xhr.status >= 200 && xhr.status < 400) {\r\n if (xhr.responseText != '') {\r\n var res = JSON.parse(xhr.responseText);\r\n if (cb) {\r\n cb(res);\r\n }\r\n }\r\n else {\r\n if (cb) {\r\n cb({});\r\n }\r\n }\r\n }\r\n else {\r\n if (errCb) {\r\n errCb();\r\n }\r\n }\r\n }\r\n };\r\n xhr.open(methon, url, true);\r\n xhr.setRequestHeader('content-type', 'application/json');\r\n xhr.send(JSON.stringify(data));\r\n },\r\n _loadUid() {\r\n try {\r\n let gen = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n };\r\n let uid = localStorage.getItem('YOUZI_UID');\r\n if (uid && uid.trim().length > 0) {\r\n this._userinfo.uid = uid;\r\n }\r\n else {\r\n this._userinfo.uid = gen();\r\n localStorage.setItem('YOUZI_UID', this._userinfo.uid);\r\n }\r\n }\r\n catch (error) {\r\n this._userinfo.uid = '10001';\r\n }\r\n },\r\n _removeItemByTestPeriod(list) {\r\n for (var i = 0; i < list.length; i++) {\r\n var tmp = list[i];\r\n if ((tmp.testPeriod == 1 || tmp.testPeriod == 3) && tmp.showLimit == 0) {\r\n var navigatedMark = localStorage.getItem(tmp.appid);\r\n if (navigatedMark && navigatedMark == 'navigated') {\r\n continue;\r\n }\r\n else {\r\n list.splice(i, 1);\r\n i--;\r\n }\r\n }\r\n else if (tmp.testPeriod == 2) {\r\n var cpacpsMark = localStorage.getItem(tmp.appid);\r\n if (cpacpsMark && cpacpsMark == 'CPACPS') {\r\n list.splice(i, 1);\r\n i--;\r\n }\r\n }\r\n }\r\n return list;\r\n },\r\n _url() {\r\n return this.debug ? 'https://test.gw.leuok.com/gl-ms-mini-recommend/recommend/show' : 'https://gw.lightlygame.com/gl-ms-mini-recommend/recommend/show';\r\n },\r\n _pushData(hideType) {\r\n let push = false;\r\n switch (hideType) {\r\n case 1:\r\n push = true;\r\n break;\r\n case 2:\r\n if (this._platform == PHONE_TYPE.ANDROID) {\r\n push = true;\r\n }\r\n break;\r\n case 3:\r\n if (this._platform == PHONE_TYPE.IOS) {\r\n push = true;\r\n }\r\n break;\r\n default:\r\n push = false;\r\n break;\r\n }\r\n return push;\r\n },\r\n _pushDataBySexual(sexual) {\r\n let pushSexual = false;\r\n switch (sexual) {\r\n case 0:\r\n pushSexual = true;\r\n break;\r\n case 1:\r\n if (this._userinfo.gender == 1) {\r\n pushSexual = true;\r\n }\r\n break;\r\n case 2:\r\n if (this._userinfo.gender == 2) {\r\n pushSexual = true;\r\n }\r\n break;\r\n default:\r\n pushSexual = false;\r\n break;\r\n }\r\n return pushSexual;\r\n },\r\n _getWxUserInfo(call) {\r\n var self = this;\r\n if (!Laya.Browser.window.wx) {\r\n call();\r\n return;\r\n }\r\n else if (!Laya.Browser.window.wx.getUserInfo) {\r\n call();\r\n return;\r\n }\r\n console.log('userInfo 调用 start');\r\n Laya.Browser.window.wx.getUserInfo({\r\n success(res) {\r\n self._userinfo.gender = res.userInfo.gender;\r\n console.log('userInfo 成功回调请求');\r\n call();\r\n return;\r\n },\r\n fail(res) {\r\n console.log('userInfo 失败回调请求');\r\n call();\r\n }\r\n });\r\n console.log('userInfo 调用 end');\r\n },\r\n _loadTexture(sp, url) {\r\n },\r\n fullScreenRandomNavigate() {\r\n if (this.openFullScreenNavigate) {\r\n if (this.mainRecDatas.length > 0) {\r\n var randomMainRecData = this.getRandomElementFromArray(this.mainRecDatas);\r\n this.switchStartOtherGame(randomMainRecData, null);\r\n }\r\n }\r\n },\r\n startOtherGame(data, call) {\r\n if (data.jumpShowPage == 1) {\r\n this.gamePageStartOtherGame(data, call);\r\n }\r\n else {\r\n this.switchStartOtherGame(data, call);\r\n }\r\n },\r\n gamePageStartOtherGame(data, call) {\r\n if (this.channelId != PLAT_TYPE_CHANNELID.TouTiao) {\r\n if (this.createGamePageCall) {\r\n let self = this;\r\n let gamePageCall = function () {\r\n let toStartGame = setTimeout(function () {\r\n self.switchStartOtherGame(data, call);\r\n clearTimeout(toStartGame);\r\n }, 1500);\r\n };\r\n this.createGamePageCall(data, { gamePageComplete: gamePageCall });\r\n }\r\n else {\r\n this.switchStartOtherGame(data, call);\r\n }\r\n }\r\n else {\r\n this.switchStartOtherGame(data, call);\r\n }\r\n },\r\n switchStartOtherGame(data, call) {\r\n switch (this.channelId) {\r\n case PLAT_TYPE_CHANNELID.WeChat:\r\n if (data.codeJump == 1) {\r\n this.wxPreviewImage(data.chopencode || data.vopencode || data.hopencode, data, call);\r\n }\r\n else {\r\n this.navigateToOtherGame(data, call);\r\n }\r\n break;\r\n case PLAT_TYPE_CHANNELID.TouTiao:\r\n this.showTouTiaoMoreGamesModal(data, call);\r\n break;\r\n case PLAT_TYPE_CHANNELID.OppoMiniGame:\r\n this.navigateToOppoMiniGame(data, call);\r\n break;\r\n default:\r\n if (call)\r\n call(false);\r\n this.notifyNavigateFailUIId();\r\n break;\r\n }\r\n },\r\n openGameInitLog() {\r\n var curInitLogTime = this.YouziDateFtt(\"yyyy-MM-dd hh:mm:ss\", new Date());\r\n var curInitLogParam = {\r\n \"logType\": \"login\",\r\n \"channelId\": this.channelId,\r\n \"orgAppid\": this.appid,\r\n \"sourceId\": this.fromId,\r\n \"sourceChannel\": Number(this.sourceChannelId),\r\n \"uid\": this._userinfo.uid,\r\n \"dt\": curInitLogTime,\r\n \"sdkVersion\": this.SdkVersion\r\n };\r\n var initLogCall = function () {\r\n console.log(\"log event send YouziSdk init success\");\r\n };\r\n this.logNavigate(curInitLogParam, initLogCall);\r\n },\r\n sendExposureLog(data, locationIndex) {\r\n if (!data) {\r\n console.warn('发送曝光日志时,data不存在', data, locationIndex);\r\n return;\r\n }\r\n this.logCount++;\r\n locationIndex = locationIndex ? locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT;\r\n if (!this.logObj.hasOwnProperty(locationIndex)) {\r\n this.logObj[locationIndex] = '';\r\n }\r\n this.logObj[locationIndex] += data.appid + ',';\r\n if (this.logCount >= 15) {\r\n this.exposureLogMerge();\r\n }\r\n },\r\n exposureLogMerge() {\r\n let curTime = this.YouziDateFtt(\"yyyy-MM-dd hh:mm:ss\", new Date());\r\n let obj = this.logObj;\r\n this.logObj = {};\r\n this.logCount = 0;\r\n Object.keys(obj).forEach(item => {\r\n let param = {\r\n \"logType\": \"exposure\",\r\n \"channelId\": this.channelId,\r\n \"orgAppid\": this.appid,\r\n \"uid\": this._userinfo.uid,\r\n \"languageType\": 1,\r\n \"jumpAppid\": obj[item].slice(0, -1),\r\n \"locationIndex\": Number(item),\r\n \"recommendType\": 1,\r\n \"screenId\": 1,\r\n \"sourceId\": this.fromId,\r\n \"sourceChannel\": Number(this.sourceChannelId),\r\n \"dt\": curTime,\r\n \"sdkVersion\": this.SdkVersion\r\n };\r\n let cb = function (res) {\r\n };\r\n this.logNavigate(param, cb);\r\n });\r\n },\r\n showTouTiaoMoreGamesModal(data, call) {\r\n let self = this;\r\n Laya.Browser.window.tt.onNavigateToMiniProgram(function (res) {\r\n });\r\n Laya.Browser.window.tt.showMoreGamesModal({\r\n appLaunchOptions: this.toutiaoMoreGames,\r\n success(res) {\r\n self.sendGameToGame(data);\r\n if (call)\r\n call(true);\r\n console.log('toutiao moregame show success');\r\n },\r\n fail(res) {\r\n if (call)\r\n call(false);\r\n console.log('toutiao moregame show fail');\r\n }\r\n });\r\n Laya.Browser.window.tt.onMoreGamesModalClose(function (res) {\r\n });\r\n },\r\n setTouTiaoMoreGames(dataArray) {\r\n dataArray.forEach(element => {\r\n let extraJsonToutiao = {\r\n 'togame': element.appid,\r\n 'boxAppid': element.boxAppId,\r\n 'orgAppid': this.appid,\r\n 'YouziUID': this.uid,\r\n 'YouziFixUID': this._userinfo.uid,\r\n 'userType': this._userinfo.type,\r\n 'locationIndex': element.locationIndex ? element.locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT,\r\n 'anChannelId': element.anChannelId,\r\n 'ioChannelId': element.ioChannelId\r\n };\r\n this.extraDataLianYun(element, extraJsonToutiao);\r\n this.toutiaoMoreGames.push({\r\n appId: element.appid,\r\n extraData: extraJsonToutiao\r\n });\r\n });\r\n },\r\n navigateToOppoMiniGame(data, call) {\r\n if (this.debug) {\r\n console.log('oppo小游戏跳转成功');\r\n }\r\n else {\r\n let self = this;\r\n let packageName = data.pkgName.replace(/\\s*/g, \"\");\r\n let extraJson = {\r\n 'togame': data.appid,\r\n 'boxAppid': 'leuokNull',\r\n 'orgAppid': self.appid,\r\n 'YouziUID': self.uid,\r\n 'YouziFixUID': self._userinfo.uid,\r\n 'userType': self._userinfo.type,\r\n 'locationIndex': data.locationIndex,\r\n 'anChannelId': data.anChannelId,\r\n 'ioChannelId': data.ioChannelId\r\n };\r\n Laya.Browser.window.qg.navigateToMiniGame({\r\n pkgName: packageName,\r\n extraData: extraJson,\r\n success: function () {\r\n self.sendGameToGame(data);\r\n self.closeGamePage();\r\n if (call)\r\n call(true);\r\n console.log('oppo小游戏跳转成功');\r\n },\r\n fail: function (res) {\r\n self.closeGamePage();\r\n self.notifyNavigateFailUIId();\r\n if (call)\r\n call(false);\r\n console.log('oppo小游戏跳转失败:', JSON.stringify(res));\r\n }\r\n });\r\n }\r\n },\r\n extraDataLianYun(data, extraDataJson) {\r\n if (data.miniGameArgs && data.miniGameArgs != '') {\r\n let addJson = JSON.parse(data.miniGameArgs);\r\n let addJsonKeyArr = Object.keys(addJson);\r\n let key0 = addJsonKeyArr[0];\r\n if (key0 == 'togame' || key0 == 'boxAppid' || key0 == 'orgAppid') {\r\n console.log('联运附加key值冲突');\r\n return;\r\n }\r\n extraDataJson[key0] = addJson[key0];\r\n }\r\n },\r\n navigateToOtherGame(data, call) {\r\n if (!Laya.Browser.window.wx) {\r\n if (call)\r\n call(false);\r\n this.notifyNavigateFailUIId();\r\n return;\r\n }\r\n else if (!Laya.Browser.window.wx.navigateToMiniProgram) {\r\n return;\r\n }\r\n var self = this;\r\n let desAppid = data.appid;\r\n let haveBoxAppId = false;\r\n let _boxId = 'leuokNull';\r\n if (data.boxAppId && data.boxAppId != '') {\r\n haveBoxAppId = true;\r\n desAppid = data.boxAppId;\r\n _boxId = desAppid;\r\n }\r\n let extraJson = {\r\n 'togame': data.appid,\r\n 'boxAppid': _boxId,\r\n 'orgAppid': self.appid,\r\n 'YouziUID': self.uid,\r\n 'YouziFixUID': self._userinfo.uid,\r\n 'userType': self._userinfo.type,\r\n 'locationIndex': data.locationIndex ? data.locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT,\r\n 'anChannelId': data.anChannelId,\r\n 'ioChannelId': data.ioChannelId\r\n };\r\n let littleProgramPath = null;\r\n if (data.miniProgramArgs && data.miniProgramArgs != '') {\r\n littleProgramPath = data.miniProgramArgs;\r\n }\r\n if (data.anChannelId || data.ioChannelId) {\r\n if (littleProgramPath != null) {\r\n littleProgramPath = littleProgramPath + \"&anChannelId=\" + data.anChannelId + \"&ioChannelId=\" + data.ioChannelId;\r\n }\r\n else {\r\n littleProgramPath = \"?anChannelId=\" + data.anChannelId + \"&ioChannelId=\" + data.ioChannelId;\r\n }\r\n }\r\n console.log('mimiProgramPath:' + littleProgramPath);\r\n self.extraDataLianYun(data, extraJson);\r\n console.log('extraData' + JSON.stringify(extraJson));\r\n Laya.Browser.window.wx.navigateToMiniProgram({\r\n appId: desAppid,\r\n path: littleProgramPath,\r\n extraData: extraJson,\r\n success(result) {\r\n self.closeGamePage();\r\n if (haveBoxAppId) {\r\n self.sendGameToBox(data);\r\n }\r\n else {\r\n self.sendGameToGame(data);\r\n }\r\n haveBoxAppId = false;\r\n if (call)\r\n call(true);\r\n console.log('navigateToMiniProgram success');\r\n if (data.testPeriod && data.testPeriod == '1') {\r\n localStorage.setItem(data.appid, 'navigated');\r\n }\r\n else if (data.testPeriod == '2') {\r\n localStorage.setItem(data.appid, 'CPACPS');\r\n }\r\n },\r\n fail(res) {\r\n if (call)\r\n call(false);\r\n self.notifyNavigateFailUIId();\r\n self.closeGamePage();\r\n console.log('navigateToMiniProgram fail', res);\r\n }\r\n });\r\n },\r\n notifyNavigateFailUIId() {\r\n switch (this.clickGameYouziUIId) {\r\n case YOUZI_UI_ID.Youzi_MainPush:\r\n case YOUZI_UI_ID.Youzi_BottomBanner:\r\n case YOUZI_UI_ID.Youzi_GuessLike:\r\n case YOUZI_UI_ID.Youzi_FriendInviteGame:\r\n if (this.navigateToMiniCall) {\r\n this.navigateToMiniCall(this.clickGameYouziUIId);\r\n }\r\n this.clickGameYouziUIId = 0;\r\n break;\r\n default:\r\n console.log('不需要取消');\r\n break;\r\n }\r\n },\r\n closeGamePage() {\r\n if (this.gamePageCloseCall) {\r\n this.gamePageCloseCall();\r\n this.gamePageCloseCall = null;\r\n }\r\n },\r\n sendJumpToOpen(orgAppId, boxAppId, locationIndex = 1) {\r\n let type = 'jump2open';\r\n if (boxAppId == 'leuokNull') {\r\n type = 'app2open';\r\n boxAppId = '';\r\n }\r\n let cb = function (res) {\r\n console.log('log event sendJumpToOpen success---');\r\n };\r\n let curTime = this.YouziDateFtt(\"yyyy-MM-dd hh:mm:ss\", new Date());\r\n let param = {\r\n \"logType\": type,\r\n \"userType\": this._userinfo.type,\r\n \"channelId\": this.channelId,\r\n \"orgAppid\": orgAppId,\r\n \"boxAppid\": boxAppId,\r\n \"uid\": this._userinfo.uid,\r\n \"languageType\": 1,\r\n \"jumpAppid\": this.appid,\r\n \"locationIndex\": locationIndex ? locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT,\r\n \"recommendType\": 1,\r\n \"screenId\": 1,\r\n \"sourceId\": this.fromId,\r\n \"sourceChannel\": Number(this.sourceChannelId),\r\n \"dt\": curTime,\r\n \"sdkVersion\": this.SdkVersion\r\n };\r\n console.log(param);\r\n this.logNavigate(param, cb);\r\n },\r\n sendGameToGame(_data) {\r\n let curTime = this.YouziDateFtt(\"yyyy-MM-dd hh:mm:ss\", new Date());\r\n let cb = function (res) {\r\n console.log('log event success---');\r\n };\r\n let param = {\r\n \"logType\": \"app2app\",\r\n \"userType\": this._userinfo.type,\r\n \"channelId\": this.channelId,\r\n \"orgAppid\": this.appid,\r\n \"uid\": this._userinfo.uid,\r\n \"languageType\": 1,\r\n \"jumpAppid\": _data.appid,\r\n \"locationIndex\": _data.locationIndex ? _data.locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT,\r\n \"recommendType\": _data.type,\r\n \"screenId\": 1,\r\n \"sourceId\": this.fromId,\r\n \"sourceChannel\": Number(this.sourceChannelId),\r\n \"dt\": curTime,\r\n \"sdkVersion\": this.SdkVersion\r\n };\r\n console.log(param);\r\n this.logNavigate(param, cb);\r\n },\r\n sendGameToBox(_data) {\r\n let curTime = this.YouziDateFtt(\"yyyy-MM-dd hh:mm:ss\", new Date());\r\n let cb = function (res) {\r\n console.log('log event success---');\r\n };\r\n let param = {\r\n \"logType\": \"jump2box\",\r\n \"userType\": this._userinfo.type,\r\n \"channelId\": this.channelId,\r\n \"orgAppid\": this.appid,\r\n \"uid\": this._userinfo.uid,\r\n \"languageType\": 1,\r\n \"boxAppid\": _data.boxAppId,\r\n \"jumpAppid\": _data.appid,\r\n \"locationIndex\": _data.locationIndex ? _data.locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT,\r\n \"recommendType\": _data.type,\r\n \"screenId\": 1,\r\n \"sourceId\": this.fromId,\r\n \"sourceChannel\": Number(this.sourceChannelId),\r\n \"dt\": curTime,\r\n \"sdkVersion\": this.SdkVersion\r\n };\r\n console.log(param);\r\n this.logNavigate(param, cb);\r\n },\r\n wxPreviewImage(qrCodeimageUrl, data, call) {\r\n let self = this;\r\n Laya.Browser.window.wx.previewImage({\r\n current: qrCodeimageUrl,\r\n urls: [qrCodeimageUrl],\r\n success: function () {\r\n if (call)\r\n call(true);\r\n self.sendGameByQrcode(data);\r\n },\r\n fail: function () {\r\n if (call)\r\n call(false);\r\n }\r\n });\r\n },\r\n sendGameByQrcode(_data) {\r\n let curTime = this.YouziDateFtt(\"yyyy-MM-dd hh:mm:ss\", new Date());\r\n let cb = function (res) {\r\n console.log('log event success---');\r\n };\r\n let param = {\r\n \"logType\": \"showcode\",\r\n \"userType\": this._userinfo.type,\r\n \"channelId\": this.channelId,\r\n \"orgAppid\": this.appid,\r\n \"uid\": this._userinfo.uid,\r\n \"languageType\": 1,\r\n \"jumpAppid\": _data.appid,\r\n \"locationIndex\": _data.locationIndex ? _data.locationIndex : BI_PAGE_TYPE.CUSTOM_COMPONENT,\r\n \"recommendType\": _data.type,\r\n \"screenId\": 1,\r\n \"sourceId\": this.fromId,\r\n \"sourceChannel\": Number(this.sourceChannelId),\r\n \"dt\": curTime,\r\n \"sdkVersion\": this.SdkVersion\r\n };\r\n console.log(param);\r\n this.logNavigate(param, cb);\r\n },\r\n logNavigate(reqData, cb) {\r\n console.log('send log--->' + reqData);\r\n if (!this.debug) {\r\n this._request('POST', reqData, 'https://bi.log.lightlygame.com/recommend/', cb);\r\n }\r\n },\r\n YouziDateFtt(fmt, date) {\r\n var o = {\r\n \"M+\": date.getMonth() + 1,\r\n \"d+\": date.getDate(),\r\n \"h+\": date.getHours(),\r\n \"m+\": date.getMinutes(),\r\n \"s+\": date.getSeconds(),\r\n \"q+\": Math.floor((date.getMonth() + 3) / 3),\r\n \"S\": date.getMilliseconds()\r\n };\r\n if (/(y+)/.test(fmt))\r\n fmt = fmt.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4 - RegExp.$1.length));\r\n for (var k in o)\r\n if (new RegExp(\"(\" + k + \")\").test(fmt))\r\n fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : ((\"00\" + o[k]).substr((\"\" + o[k]).length)));\r\n return fmt;\r\n },\r\n getDatasByBIType(locationIndex) {\r\n if (locationIndex == 1) {\r\n return this.mainRecDatas;\r\n }\r\n else if (locationIndex == 2) {\r\n return this.hotListDatas;\r\n }\r\n else if (locationIndex === 3 || locationIndex == 4) {\r\n return this.matrixBannerDatas;\r\n }\r\n else if (locationIndex === 5 || locationIndex === 10) {\r\n return this.moreDatas;\r\n }\r\n else if (locationIndex == 6) {\r\n return this.gameBannerDatas;\r\n }\r\n else if (locationIndex == 7) {\r\n return this.offlineBannerDatas;\r\n }\r\n else if (locationIndex == 8 || locationIndex == 9) {\r\n return this.buyListDatas;\r\n }\r\n console.error('未找到中心化数据 locationIndex', locationIndex);\r\n return [];\r\n },\r\n _initBannerShow() {\r\n if (this._bannerType == BANNER_TYPE.MATRIX || this._bannerType == BANNER_TYPE.GAME || this._bannerType == BANNER_TYPE.WX) {\r\n for (let i = 0; i < this._bannerSwitchs.length; i++) {\r\n const banner = this._bannerSwitchs[i];\r\n if (banner.destroyed) {\r\n this._bannerSwitchs.splice(i, 1);\r\n i--;\r\n if (this._bannerSwitchs.length <= 0)\r\n break;\r\n else\r\n continue;\r\n }\r\n if (banner && banner.bannerType == this._bannerType) {\r\n banner.showBanner();\r\n }\r\n else if (banner) {\r\n banner.hideBanner();\r\n }\r\n }\r\n }\r\n else if (this._bannerType == BANNER_TYPE.SWITCH) {\r\n for (let i = 0; i < this._bannerSwitchs.length; i++) {\r\n const banner = this._bannerSwitchs[i];\r\n if (banner && banner.bannerType == BANNER_TYPE.MATRIX) {\r\n banner.showBanner();\r\n }\r\n else if (banner) {\r\n banner.hideBanner();\r\n }\r\n }\r\n }\r\n },\r\n getMultiMainAmount(nodesAmout) {\r\n if (nodesAmout >= this._mainRecAmount) {\r\n return this._mainRecAmount >= this.mainRecDatas.length ? [this.mainRecDatas.length, false] : [this._mainRecAmount, true];\r\n }\r\n else {\r\n return nodesAmout >= this.mainRecDatas.length ? [this.mainRecDatas.length, false] : [nodesAmout, true];\r\n }\r\n },\r\n getGamesIndex(num, showNum) {\r\n if (this._gameIndexArr.length == 0) {\r\n this._gameIndexArrLength = num;\r\n for (let i = 0; i < num; i++) {\r\n this._gameIndexArr.push(i);\r\n }\r\n }\r\n else {\r\n if (num != this._gameIndexArrLength) {\r\n this._gameIndexArrLength = num;\r\n for (let i = 0; i < num; i++) {\r\n this._gameIndexArr.push(i);\r\n }\r\n }\r\n }\r\n if (num <= showNum) {\r\n return this._gameIndexArr;\r\n }\r\n else {\r\n let t, k;\r\n while (num) {\r\n k = Math.floor(Math.random() * num--);\r\n t = this._gameIndexArr[num];\r\n this._gameIndexArr[num] = this._gameIndexArr[k];\r\n this._gameIndexArr[k] = t;\r\n }\r\n return this._gameIndexArr.slice(0, showNum);\r\n }\r\n },\r\n getRandomArrayElements(arr, count) {\r\n var m = arr.length, t, i;\r\n while (m) {\r\n i = Math.floor(Math.random() * m--);\r\n t = arr[m];\r\n arr[m] = arr[i];\r\n arr[i] = t;\r\n }\r\n return arr.slice(0, count);\r\n },\r\n getRandomElementFromArray(arr) {\r\n return arr[Math.floor(Math.random() * arr.length)];\r\n },\r\n addBanner(banner) {\r\n this._destroyUnuseWxBanner(banner);\r\n this._bannerSwitchs.push(banner);\r\n if (this._isDataLoaded) {\r\n this._initBannerShow();\r\n }\r\n },\r\n refreshBannerSwitch() {\r\n if (!this.curBannerType) {\r\n this.curBannerType = BANNER_TYPE.WX;\r\n }\r\n this.curBannerType = this.curBannerType == BANNER_TYPE.WX ? BANNER_TYPE.MATRIX : BANNER_TYPE.WX;\r\n for (let i = 0; i < this._bannerSwitchs.length; i++) {\r\n let banner = this._bannerSwitchs[i];\r\n if (banner && banner.bannerType == this.curBannerType) {\r\n banner.showBanner();\r\n }\r\n else if (banner) {\r\n banner.hideBanner();\r\n }\r\n }\r\n },\r\n _destroyUnuseWxBanner(b) {\r\n if (b.bannerType == BANNER_TYPE.WX) {\r\n for (let i = 0; i < this._bannerSwitchs.length; i++) {\r\n let banner = this._bannerSwitchs[i];\r\n if (banner && banner.bannerType == BANNER_TYPE.WX) {\r\n banner.destroySelf();\r\n this._bannerSwitchs.splice(i, 1);\r\n return;\r\n }\r\n }\r\n }\r\n },\r\n _checkExposureInview(cellNodes, limitx, limity, datas, locationIndex) {\r\n },\r\n getDataByAppId(appid) {\r\n let data = this._getDataByAppid(this.mainRecDatas, appid);\r\n if (!data) {\r\n data = this._getDataByAppid(this.hotListDatas, appid);\r\n }\r\n if (!data) {\r\n data = this._getDataByAppid(this.buyListDatas, appid);\r\n }\r\n return data;\r\n },\r\n getDataFromAllGameObj(appid) {\r\n return this.allBeRecommendGames[appid];\r\n },\r\n _getDataByAppid(datas, appid) {\r\n for (let i = 0; i < datas.length; i++) {\r\n if (datas[i].appid == appid) {\r\n return datas[i];\r\n }\r\n }\r\n return null;\r\n },\r\n scrollviewAction(scrollView, speed, limit) {\r\n },\r\n miscClampf(valueNumber, minNumber, maxNumber) {\r\n if (minNumber > maxNumber) {\r\n var temp = minNumber;\r\n minNumber = maxNumber;\r\n maxNumber = temp;\r\n }\r\n return valueNumber < minNumber ? minNumber : valueNumber < maxNumber ? valueNumber : maxNumber;\r\n },\r\n BI_AppOnce(params) {\r\n let BI = this.getBI();\r\n if (BI && BI.leuok) {\r\n BI.leuok.appOnce(params);\r\n }\r\n },\r\n BI_Action(params) {\r\n let BI = this.getBI();\r\n if (BI && BI.leuok) {\r\n BI.leuok.action(params);\r\n }\r\n },\r\n BI_WXBannerError(params) {\r\n let BI = this.getBI();\r\n if (BI && BI.leuok) {\r\n BI.leuok.error(params);\r\n }\r\n },\r\n getBI() {\r\n if (typeof Laya.Browser.window.wx !== 'undefined') {\r\n return Laya.Browser.window.wx;\r\n }\r\n else if (typeof Laya.Browser.window.BK !== 'undefined') {\r\n return Laya.Browser.window.BK;\r\n }\r\n else if (typeof Laya.Browser.window.qg !== 'undefined') {\r\n return Laya.Browser.window.qg;\r\n }\r\n else if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n },\r\n youziLog(title, msg) {\r\n if (this.debug) {\r\n console.log(title, msg);\r\n }\r\n },\r\n readFile(filePath, call) {\r\n if (Laya.Browser.window.wx) {\r\n Laya.Browser.window.wx.getFileSystemManager().readFile({\r\n filePath: filePath,\r\n encoding: 'utf-8',\r\n success: function (res) {\r\n call(res.data);\r\n console.log('---->readFile success:', res.data);\r\n },\r\n fail: function (res) {\r\n console.log('---->readFile fail:', res.errMsg);\r\n }\r\n });\r\n }\r\n },\r\n writeFile(filePath, fileData) {\r\n if (Laya.Browser.window.wx) {\r\n Laya.Browser.window.wx.getFileSystemManager().writeFile({\r\n filePath: filePath,\r\n data: fileData,\r\n encoding: 'utf-8',\r\n success: function () {\r\n console.log('----->write file success');\r\n },\r\n fail: function (res) {\r\n console.log('----->write file fail:', res.errMsg);\r\n }\r\n });\r\n }\r\n },\r\n getAspectRatio() {\r\n return this.aspectRatio;\r\n },\r\n jsonHasKey(jsonData, key) {\r\n return jsonData.hasOwnProperty(key);\r\n },\r\n getDataLoaded() {\r\n return this._isDataLoaded;\r\n },\r\n getBottomCloseBtnHide() {\r\n return this._bottomBannerCloseBtnHide;\r\n },\r\n getBottomNameHide() {\r\n return this._bottomBannerNameHide;\r\n },\r\n getMainNameHide() {\r\n return this._mainPushNameHide;\r\n },\r\n getMainNameHideScale() {\r\n return this._mainPushScale;\r\n },\r\n setPropertiesValue(key, value) {\r\n this[key] = value;\r\n },\r\n getPropertiesValue(key) {\r\n return this[key];\r\n },\r\n openFullNavigate(isOpen) {\r\n this.openFullScreenNavigate = isOpen;\r\n },\r\n getOpenFullNavigate() {\r\n return this.openFullScreenNavigate;\r\n },\r\n getIsVertical() {\r\n if (Laya.stage.width > Laya.stage.height) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n },\r\n dataNullReset(dataArrayName) {\r\n if (this[dataArrayName].length <= 0) {\r\n this[dataArrayName] = this.moreDatas;\r\n }\r\n },\r\n getYouziInviteGameFilterDatas(callback) {\r\n YouziInviteGameAnalyse.youziInviteGameFilterDatas(callback);\r\n },\r\n compareToutiaoVersion(v1, v2) {\r\n v1 = v1.split('.');\r\n v2 = v2.split('.');\r\n const len = Math.max(v1.length, v2.length);\r\n while (v1.length < len) {\r\n v1.push('0');\r\n }\r\n while (v2.length < len) {\r\n v2.push('0');\r\n }\r\n for (let i = 0; i < len; i++) {\r\n const num1 = parseInt(v1[i]);\r\n const num2 = parseInt(v2[i]);\r\n if (num1 > num2) {\r\n return 1;\r\n }\r\n else if (num1 < num2) {\r\n return -1;\r\n }\r\n }\r\n return 0;\r\n }\r\n};\r\nvar YouziInviteGameAnalyse = {\r\n inviteGameAllInLine: false,\r\n youziInviteGameFilterDatas(callback) {\r\n if (this.inviteGameAllInLine) {\r\n callback(YouziData.friendInviteGameDatas);\r\n }\r\n else {\r\n let filterArr = [];\r\n YouziInviteGameAnalyse.getWechatSaveData('YZ_USER_DATA', (biUserBehaviourData) => {\r\n if (biUserBehaviourData) {\r\n filterArr = YouziInviteGameAnalyse.getInviteGameDataAnalyse(biUserBehaviourData);\r\n callback(filterArr);\r\n this.inviteGameAllInLine = filterArr.length == YouziData.friendInviteGameDatas.length;\r\n }\r\n else {\r\n callback(filterArr);\r\n }\r\n });\r\n }\r\n },\r\n getInviteGameDataAnalyse(biSaveUserBehaviourData) {\r\n if (YouziData.friendInviteGameDatas.length > 0) {\r\n let filteInviteGameDatasr = YouziData.friendInviteGameDatas.filter(item => {\r\n if (item.hasOwnProperty('goodCondition')) {\r\n return this.inviteGameDataFilterCondition(biSaveUserBehaviourData, item.goodCondition);\r\n }\r\n else {\r\n return false;\r\n }\r\n });\r\n console.log('符合条件的优选游戏:', filteInviteGameDatasr);\r\n return filteInviteGameDatasr;\r\n }\r\n else {\r\n console.log('后台未配置优选游戏');\r\n return [];\r\n }\r\n },\r\n inviteGameDataFilterCondition(biSaveUserBehaviourData, conditionData) {\r\n let count = 0;\r\n conditionData = JSON.parse(conditionData);\r\n for (let i = conditionData.length - 1; i >= 0; i--) {\r\n let biUserBehaviourKey = conditionData[i].type;\r\n let biUserBehaviourKeyData = biSaveUserBehaviourData[biUserBehaviourKey];\r\n if (!biUserBehaviourKeyData) {\r\n break;\r\n }\r\n let conditionDataNum = Number(conditionData[i].num);\r\n if (biUserBehaviourKeyData >= conditionDataNum) {\r\n count += 1;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n if (count == 0 || conditionData.length == 0)\r\n return false;\r\n else if (count >= conditionData.length)\r\n return true;\r\n else\r\n return false;\r\n },\r\n getWechatSaveData(saveKey, callback) {\r\n Laya.Browser.window.wx.getStorage({\r\n key: saveKey,\r\n success: function (res) {\r\n if (callback) {\r\n console.log('用户优选记录: ', res.data);\r\n callback(res.data);\r\n }\r\n },\r\n fail: function () {\r\n if (callback) {\r\n console.log('用户优选记录失败: ');\r\n callback({});\r\n }\r\n }\r\n });\r\n }\r\n};\r\n//# sourceMappingURL=YouziData.js.map",
  3. "references": [],
  4. "map": "{\"version\":3,\"file\":\"YouziData.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/youziscript/YouziData.ts\"],\"names\":[],\"mappings\":\"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\"}"
  5. }