loading_view.ts 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. import { _decorator, Component, Label, Node, ProgressBar, sys } from 'cc';
  2. import { gameMessage, getOpenidMessage, getTestUserListMessage, LevelMessage, sysMessage, UserData } from '../../../data/data';
  3. import { gameManager } from '../gameManager';
  4. import { http } from '../../http';
  5. import { config } from '../../config';
  6. import { SdkUtil } from '../../sdkUtil';
  7. import { tools } from '../../tools';
  8. const { ccclass, property } = _decorator;
  9. @ccclass('loading_view')
  10. export class loading_view extends Component {
  11. @property(Node) loading_bar:Node = null;
  12. @property(Node) lab_loading_bar:Node = null;
  13. private m_finish_load_call = null;
  14. private m_pause_status = false;
  15. public startLoading(finish_load_call){
  16. gameManager.Singleton.showLoadingLevel()
  17. this.m_finish_load_call = finish_load_call;
  18. var progress = 0
  19. this.loading_bar.getComponent(ProgressBar).progress = progress;
  20. let unLockFirstLevel =()=>{
  21. // let url = http.getGameList(1, 2)
  22. let url = http.getPlatformLevelsList(config.LevelType.LEVEL,0,SdkUtil.getPlatformIdentify(), 1, 2)
  23. http.run_get_static(url,(err,data)=>{
  24. if(!err){
  25. let msg:LevelMessage = JSON.parse(data)
  26. gameManager.Singleton.unLockLevel(msg.content.list[0].id)
  27. this.m_pause_status = false;
  28. }
  29. })
  30. }
  31. this.schedule(()=>{
  32. if(this.m_pause_status){
  33. return;
  34. }
  35. progress +=0.1
  36. progress = parseFloat(progress.toFixed(1))
  37. if(progress<=1) {
  38. this.loading_bar.getComponent(ProgressBar).progress = progress - 0.02
  39. this.lab_loading_bar.getComponent(Label).string = `${(progress*100).toFixed()}%`
  40. }
  41. switch(progress){
  42. case 0.2:
  43. this.m_pause_status = true;
  44. http.run_get_static(http.get_sys_config(),(err,data)=>{
  45. if(!err){
  46. let sys_data:sysMessage = JSON.parse(data)
  47. gameManager.setSysData(sys_data)
  48. this.m_pause_status = false;
  49. }
  50. })
  51. break;
  52. case 0.3:
  53. this.m_pause_status = true;
  54. let url = http.get_game_config(config.gameID,SdkUtil.getPlatformIdentify())
  55. http.run_get_static(url, (err,data)=>{
  56. if(!err) {
  57. let game_data:gameMessage = JSON.parse(data)
  58. gameManager.setGameData(game_data)
  59. this.m_pause_status = false;
  60. }
  61. })
  62. break;
  63. case 0.5:
  64. this.m_pause_status = true;
  65. let user_data;
  66. if(!config.is_zb) {
  67. user_data = gameManager.getUserData()
  68. }
  69. if(user_data==null){
  70. user_data = new UserData;
  71. }
  72. let formData = {"openid":user_data.user_id,"platform":user_data.platform,"avatarUrl": ""}
  73. let login_call_back = ()=>{
  74. // console.log("formData",formData)
  75. http.run_post(http.get_login(),formData,(err,data)=>{
  76. // console.log('login_data=',data)
  77. if(!err){
  78. let _data = JSON.parse(data);
  79. if(_data.code==config.MSG_CODE.SUCCESS){
  80. user_data.user_id = _data.content.openid
  81. user_data.id = _data.content.id
  82. user_data.token = _data.content.token;
  83. user_data.platform = _data.content.platform;
  84. if(_data.content.unlock_levels.length<=0||user_data.unlock_levels==undefined){
  85. user_data.unlock_levels = []
  86. }
  87. config.TOKEN = user_data.token;
  88. gameManager.setUserData(user_data)
  89. gameManager.request_user_unlock_number_status(config.User_unlock_levels_number_status.GET,(unlock_number_data)=> {
  90. if(user_data.unlock_levels.length<=0){
  91. unLockFirstLevel()
  92. }else{
  93. this.m_pause_status = false;
  94. }
  95. },null)
  96. }
  97. return
  98. }
  99. })
  100. }
  101. if(user_data.user_id==null){
  102. let third_login_success = (url,r_data)=>{
  103. http.run_post(url,r_data, (err,data)=> {
  104. let _data:getOpenidMessage = JSON.parse(data)
  105. if(_data.code===config.MSG_CODE.SUCCESS){
  106. user_data.user_id = _data.content.openid;
  107. formData.openid = _data.content.openid;
  108. formData.platform = SdkUtil.getPlatformIdentify()
  109. // console.log("_data",data)
  110. login_call_back();
  111. }
  112. })
  113. }
  114. SdkUtil.login((data)=>{
  115. if(data!=null) {
  116. let url = ''
  117. switch (tools.platform) {
  118. case config.Platform.TT:
  119. url = http.get_dyopen_id()
  120. break;
  121. case config.Platform.WX:
  122. url = http.get_wxopen_id()
  123. break;
  124. case config.Platform.KS:
  125. url = http.get_ksopen_id()
  126. break;
  127. default:
  128. break;
  129. }
  130. third_login_success(url,data)
  131. } else {
  132. if(config.is_zb) {
  133. user_data.user_id = gameManager.getZbOpenid()
  134. formData.openid = user_data.user_id;
  135. formData.platform = ''
  136. login_call_back();
  137. } else {
  138. user_data.user_id = "123";
  139. formData.openid = user_data.user_id;
  140. formData.platform = ''
  141. login_call_back();
  142. }
  143. }
  144. })
  145. }else{
  146. login_call_back();
  147. }
  148. break;
  149. case 0.7:
  150. this.m_pause_status = true;
  151. http.run_get_static(http.get_test_user_list(),(err,data)=>{
  152. // console.log('testUser=',data)
  153. if(!err){
  154. let _data:getTestUserListMessage = JSON.parse(data)
  155. for (let index = 0; index < _data.content.length; index++) {
  156. if(gameManager.getStaticUserData().id== _data.content[index]){
  157. gameManager.isTestUser = true;
  158. break;
  159. }
  160. }
  161. this.m_pause_status = false;
  162. }
  163. })
  164. break;
  165. }
  166. if(progress >= 1) {
  167. if(this.m_finish_load_call!=null){
  168. gameManager.Singleton.hideLoadingLevel()
  169. this.m_finish_load_call()
  170. }
  171. this.unscheduleAllCallbacks()
  172. return;
  173. }
  174. },0.1)
  175. }
  176. }