loading_view.ts 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. import { _decorator, Component, error, Label, Node, ProgressBar, sys } from 'cc';
  2. import { getOpenidMessage, getTestUserListMessage, sysMessage, UserData } from '../../../data/data';
  3. import { gameManager } from '../gameManager';
  4. import { http } from '../../http';
  5. import { config } from '../../config';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('loading_view')
  8. export class loading_view extends Component {
  9. @property(Node) loading_bar:Node = null;
  10. @property(Node) lab_loading_bar:Node = null;
  11. private m_finish_load_call = null;
  12. private m_pause_status = false;
  13. public startLoading(finish_load_call){
  14. this.m_finish_load_call = finish_load_call;
  15. var progress = 0
  16. this.loading_bar.getComponent(ProgressBar).progress = progress;
  17. this.schedule(()=>{
  18. if(this.m_pause_status){
  19. return;
  20. }
  21. progress +=0.1
  22. if(progress<=1) {
  23. this.loading_bar.getComponent(ProgressBar).progress = progress - 0.02
  24. this.lab_loading_bar.getComponent(Label).string = `${(progress*100).toFixed()}%`
  25. }
  26. switch(progress){
  27. case 0.2:
  28. this.m_pause_status = true;
  29. http.run_get_static(http.get_sys_config(),(err,data)=>{
  30. if(!err){
  31. let sys_data:sysMessage = JSON.parse(data)
  32. gameManager.setSysData(sys_data)
  33. this.m_pause_status = false;
  34. }
  35. })
  36. break;
  37. case 0.5:
  38. this.m_pause_status = true;
  39. let user_data = gameManager.getUserData()
  40. if(user_data==null){
  41. user_data = new UserData;
  42. }
  43. let formData = {"openid":user_data.user_id,"platform":user_data.platform,"avatarUrl": ""}
  44. let login_call_back = ()=>{
  45. // console.log("formData",formData)
  46. http.run_post(http.get_login(),formData,(err,data)=>{
  47. // console.log('login_data=',data)
  48. if(!err){
  49. let _data = JSON.parse(data);
  50. if(_data.code==config.MSG_CODE.SUCCESS){
  51. user_data.user_id = _data.content.openid
  52. user_data.id = _data.content.id
  53. user_data.token = _data.content.token;
  54. user_data.platform = _data.content.platform;
  55. if(_data.content.unlock_levels.length<=0||user_data.unlock_levels==undefined){
  56. user_data.unlock_levels = []
  57. }
  58. gameManager.setUserData(user_data)
  59. if(user_data.unlock_levels.length<=0){
  60. gameManager.Singleton.unLockLevel(1)
  61. }
  62. config.TOKEN = user_data.token;
  63. gameManager.request_user_unlock_number_status(config.User_unlock_levels_number_status.GET,(unlock_number_data)=> {
  64. this.m_pause_status = false;
  65. },null)
  66. }
  67. return
  68. }
  69. })
  70. }
  71. if(user_data.user_id==null){
  72. if(sys.platform==sys.Platform.BYTEDANCE_MINI_GAME){
  73. tt.login({
  74. force: true,
  75. success(res) {
  76. let code = res.code;
  77. let anonymousCode = res.anonymousCode;
  78. console.log("tt_code",code,anonymousCode)
  79. http.run_post(http.get_dyopen_id(),{"code":code,"anonymous_code":anonymousCode},(err,data)=>{
  80. let _data:getOpenidMessage = JSON.parse(data)
  81. if(_data.code===config.MSG_CODE.SUCCESS){
  82. user_data.user_id = _data.content.openid;
  83. formData.openid = _data.content.openid;
  84. formData.platform = 'douyin'
  85. // console.log("_data",_data)
  86. login_call_back();
  87. }
  88. })
  89. },
  90. fail(res) {
  91. console.log(`tt_login 调用失败:`,res);
  92. }
  93. });
  94. }
  95. else if(sys.platform==sys.Platform.WECHAT_GAME){
  96. wx.login({
  97. success(res) {
  98. let code = res.code;
  99. console.log("wx_code",code)
  100. http.run_post(http.get_wxopen_id(),{"code": code}, (err,data)=> {
  101. let _data:getOpenidMessage = JSON.parse(data)
  102. if(_data.code===config.MSG_CODE.SUCCESS){
  103. user_data.user_id = _data.content.openid;
  104. formData.openid = _data.content.openid;
  105. formData.platform = 'wx'
  106. // console.log("_data",data)
  107. login_call_back();
  108. }
  109. })
  110. },
  111. fali(err) {
  112. console.log('wx_login 调用失败:',err)
  113. }
  114. })
  115. }
  116. else{
  117. user_data.user_id = "123";
  118. formData.openid = user_data.user_id;
  119. formData.platform = ''
  120. login_call_back();
  121. }
  122. }else{
  123. login_call_back();
  124. }
  125. break;
  126. case 0.7:
  127. this.m_pause_status = true;
  128. http.run_get_static(http.get_test_user_list(),(err,data)=>{
  129. if(!err){
  130. let _data:getTestUserListMessage = JSON.parse(data)
  131. for (let index = 0; index < _data.content.length; index++) {
  132. if(gameManager.getStaticUserData().id== _data.content[index]){
  133. gameManager.isTestUser = true;
  134. break;
  135. }
  136. }
  137. this.m_pause_status = false;
  138. }
  139. })
  140. break;
  141. }
  142. if(progress >= 1) {
  143. if(this.m_finish_load_call!=null){
  144. this.m_finish_load_call()
  145. }
  146. this.unscheduleAllCallbacks()
  147. return;
  148. }
  149. },0.1)
  150. }
  151. }