Lobby.js 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040
  1. cc.Class({
  2. extends: cc.BaseClass,
  3. properties: {
  4. },
  5. ctor: function () {
  6. this.m_BasicSound = new Array();
  7. this.m_BasicSound['BGM0'] = 'BGM0';
  8. this.m_BasicSound['BGM1'] = 'BGM1';
  9. this.m_BasicSound['BGM2'] = 'BGM2';
  10. this.m_BasicSound['Button'] = 'button';
  11. this.m_BasicSound['SendCard'] = 'sendcard';
  12. this.m_BasicSound['Jet'] = 'Jet';
  13. this.m_ClubRoomCnt = new Array();
  14. },
  15. onEnable: function () {
  16. cc.director.on('Lobby_InitShareInfo', this.OnInitShareInfo, this);
  17. },
  18. onDisable: function () {
  19. cc.director.off('Lobby_InitShareInfo', this.OnInitShareInfo, this);
  20. },
  21. onLoad: function () {
  22. cc.debug.setDisplayStats(false);
  23. FitSize(this.node);
  24. if (!this.m_Loading) this.m_Loading = this.$('loading');
  25. this.m_Loading.zIndex = 100;
  26. this.m_Loading.active = false;
  27. this.m_bTipGPS = false;
  28. window.g_CntGameGPS = 0;
  29. ShowO2I(this.node, 0.5);
  30. window.LoadSetting();
  31. cc.gSoundRes.LoadSoundArr(this.m_BasicSound, 'PublicAudio');
  32. if (cc.share.IsH5_WX()) {
  33. this.$('plazabg/NdButton/MenuBG/BtExit', this.m_MenuNode).active = false;
  34. }
  35. this.onSwitchBG();
  36. },
  37. start: function () {
  38. g_ServerListDataLast = null;
  39. g_ShowClubInfo = null;
  40. this.BindButtonInit();
  41. g_Launch = null;
  42. g_Login = null;
  43. g_Lobby = this;
  44. g_Table = null;
  45. g_CurScene = this;
  46. this.m_DlgNode = this.$('DlgFrame');
  47. this.m_MeUserCtrl = this.$('plazabg/NdButton/UserCtrl@UserCtrl');
  48. this.m_RoomCard = this.$('plazabg/NdButton/BtGetGold/L_RoomCard@Label');
  49. this.m_MenuNode = this.$('plazabg/NdButton/MenuBG');
  50. this.m_MenuNode.active == false;
  51. //临时处理
  52. this.m_StoreBtnNode = this.$('plazabg/NdButton/BottomButton/BtMoreStrong');
  53. if (this.m_StoreBtnNode) {
  54. this.m_StoreBtnNode.active = cc.sys.OS_IOS == cc.sys.os || CC_DEBUG;
  55. }
  56. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  57. if (pGlobalUserData.dwUserID == 0) {
  58. this.ShowLoading();
  59. var AutoLogonAcc = getQueryString("AAcc");
  60. if (AutoLogonAcc) {
  61. window.g_PhpUserName = AutoLogonAcc;
  62. window.g_PhpPassword = getQueryString("APsw");
  63. }
  64. if (window.g_PhpUserName == '') window.g_PhpUserName = null;
  65. getLinkInfo();
  66. this.m_NeedLogin = true;
  67. } else {
  68. this.onGPLoginComplete();
  69. }
  70. if (window.POP_NOTICE > 0 && g_Table == null) {
  71. window.POP_NOTICE = 0;
  72. var ActivityPop = parseInt(cc.sys.localStorage.getItem(window.Key_ActivityPop));
  73. if (!ActivityPop) {
  74. this.scheduleOnce(this.OnClick_BtActivity, 0.5);
  75. } else {
  76. var last = new Date(ActivityPop);
  77. var cur = new Date();
  78. if (last.getFullYear() != cur.getFullYear() || last.getMonth() != cur.getMonth() || last.getDay() != cur.getDay()) {
  79. this.scheduleOnce(this.OnClick_BtActivity, 0.5);
  80. }
  81. }
  82. }
  83. this.scheduleOnce(this.ShowCustomClick, 0.5);
  84. this.orderId = 0;
  85. },
  86. loginGiftDiamond: function () {
  87. console.log('loginGiftDiamond')
  88. let pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  89. let webUrl = window.PHP_HOME + '/SignIn.php?&GetMark=2&dwUserID=' + pGlobalUserData.dwUserID;
  90. WebCenter.GetData(webUrl, null, function (data) {
  91. if (data == null) return;
  92. let Res = JSON.parse(data);
  93. console.log('loginGiftDiamond--', Res)
  94. if (Res.RewardCard > 0) {
  95. this.ShowAlert(Res.Desc);
  96. //this.OnShowView(true);
  97. if (Res.Card != null) pGlobalUserData.llUserIngot = Res.Card;
  98. this.m_RoomCard.string = pGlobalUserData.llUserIngot;
  99. }
  100. }.bind(this));
  101. },
  102. ShowCustomClick: function () {
  103. this.loginGiftDiamond();
  104. this.ShowPrefabDLG('CustomClick', this.node, function (Js) {
  105. this.m_CustomClick = Js;
  106. //Js.node.zIndex = -1;
  107. }.bind(this));
  108. },
  109. OnAutoJoinClub: function (kind, allianceID) {
  110. this.ShowPrefabDLG('ClubFreeDLG', this.m_DlgNode, function (Js) {
  111. Js.ShowKind(kind)
  112. Js.AutoJoin(allianceID)
  113. });
  114. },
  115. OnInitShareInfo: function () {
  116. cc.share.InitShareInfo_H5_WX(this.GetShareInfo.bind(this));
  117. },
  118. //登陆成功
  119. onGPLoginComplete: function () {
  120. //播放背景音乐
  121. //var BGMIndex = cc.sys.localStorage.getItem(window.clientName+window.Key_TableBGM);
  122. var BGMIndex = window.g_Setting[window.SetKey_Lobby_Music]
  123. if (BGMIndex == null) BGMIndex = 0
  124. cc.gSoundRes.PlayMusic("BGM" + BGMIndex, false);
  125. //播放背景音乐
  126. this.StopLoading();
  127. //用户数据更新
  128. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  129. this.m_MeUserCtrl.SetUserByID(pGlobalUserData.dwUserID);
  130. this.m_MeUserCtrl.SetShowFullName(false, 6);
  131. this.OnBtRefeshRoomCard();
  132. if (ShowLobbyClub != 0) this.OnBtShowClub();
  133. //邀请链接房间查询
  134. // if(LinkInfo && LinkInfo.LinkRoom && LinkInfo.LinkRoom[0] != 0) {
  135. // this.OnQueryRoom(parseInt(LinkInfo.LinkRoom[0]), parseInt(LinkInfo.LinkRoom[1]));
  136. // }
  137. //微信H5分享链接
  138. if (cc.sys.browserType == cc.sys.BROWSER_TYPE_WECHAT || cc.sys.browserType == cc.sys.BROWSER_TYPE_MOBILE_QQ) {
  139. var ShareInfo = this.GetShareInfo();
  140. ThirdPartyShareMessage(ShareInfo, 0);
  141. ThirdPartyShareMessage(ShareInfo, 1);
  142. }
  143. if (!window.ClubPara) {
  144. var webUrl = window.PHP_HOME + '/League.php?&GetMark=16';
  145. WebCenter.GetData(webUrl, 999999, function (data) {
  146. window.ClubPara = JSON.parse(data);
  147. }.bind(this));
  148. }
  149. this.OnCheckLobbyShow();
  150. // this.m_bNeedUpdate = true;
  151. // this.m_FirstShare = this.m_FirstShareNode.getComponent('FirstShare');
  152. // var lasttime = cc.sys.localStorage.getItem(window.Key_ShareTime);
  153. // if(g_Lobby == null && DifDay(lasttime,new Date().getTime())) this.m_FirstShare.ShowView();
  154. //this.scheduleOnce(this.OnTimer_IDI_QueryParam, 0.001);
  155. cc.director.emit('Lobby_InitShareInfo');
  156. },
  157. OnQueryParam: function () {
  158. //邀请链接-
  159. if (!!!window.inviteRoom) {
  160. window.inviteRoom = cc.share.GetShareParam(cc.share.Type.InviteRoom);
  161. window.inviteClub = cc.share.GetShareParam(cc.share.Type.InviteClub);
  162. console.log('inviteRoom' + window.inviteRoom);
  163. console.log('inviteClub' + window.inviteClub);
  164. if (window.inviteRoom && window.inviteRoom.roomNum) { // 房间查询
  165. this.OnQueryRoom(window.inviteRoom.roomNum, window.inviteRoom.clubID);
  166. } else if (window.inviteClub && window.inviteClub.allianceID > 0) { // 联盟申请
  167. this.OnAutoJoinClub(window.inviteClub.kind, window.inviteClub.allianceID);
  168. ShowLobbyClub = 0;
  169. window.POP_NOTICE = 0;
  170. }
  171. }
  172. if (window.POP_NOTICE > 0 && g_Table == null) {
  173. window.POP_NOTICE = 0;
  174. var ActivityPop = parseInt(cc.sys.localStorage.getItem(window.Key_ActivityPop));
  175. if (!ActivityPop) {
  176. this.scheduleOnce(this.OnClick_BtActivity, 0.5);
  177. } else {
  178. var last = new Date(ActivityPop);
  179. var cur = new Date();
  180. if (last.getFullYear() != cur.getFullYear() || last.getMonth() != cur.getMonth() || last.getDay() != cur.getDay()) {
  181. this.scheduleOnce(this.OnClick_BtActivity, 0.5);
  182. }
  183. }
  184. }
  185. if (ShowLobbyClub != 0) this.OnBtShowClub();
  186. },
  187. GetLobbyShowArr: function () {
  188. var ClickArr = new Array(0, 0, 0, 0, 0, 0);
  189. var value = cc.sys.localStorage.getItem(window.clientName + 'LobbyShow');
  190. if (value != null) ClickArr = JSON.parse(value);
  191. return ClickArr;
  192. },
  193. UpdateLobbyShowArr: function (Index) {
  194. var ClickArr = this.GetLobbyShowArr();
  195. ClickArr[Index] = new Date().getTime();
  196. cc.sys.localStorage.setItem(window.clientName + 'LobbyShow', JSON.stringify(ClickArr));
  197. this.OnCheckLobbyShow();
  198. },
  199. // OnCheckLobbyShow:function(){
  200. // var pGlobalUserData=g_GlobalUserInfo.GetGlobalUserData();
  201. // var webUrl = window.PHP_HOME+'/UserFunc.php?GetMark=28&dwUserID='+pGlobalUserData.dwUserID;
  202. // WebCenter.GetData(webUrl, 3, function (data) {
  203. // var ShowList = JSON.parse(data);
  204. // var ClickArr = this.GetLobbyShowArr();
  205. // var Today = new Date().getTime();
  206. // this.$('plazabg/NdButton/BtRealName/point').active = (ShowList[0]==0 && DifDay(Today, ClickArr[0]));
  207. // // this.$('plazabg/NdButton/FirstGift').active = ShowList[1]==0;
  208. // // this.$('plazabg/NdButton/FirstGift/point').active = (ShowList[1]==0 && DifDay(Today, ClickArr[1]));
  209. // this.$('plazabg/NdButton/BtSign/point').active = (ShowList[2]==0 && DifDay(Today, ClickArr[2]));
  210. // this.$('plazabg/NdButton/BottomButton/BtInviteCode/point').active = (ShowList[3]==1 && DifDay(Today, ClickArr[3]));
  211. // // this.$('plazabg/NdButton/BtBindPhone/point').active = (ShowList[4]==0 && DifDay(Today, ClickArr[4]));
  212. // this.$('plazabg/NdButton/BtMail/point').active = ShowList[5]>0;
  213. // }.bind(this));
  214. // },
  215. OnCheckLobbyShow: function () {
  216. // 获取全局用户数据
  217. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  218. // 构建请求URL,用于获取用户在大厅的显示信息
  219. var webUrl = window.PHP_HOME + '/UserFunc.php?GetMark=28&dwUserID=' + pGlobalUserData.dwUserID;
  220. // 调用WebCenter的GetData方法,发送请求并设置回调函数以处理返回的数据
  221. WebCenter.GetData(webUrl, 3, function (data) {
  222. // 将返回的数据解析为JSON对象
  223. var ShowList = JSON.parse(data);
  224. // 获取用户在大厅中按钮的点击时间数组
  225. var ClickArr = this.GetLobbyShowArr();
  226. // 获取当前时间的时间戳
  227. var Today = new Date().getTime();
  228. // 设置实名认证按钮上的红点显示条件:当ShowList[0]为0且从上次点击时间到今天有至少一天的间隔时显示
  229. this.$('plazabg/NdButton/BtRealName/point').active = (ShowList[0] == 0 && DifDay(Today, ClickArr[0]));
  230. // 设置签到按钮上的红点显示条件:当ShowList[2]为0且从上次点击时间到今天有至少一天的间隔时显示
  231. this.$('plazabg/NdButton/BtSign/point').active = (ShowList[2] == 0 && DifDay(Today, ClickArr[2]));
  232. // 设置邀请码按钮上的红点显示条件:当ShowList[3]为1且从上次点击时间到今天有至少一天的间隔时显示
  233. this.$('plazabg/NdButton/BottomButton/BtInviteCode/point').active = (ShowList[3] == 1 && DifDay(Today, ClickArr[3]));
  234. // 设置邮件按钮上的红点显示条件:当ShowList[5]大于0时显示
  235. this.$('plazabg/NdButton/BottomButton/BtMail/point').active = ShowList[5] > 0;
  236. }.bind(this));
  237. },
  238. OnClick_BtBindPhone: function () {
  239. cc.gSoundRes.PlaySound('Button');
  240. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  241. var webUrl = window.PHP_HOME + '/UserFunc.php?GetMark=19&dwUserID=' + pGlobalUserData.dwUserID;
  242. WebCenter.GetData(webUrl, 3, function (data) {
  243. if (data == "") {
  244. this.ShowPrefabDLG('BindPhone', this.m_DlgNode);
  245. this.UpdateLobbyShowArr(4);
  246. } else {
  247. this.ShowAlert('您已綁定過手機!');
  248. }
  249. }.bind(this));
  250. },
  251. OnClick_BtSignIn: function () {
  252. cc.gSoundRes.PlaySound('Button');
  253. this.ShowPrefabDLG('Sign', this.m_DlgNode);
  254. this.UpdateLobbyShowArr(2);
  255. },
  256. OnClick_BtFirstBuy: function () {
  257. cc.gSoundRes.PlaySound('Button');
  258. this.ShowPrefabDLG('FirstBuy', this.m_DlgNode);
  259. this.UpdateLobbyShowArr(1);
  260. },
  261. GetShareInfo: function () {
  262. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  263. var ShareInfo = new Object();
  264. ShareInfo.title = `玩遊戲看這裡!`;
  265. ShareInfo.desc = `我和我身邊的朋友都在玩的競技平臺,快來一展身手!`;
  266. ShareInfo.imgUrl = `${window.PHP_HOME}/share.jpg`;
  267. ShareInfo.link = cc.share.MakeLink_Lobby();
  268. return ShareInfo;
  269. },
  270. OnClick_BtRealName: function () {
  271. cc.gSoundRes.PlaySound('Button');
  272. return;
  273. //提交
  274. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  275. var webUrl = window.PHP_HOME + '/UserFunc.php?GetMark=17&dwUserID=' + pGlobalUserData.dwUserID;
  276. this.ShowLoading();
  277. WebCenter.GetData(webUrl, null, function (data) {
  278. this.StopLoading();
  279. if (data == 1) return this.ShowAlert("無需重複認證!");
  280. this.ShowPrefabDLG('RealAuth', this.m_DlgNode);
  281. this.UpdateLobbyShowArr(0);
  282. }.bind(this));
  283. },
  284. //购买钻石按钮
  285. onClick_Bt_stone: function () {
  286. cc.gSoundRes.PlaySound('Button');
  287. this.ShowPrefabDLG("DiamondPolicy");
  288. //this.OnBtMoreStrong();
  289. return
  290. //提示信息
  291. this.ShowAlert("購買鑽石請聯系客服或代理.");
  292. },
  293. //商城按钮点击事件
  294. onClick_Bt_shop: function () {
  295. cc.gSoundRes.PlaySound('Button');
  296. //提示信息
  297. this.ShowAlert("請聯系客服微訊號:" + window.WX_SERVICE, Alert_Yes, function () {
  298. ThirdPartyCopyClipper(window.WX_SERVICE);
  299. this.ShowTips('已複製到剪貼簿')
  300. }.bind(this));
  301. },
  302. //显示商城
  303. OnBtMoreStrong: function () {
  304. cc.gSoundRes.PlaySound('Button');
  305. var self = this;
  306. self.ShowPrefabDLG('Store', self.m_DlgNode);
  307. return
  308. var webUrl = window.PHP_HOME + '/UserFunc.php?&GetMark=5&dwUserID=';
  309. this.ShowLoading();
  310. WebCenter.GetData(webUrl, 99999, function (data) {
  311. self.StopLoading();
  312. if (data == '') return;
  313. var res = JSON.parse(data);
  314. self.ShowPrefabDLG('PayCountPre', self.m_DlgNode, function (Js) {
  315. Js.SetData(res);
  316. });
  317. });
  318. },
  319. //设置按钮点击事件
  320. onClick_Bt_shezhi: function () {
  321. cc.gSoundRes.PlaySound('Button');
  322. this.ShowPrefabDLG('Setting', this.m_DlgNode);
  323. },
  324. //金币场入口
  325. SendTypeQuery: function (wKindID, wTypeID) {
  326. this.ShowLoading();
  327. //cc.log(wKindID,wTypeID)
  328. wKindID = 40107
  329. wTypeID = 1
  330. //预加载
  331. // cc.gPreLoader.LoadByGame(wKindID);
  332. var QueryT = new CMD_GP_C_Query_ByType();
  333. QueryT.wKindID = wKindID;
  334. QueryT.wType = wTypeID;
  335. QueryT.dwUserID = g_GlobalUserInfo.GetGlobalUserData().dwUserID;
  336. var LoginMission = new CGPLoginMission(this, MDM_GP_GET_SERVER, SUB_GP_QUERY_BYTYPE, QueryT);
  337. },
  338. //查询回连
  339. SendReLinkQuery: function () {
  340. //this.ShowLoading();
  341. var QueryRL = new CMD_GP_C_Relink();
  342. QueryRL.dwUserID = g_GlobalUserInfo.GetGlobalUserData().dwUserID;
  343. var LoginMission = new CGPLoginMission(this, MDM_GP_GET_SERVER, SUB_GP_QUERY_RELINK, QueryRL);
  344. },
  345. //创建&加入失败信息
  346. OnQueryFailed: function (FailedRes) {
  347. this.StopLoading();
  348. this.ShowTips(FailStr[FailedRes.byRes]);
  349. },
  350. //进入服务器信息
  351. OnQueryServerRes: function (ReturnServer) {
  352. this.StopLoading();
  353. if (ReturnServer.wKindID == 0) return
  354. if (!this.BeLoadRes(ReturnServer.wKindID)) return;
  355. g_ServerListDataLast = new CGameServerItem();
  356. g_ServerListDataLast.wKindID = ReturnServer.wKindID;
  357. g_ServerListDataLast.wServerPort = ReturnServer.wServerPort;
  358. g_ServerListDataLast.szServerAddr = ReturnServer.szServerAddr;
  359. g_ServerListDataLast.wServerType = ReturnServer.wServerType;
  360. g_ServerListDataLast.llEnterScore = ReturnServer.llEnterScore;
  361. g_ServerListDataLast.szServerName = "";
  362. if (ReturnServer.byTipsReturn) {
  363. var game = window.GameList[ReturnServer.wKindID];
  364. if (game == null) game = ReturnServer.wKindID;
  365. this.ShowAlert('您已在遊戲 ' + game + ' 內,點擊確定回到遊戲!', Alert_YesNo, 'EnterGameScene', this)
  366. } else {
  367. this.EnterGameScene(1);
  368. }
  369. },
  370. OnQueryRoomRes: function (ReturnServer) {
  371. this.StopLoading();
  372. if (ReturnServer.wKindID == 0) return
  373. if (!this.BeLoadRes(ReturnServer.wKindID)) return;
  374. g_ServerListDataLast = new CGameServerItem();
  375. g_ServerListDataLast.wKindID = ReturnServer.wKindID;
  376. g_ServerListDataLast.wServerPort = ReturnServer.wServerPort;
  377. g_ServerListDataLast.szServerAddr = ReturnServer.szServerAddr;
  378. g_ServerListDataLast.wServerType = ReturnServer.wServerType;
  379. g_ServerListDataLast.llEnterScore = ReturnServer.llEnterScore;
  380. g_ServerListDataLast.szServerName = "";
  381. window.g_dwRoomID = ReturnServer.dwRoomID;
  382. window.g_dwClubID = ReturnServer.dwClubID;
  383. //this.ShowLoading();
  384. this.EnterGameScene(1);
  385. },
  386. //游戏入口
  387. EnterGameScene: function (Res) {
  388. // 加载游戏
  389. if (Res && g_ServerListDataLast) {
  390. if (window.LOG_NET_DATA) console.log("地址:", g_ServerListDataLast.szServerAddr + ":" + g_ServerListDataLast.wServerPort);
  391. this.$('plazabg').active = false;
  392. this.$('DlgFrame').active = false;
  393. this.m_Loading.active = true;
  394. this.ShowPrefabDLG("UpdateManager", this.m_Loading, function (Js) {
  395. Js.StartPreload(0, g_ServerListDataLast.wKindID, function () {
  396. cc.gPreLoader.LoadRes(`Image_BG_BG${GameDef.BGIndex}`, '' + GameDef.KIND_ID, function (res) {
  397. window.gGameBG = 'loading';
  398. ChangeScene('Table');
  399. }.bind(this));
  400. }.bind(this));
  401. }.bind(this));
  402. }
  403. },
  404. //游戏资源预加载
  405. BeLoadRes: function (wKindID) {
  406. if (this.OnCheckGame(wKindID)) return false;
  407. try {
  408. //游戏自定义
  409. GameDef = new window['CMD_GAME_' + wKindID]();
  410. if (GameDef == null) {
  411. var game = window.GameList[wKindID];
  412. if (game == null) game = wKindID;
  413. this.ShowTips("本地沒有遊戲 " + game);
  414. return false;
  415. }
  416. //游戏桌布
  417. window.gGameBG = 'loading';
  418. window.LoadSetting();
  419. window.LoadSetting(wKindID);
  420. var pathInfo = window.Path_GameBG(wKindID, window.g_GameSetting[wKindID][window.SetKey_Table_BG], 0, true);
  421. GameDef.BGIndex = pathInfo.BGIndex;
  422. GameDef.BGPath = pathInfo.path;
  423. } catch (error) {
  424. this.ShowAlert("遊戲資源出錯!" + error);
  425. return false;
  426. }
  427. return true;
  428. },
  429. //显示战绩
  430. OnBtShowRecord: function () {
  431. cc.gSoundRes.PlaySound('Button');
  432. this.ShowLoading();
  433. this.ShowPrefabDLG('GameRecord', this.m_DlgNode);
  434. },
  435. //分享信息
  436. GetShareTex: function () {
  437. var TexUrl = window.PHP_HOME + '/app01/ShareRes.jpg'
  438. return TexUrl;
  439. },
  440. /////////////////////////////////////////////////////////////////////////房间
  441. //创建房间
  442. OnBtCreatRoom: function () {
  443. if (window.isAppLastVersion() == false) {
  444. this.ShowAlert("請去下載最新的版本");
  445. return;
  446. }
  447. cc.gSoundRes.PlaySound('Button');
  448. // this.ShowPrefabDLG('CreateRoom', this.m_DlgNode);
  449. this.ShowPrefabDLG('SelectGame', this.m_DlgNode, function (Js) {
  450. Js.OnSetRoomType(0);
  451. }.bind(this));
  452. },
  453. //加入房间
  454. OnBtJoinRoom: function () {
  455. if (window.isAppLastVersion() == false) {
  456. this.ShowAlert("請去下載最新的版本");
  457. return;
  458. }
  459. cc.gSoundRes.PlaySound('Button');
  460. this.SendReLinkQuery();
  461. this.ShowPrefabDLG('JoinRoom', this.m_DlgNode);
  462. },
  463. //俱乐部
  464. OnClick_BtClubMore: function (Tag, Kind) {
  465. if (window.isAppLastVersion() == false) {
  466. this.ShowAlert("請去下載最新的版本");
  467. return;
  468. }
  469. cc.gSoundRes.PlaySound('Button');
  470. this.ShowPrefabDLG('ClubFreeDLG', this.m_DlgNode, function (Js) {
  471. Js.ShowKind(Kind)
  472. });
  473. },
  474. //俱乐部
  475. OnBtShowClub: function () {
  476. if (window.isAppLastVersion() == false) {
  477. this.ShowAlert("請去下載最新的版本");
  478. return;
  479. }
  480. if (window.g_GlobalClubInfo.onGetClubInfoList().length > 0) {
  481. this.ShowPrefabDLG('ClubDLG', this.m_DlgNode, function (Js) {
  482. this.m_ClubCtrl = Js;
  483. Js.OnChangeClub(window.g_GlobalClubInfo.onGetClubInfo(ShowLobbyClub));
  484. }.bind(this));
  485. }
  486. },
  487. OnChangeClub: function (ClubInfo) {
  488. cc.gSoundRes.PlaySound('Button');
  489. ShowLobbyClub = ClubInfo.dwClubID;
  490. this.ShowPrefabDLG('ClubDLG', this.m_DlgNode, function (Js) {
  491. this.m_ClubCtrl = Js;
  492. Js.OnChangeClub(ClubInfo);
  493. }.bind(this));
  494. },
  495. OnBtShowTurntable: function () {
  496. if (window.isAppLastVersion() == false) {
  497. this.ShowAlert("請去下載最新的版本");
  498. return;
  499. }
  500. cc.gSoundRes.PlaySound('Button');
  501. this.ShowPrefabDLG('TurnTable', this.m_DlgNode, function (Js) {
  502. Js.ShowView();
  503. }.bind(this));
  504. },
  505. OnShowLeague: function () {
  506. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  507. var self = this;
  508. var webUrl = window.PHP_HOME + '/League.php?&GetMark=15&dwUserID=' + pGlobalUserData.dwUserID;
  509. this.ShowLoading();
  510. WebCenter.GetData(webUrl, null, function (data) {
  511. self.StopLoading();
  512. var LeagueInfo = JSON.parse(data);
  513. if (LeagueInfo.LeagueID == null) {
  514. self.ShowPrefabDLG('LeagueFreeDLG-V', self.m_DlgNode);
  515. } else {
  516. self.ShowPrefabDLG('LeagueDLG-V', self.m_DlgNode, function (Js) {
  517. self.m_LeagueCtrl = Js;
  518. });
  519. }
  520. });
  521. },
  522. OnBtShowDlg: function (Tag, Data) {
  523. cc.gSoundRes.PlaySound('Button');
  524. this.ShowPrefabDLG(Data, this.m_DlgNode);
  525. },
  526. //加入房间
  527. OnQueryRoom: function (RoomNum, ClubID) {
  528. if (LinkInfo && LinkInfo.LinkRoom) LinkInfo.LinkRoom[0] = 0;
  529. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  530. var QueryGR = new CMD_GP_C_GetRoom();
  531. QueryGR.dwUserID = g_GlobalUserInfo.GetGlobalUserData().dwUserID;
  532. QueryGR.dwRoomID = parseInt(RoomNum);
  533. QueryGR.dwClubID = parseInt(ClubID);
  534. //var LoginMission = new CGPLoginMission(this, MDM_GP_GET_SERVER, SUB_GP_JOIN_ROOM, QueryGR);
  535. window.gClubClientKernel.OnSendJoinRoom(this, QueryGR);
  536. },
  537. //创建房间
  538. OnCreateRoom: function (wKindID, RulesArr, ServerRules, Name) {
  539. if (this.OnCheckGame(wKindID)) return
  540. //this.ShowLoading();
  541. var QueryGR = new CMD_GP_C_CreateRoom();
  542. QueryGR.dwUserID = g_GlobalUserInfo.GetGlobalUserData().dwUserID;
  543. QueryGR.wKindID = wKindID;
  544. for (var i = 0; i < 5; i++) {
  545. if (RulesArr[i] == null) RulesArr[i] = 0;
  546. QueryGR.dwRules[i] = RulesArr[i];
  547. }
  548. QueryGR.dwServerRules = ServerRules;
  549. QueryGR.szRoomName = Name;
  550. window.gClubClientKernel.OnSendCreateRoom(this, QueryGR);
  551. //var LoginMission = new CGPLoginMission(this, MDM_GP_GET_SERVER, SUB_GP_CREATE_ROOM, QueryGR);
  552. },
  553. OnCreatRoomRes: function (RoomSuc) {//CMD_GP_S_CreatSuccess
  554. this.ShowPrefabDLG('RoomRes', this.m_DlgNode, function (Js) {
  555. Js.OnShowData(RoomSuc.dwRoomID, RoomSuc.dwClubID, RoomSuc.wKindID);
  556. }.bind(this));
  557. },
  558. //查询占用钻石
  559. OnGetUsingCard: function () {
  560. this.ShowLoading();
  561. var QueryUC = new CMD_GP_C_Query_UsingCard();
  562. QueryUC.dwUserID = g_GlobalUserInfo.GetGlobalUserData().dwUserID;
  563. var LoginMission = new CGPLoginMission(this, MDM_GP_GET_SERVER, SUB_GP_QUERY_W_ROOMCARD, QueryUC);
  564. },
  565. //赠送钻石校验
  566. OnSendCardQuery: function (lUsingCard) {
  567. this.m_SendCardCtrl.SetUsingCard(lUsingCard);
  568. },
  569. OnClick_BtActivity: function () {
  570. cc.gSoundRes.PlaySound('Button');
  571. this.ShowPrefabDLG('Activity', this.m_DlgNode, function (Js) {
  572. Js.OnShowData(0, 0);
  573. }.bind(this));
  574. },
  575. /////////////////////////////////////////////////////////////////////////
  576. OnMsgRes: function (Msg) {
  577. this.StopLoading();
  578. WebCenter.SetDataOutTime('GetMark=10');//上下分 更新
  579. this.ShowAlert(Msg, Alert_Yes, function (Res) {
  580. if (this.m_ClubCtrl) this.m_ClubCtrl.OnShowView(true);
  581. }.bind(this));
  582. },
  583. /////////////////////////////////////////////////////////////////////////
  584. OnBtRefeshRoomCard: function () {
  585. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  586. var webUrl = window.PHP_HOME + '/UserFunc.php?&GetMark=5&dwUserID=' + pGlobalUserData.dwUserID;
  587. WebCenter.GetData(webUrl, 3, function (data) {
  588. var res = JSON.parse(data);
  589. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  590. if (res.UserMedal != null) pGlobalUserData.llUserIngot = res.UserMedal;
  591. this.m_RoomCard.string = pGlobalUserData.llUserIngot;
  592. }.bind(this));
  593. },
  594. /////////////////////////////////////////////////////////////////////////////////////
  595. //游戏单热更 未完成无效接口
  596. OnCheckGame: function (wKindID) {
  597. return false;
  598. if (!cc.sys.isNative || !window.HUversion) return false;
  599. var sub = cc.sys.localStorage.getItem(window.Key_HUKey + wKindID);
  600. if (sub == 'F') return false;
  601. if (sub == null || sub == 'L') {
  602. var UpdatePrefab = cc.instantiate(this.m_UpdatePrefab);
  603. var Update = UpdatePrefab.getComponent('UpdatePrefab');
  604. this.node.addChild(UpdatePrefab);
  605. Update.CheckUpdate(wKindID);
  606. return true;
  607. }
  608. },
  609. //首次登录分享赠送相关
  610. CheckFirstShare: function () {
  611. this.m_bChecking = true;
  612. },
  613. CheckShareFunc: function () {
  614. //cc.sys.localStorage.setItem(window.Key_ShareTime, new Date().getTime());
  615. //if(this.m_bChecking == null) return
  616. this.m_bChecking = null
  617. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  618. var webUrl = window.PHP_HOME + '/UserFunc.php?&GetMark=10&dwUserID=' + pGlobalUserData.dwUserID;
  619. WebCenter.GetData(webUrl, 0, function (data) {
  620. var res = JSON.parse(data);
  621. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  622. if (res.RoomCard != null) pGlobalUserData.llUserIngot = res.RoomCard;
  623. this.m_RoomCard.string = pGlobalUserData.llUserIngot;
  624. // this.m_FirstShare.HideView();
  625. }.bind(this));
  626. },
  627. //游戏回放
  628. OnRePlayGame: function (RecordID, KindID, LookUser, Progress) {
  629. if (!this.BeLoadRes(KindID)) return;
  630. this.ShowPrefabDLG('GameRePlay', this.node, function (Js) {
  631. this.m_GameRePlay = Js;
  632. if (this.m_GameRePlay.LoadGameRes(KindID)) {
  633. this.m_GameRePlay.LoadRePlayData(LookUser, RecordID, Progress);
  634. } else {
  635. this.$('plazabg').active = false;
  636. this.$('DlgFrame').active = false;
  637. this.m_Loading.active = true;
  638. this.ShowPrefabDLG("UpdateManager", this.m_Loading, function (Js) {
  639. Js.StartPreload(0, KindID, function () {
  640. cc.gPreLoader.LoadRes(`Image_BG_BG${GameDef.BGIndex}`, '' + GameDef.KIND_ID, function (res) {
  641. window.gGameBG = 'loading';
  642. this.$('plazabg').active = true;
  643. this.$('DlgFrame').active = true;
  644. this.m_Loading.active = false;
  645. this.ShowPrefabDLG('GameRePlay', this.node, function (Js1) {
  646. if (Js1.LoadGameRes(KindID) == false) {
  647. Js1.OnDestroy();
  648. this.ShowAlert('遊戲暫不支持重播!');
  649. return
  650. }
  651. Js1.LoadRePlayData(LookUser, RecordID, Progress);
  652. }.bind(this))
  653. }.bind(this));
  654. }.bind(this));
  655. }.bind(this));
  656. }
  657. }.bind(this))
  658. },
  659. ///////////////////////////////////////////////////////////////////////////////////////绑定邀请码
  660. //检查代理绑定
  661. OnBtNewPlayer: function () {
  662. cc.gSoundRes.PlaySound('Button');
  663. var pUserInfo = g_GlobalUserInfo.GetGlobalUserData();
  664. var webUrl = window.PHP_HOME + '/UserFunc.php?GetMark=15&dwUserID=' + pUserInfo.dwUserID;
  665. webUrl += '&LogonPass=' + pUserInfo.szPassword;
  666. if (this.m_CheckNewPlayer == null) this.m_CheckNewPlayer = 0;
  667. var self = this;
  668. this.ShowLoading();
  669. WebCenter.GetData(webUrl, this.m_CheckNewPlayer, function (data) {
  670. self.m_CheckNewPlayer = 999999;
  671. self.StopLoading();
  672. var UserInfo = JSON.parse(data);
  673. if (UserInfo.Status == null) return
  674. if (1 == UserInfo.Status) {
  675. self.UpdateLobbyShowArr(3);
  676. self.ShowPrefabDLG('NewPlayer', self.m_DlgNode, function (Js) {
  677. self.m_NewPlayer = Js;
  678. });
  679. } else {
  680. self.ShowAlert("您已經完成了綁定!");
  681. }
  682. });
  683. },
  684. OnBtUnFinished: function () {
  685. this.ShowAlert("敬請期待!");
  686. },
  687. LoginAccount: function (Account, Password) {
  688. gReLogin = false;
  689. var LogonAccounts = new CMD_GP_LogonAccounts();
  690. LogonAccounts.dwPlazaVersion = cc.VERSION_PLAZA;
  691. LogonAccounts.szAccounts = Account
  692. LogonAccounts.szPassword = Password;
  693. LogonAccounts.szPassPortID = "no";
  694. var LoginMission = new CGPLoginMission(this, MDM_GP_LOGON, SUB_GP_LOGON_ACCOUNTS, LogonAccounts);
  695. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  696. pGlobalUserData.szPassword = LogonAccounts.szPassword;
  697. cc.sys.localStorage.setItem('LoginAcc', Account);
  698. cc.sys.localStorage.setItem('LoginPswT', Password);
  699. },
  700. onGPLoginSuccess: function () { },
  701. //登陆成功
  702. onGetServerListFinish: function () { },
  703. //登录失败
  704. onGPLoginFailure: function (szDescription) {
  705. this.StopLoading();
  706. //提示信息
  707. this.ShowAlert(szDescription, Alert_Yes);
  708. },
  709. OnWXErr: function (err) {
  710. this.ShowAlert('OnWXErr ' + err)
  711. },
  712. //个人信息
  713. OnBtnSelfInfo: function () {
  714. cc.gSoundRes.PlaySound("Button");
  715. // this.m_bTipGPS = true;
  716. // Gps暂时未使用
  717. this.OnBtRefeshRoomCard();
  718. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  719. var Addr = g_GlobalUserInfo.GetUserAddress(pGlobalUserData.dwUserID);
  720. if (Addr.berror) {
  721. if (cc.sys.isNative) {
  722. // ThirdPartyGetAddress(1); //获取地址先关闭
  723. } else {
  724. // var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  725. // g_GlobalUserInfo.SetUserAddress(pGlobalUserData.dwUserID, 'H5登录暂时无法获取信息!', false);
  726. // this.scheduleOnce(function(){
  727. // this.UpdateGPS('{"berror":false,"longitude": 123.434104,"latitude": 41.814169,"code": 0,"address": "沈阳市","msg": "success"}');
  728. // }.bind(this),1);
  729. this.UpdateGPS('{"berror":false,"longitude": 123.434104,"latitude": 41.814169,"code": 0,"address": "臺北市","msg": "success"}');
  730. }
  731. }
  732. this.ShowPrefabDLG('SelfInfo', this.m_DlgNode, function (Js) {
  733. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  734. Js.SetInfo(pGlobalUserData.dwUserID, pGlobalUserData.szClientIP, pGlobalUserData.llUserIngot);
  735. this.m_SelfInfo = Js;
  736. }.bind(this));
  737. },
  738. //菜单列表
  739. OnBtClickedMenu: function () {
  740. // cc.gSoundRes.PlaySound('Button');
  741. this.m_MenuNode.active = !this.m_MenuNode.active;
  742. },
  743. //退出
  744. OnBtClickedExit: function () {
  745. cc.gSoundRes.PlaySound('Button');
  746. this.ShowAlert('確定退出遊戲!', Alert_YesNo, function (Res) {
  747. if (Res) {
  748. gReLogin = true;
  749. gClientKernel.destory();
  750. window.gClubClientKernel.shutdown();
  751. ChangeScene('Launch');
  752. }
  753. })
  754. },
  755. //加入俱乐部
  756. OnBtJoinClub: function () {
  757. this.ShowPrefabDLG('ClubFreeDLG', this.m_DlgNode, function (Js) {
  758. Js.OnBtShowJoin();
  759. }.bind(this))
  760. },
  761. OnClickRoomList: function () {
  762. this.ShowPrefabDLG('RoomList', this.m_DlgNode, function (Js) {
  763. this.m_RoomList = Js;
  764. }.bind(this));
  765. },
  766. ///////////////////////////////////////////////////////////////////////////////////////
  767. OnLoadOwnRoomList: function () {
  768. //房间记录
  769. var OR = new CMD_GP_C_OwnRoom();
  770. OR.dwUserID = g_GlobalUserInfo.GetGlobalUserData().dwUserID;
  771. var LoginMission = new CGPLoginMission(this, MDM_GP_GET_SERVER, SUB_GP_GET_OWN_ROOM, OR);
  772. },
  773. onOwnRoomList: function (OwnRoom) {//CMD_GP_S_OwnRoomInfo
  774. if (this.m_RoomList && this.m_RoomList.onOwnRoomList) this.m_RoomList.onOwnRoomList(OwnRoom);
  775. },
  776. OnLoadRoomHistory: function () {
  777. //房间记录
  778. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  779. var webUrl = window.PHP_HOME + '/League.php?&GetMark=6&dwUserID=' + pGlobalUserData.dwUserID;
  780. WebCenter.GetData(webUrl, 3, function (data) {
  781. var ClubList = JSON.parse(data);
  782. var GRE = new CMD_GP_C_GetRoomEx();
  783. for (var i = 0; i < 10; i++) {
  784. GRE.dwClubID[i] = 0;
  785. if (ClubList[i]) GRE.dwClubID[i] = ClubList[i].ClubID;
  786. }
  787. var TempStr = cc.sys.localStorage.getItem(window.clientName + 'RoomHistory');
  788. var TempArr = new Array();
  789. if (TempStr) TempArr = JSON.parse(TempStr);
  790. for (var i = 0; i < 40; i++) {
  791. GRE.dwRoomID[i] = 0;
  792. //if(TempArr[i]) GRE.dwRoomID[i]=TempArr[i];
  793. }
  794. var LoginMission = new CGPLoginMission(this, MDM_GP_GET_SERVER, SUB_GP_GET_ROOMEX, GRE);
  795. }.bind(this));
  796. },
  797. OnQueryLoadRoomHistory: function (ClubList) {
  798. if (!ClubList) return;
  799. var GRE = new CMD_GP_C_GetRoomEx();
  800. for (var i = 0; i < 10; i++) {
  801. GRE.dwClubID[i] = 0;
  802. if (ClubList[i]) GRE.dwClubID[i] = ClubList[i].ClubID;
  803. }
  804. var TempStr = cc.sys.localStorage.getItem(window.clientName + 'RoomHistory');
  805. var TempArr = new Array();
  806. if (TempStr) TempArr = JSON.parse(TempStr);
  807. for (var i = 0; i < 40; i++) {
  808. GRE.dwRoomID[i] = 0;
  809. //if(TempArr[i]) GRE.dwRoomID[i]=TempArr[i];
  810. }
  811. var LoginMission = new CGPLoginMission(this, MDM_GP_GET_SERVER, SUB_GP_GET_ROOMEX, GRE);
  812. },
  813. OnGetRoomExRes: function (Res) {//CMD_GP_C_GetRoomExRes
  814. this.m_RoomArr = Res;
  815. if (this.RoomList && this.RoomList.OnGetRoomExRes) this.RoomList.OnGetRoomExRes(Res);
  816. },
  817. update: function () {
  818. // var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  819. // if (pGlobalUserData.szNickName != this.m_MeUserCtrl.m_LabNick.string) this.m_MeUserCtrl.SetUserByID(pGlobalUserData.dwUserID);
  820. //微信H5 code登录
  821. if (this.m_NeedLogin) {
  822. this.m_NeedLogin = null;
  823. if (window.g_PhpUserName != null) {
  824. this.LoginAccount(window.g_PhpUserName, hex_md5(window.g_PhpPassword));
  825. } else {
  826. var WXCode = getQueryString("code");
  827. var webUrl = window.PHP_HOME + '/UserFunc.php?&GetMark=7&code=' + WXCode;
  828. WebCenter.GetData(webUrl, null, function (data) {
  829. var Login = JSON.parse(data);
  830. if (Login.errcode != null) return this.ShowAlert("ErrCode:" + Login.errcode, Alert_Yes, function () {
  831. ThirdPartyCopyClipper(data)
  832. ThirdPartyExitGame();
  833. });
  834. this.LoginAccount(Login.Accounts, Login.LogonPass);
  835. }.bind(this));
  836. }
  837. }
  838. //显示处理
  839. if (this.m_bNeedUpdate) {
  840. this.m_bNeedUpdate = false;
  841. } else {
  842. return;
  843. }
  844. // if(!this.m_LeagueList){
  845. // this.ShowPrefabDLG('LeagueList', this.m_DlgNode, function(Js){
  846. // this.m_LeagueList = Js;
  847. // this.m_LeagueList.node.zIndex = -1;
  848. // }.bind(this));
  849. // }
  850. // if (cc.sys.isNative) {
  851. // ThirdPartyGetAddress(1);
  852. // } else {
  853. // var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  854. // g_GlobalUserInfo.SetUserAddress(pGlobalUserData.dwUserID, 'H5登录暂时无法获取信息!', false);
  855. // }
  856. },
  857. OnUpdateCard: function (obj) {
  858. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  859. this.m_RoomCard.string = pGlobalUserData.llUserIngot;
  860. },
  861. OnUpload_Success: function () {
  862. this.ShowAlert('上传完成!', Alert_Yes, function (Res) {
  863. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  864. this.m_MeUserCtrl.SetUserByID(pGlobalUserData.dwUserID, true);
  865. if (this.m_SelfInfo && this.m_SelfInfo.node.active && this.m_SelfInfo.OnUpload_Finish) {
  866. this.m_SelfInfo.OnUpload_Finish();
  867. }
  868. if (this['m_JsClubDLG'] && this['m_JsClubDLG'].node.active && this['m_JsClubDLG'].OnUpload_Finish) {
  869. this['m_JsClubDLG'].OnUpload_Finish();
  870. }
  871. }.bind(this));
  872. },
  873. OnUpload_Faild: function () {
  874. this.OnUpload_Success();
  875. },
  876. UpdateGPS: function (Info) {
  877. if (!Info || Info.length <= 0) return
  878. var Obj = JSON.parse(Info);
  879. // if(Obj.berror == true || Obj.code != 0)return this.GetSelfGPSInfo();
  880. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  881. if (Obj.berror === true) g_GlobalUserInfo.SetUserAddress(pGlobalUserData.dwUserID, '用戶運行環境無法準確獲取地理位置!', Obj.berror);
  882. else
  883. g_GlobalUserInfo.SetUserAddress(pGlobalUserData.dwUserID, Obj.address, Obj.berror);
  884. if (this.m_SelfInfo && this.m_SelfInfo.node.active) {
  885. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  886. this.m_SelfInfo.SetInfo(pGlobalUserData.dwUserID, pGlobalUserData.szClientIP, pGlobalUserData.llUserIngot);
  887. }
  888. },
  889. onSwitchBG: function (index) {
  890. if (index == null) index = window.g_Setting[window.SetKey_Lobby_BG];
  891. var bg = this.$('plazabg@Sprite');
  892. cc.resources.load("Image/BG/BG" + index, cc.SpriteFrame, function (err, spriteFrame) {
  893. bg.spriteFrame = spriteFrame;
  894. });
  895. },
  896. //支付相关
  897. onclickTestBugGoodCallback() {
  898. let tempPayData = "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";
  899. this.orderId = "1_1755854553_2936_3416a75f";
  900. this.onBuyGoodCallback(tempPayData);
  901. },
  902. //商品购买按钮点击事件
  903. onClick_Buy_Good: function () {
  904. cc.gSoundRes.PlaySound('Button');
  905. // this.orderId = "1_1755854553_2936_3416a75f";
  906. // let goodInfo = {
  907. // shopId: "coin_99"
  908. // };
  909. // ThirdPartyBuyGood(JSON.stringify(goodInfo));
  910. let userId = g_GlobalUserInfo.GetGlobalUserData().dwUserID;
  911. let sendData = {
  912. userId: userId,
  913. shopId: 1,
  914. platformId: 1
  915. };
  916. //info { return, data, timestamp }
  917. let webUrl = `${PHP_HOME}/pay.php`;
  918. WebCenter.httpPOST(webUrl, sendData, (info) => {
  919. cc.log("post buy good, ", info);
  920. if ("0" != info.return && 0 != info.return) {
  921. return cc.error("post buy good Error!");
  922. }
  923. this.setOrderId(info.orderId, () => {
  924. this.ShowTips("购买商品成功,获得钻石99个!");
  925. });
  926. ThirdPartyBuyGood(JSON.stringify({
  927. itemID: "buyId_ios_2000"
  928. }));
  929. });
  930. },
  931. setOrderId(orderId, callback) {
  932. this.orderId = orderId;
  933. this.orderCallback = callback;
  934. },
  935. onBurSuccessUpdate(info) {
  936. this.orderCallback && this.orderCallback(info.UserMedal);
  937. if (!info.UserMedal) {
  938. return;
  939. }
  940. this.m_RoomCard.string = info.UserMedal;
  941. },
  942. onBuyGoodCallback(payData) {
  943. if (0 == this.orderId) {
  944. return cc.error("buy good receip No OrderId!");
  945. }
  946. // this.ShowTips("购买商品成功,获得钻石99个!");
  947. let userId = g_GlobalUserInfo.GetGlobalUserData().dwUserID;
  948. let webUrl = `${window["PHP_HOME"]}/pay.php`;
  949. let sendData = {
  950. userId: userId,
  951. orderId: this.orderId,
  952. receipt: payData
  953. };
  954. //info { return, transaction_id, UserMedal }
  955. WebCenter.httpPOST(webUrl, sendData, (info) => {
  956. console.log("post buy good receipt return, ", info);
  957. if ("0" != info.return && 0 != info.return) {
  958. return cc.error("post buy good receip Error!");
  959. }
  960. this.onBurSuccessUpdate(info);
  961. this.orderId = 0;
  962. ThirdPartyReturnPayReceiptVerification(info.transaction_id);
  963. });
  964. },
  965. });