loading_view.ts 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. import { _decorator, Component, Label, Node, ProgressBar } from 'cc';
  2. import { SdkUtil } from '../../sdkUtil';
  3. import { http } from '../../http';
  4. import { config } from '../../config';
  5. import { GameManager } from '../../GameManager';
  6. import { userDataManager } from '../../manager/userDataManager';
  7. import { area_item_data, userInfo } from '../../data';
  8. import { tools } from '../../tools';
  9. import { imageCacheManager } from '../../manager/imageCacheManager';
  10. import { uiManager } from '../../manager/uiManager';
  11. import { select_area } from '../select_area/select_area';
  12. const { ccclass, property } = _decorator;
  13. @ccclass('loading_view')
  14. export class loading_view extends Component {
  15. @property(Node) loading_bar:Node = null;
  16. @property(Node) lab_loading_bar:Node = null;
  17. private m_finish_load_call = null;
  18. private m_pause_status = false;
  19. startLoading(finish_load_call) {
  20. this.m_finish_load_call = finish_load_call;
  21. let progress = 0
  22. this.loading_bar.getComponent(ProgressBar).progress = progress;
  23. this.schedule(()=>{
  24. if(this.m_pause_status){
  25. return;
  26. }
  27. progress += 0.1
  28. // console.log('progress=',progress)
  29. this.loading_bar.getComponent(ProgressBar).progress = progress
  30. this.lab_loading_bar.getComponent(Label).string = `${(progress*100).toFixed()}%`
  31. switch (progress) {
  32. case 0.1:
  33. this.m_pause_status = true
  34. this.initUserData(()=>{
  35. if(userDataManager.user_data.region_id<=0) {
  36. this.setUserSelectArea()
  37. } else {
  38. this.m_pause_status = false
  39. }
  40. })
  41. break
  42. case 0.2:
  43. this.m_pause_status = true
  44. this.getUserCarList(()=>{
  45. this.m_pause_status = false
  46. })
  47. break
  48. case 0.5:
  49. this.m_pause_status = true
  50. this.initLevels(()=>{
  51. this.m_pause_status = false
  52. })
  53. break
  54. case 0.6:
  55. this.m_pause_status = true
  56. this.initAllCarList(()=>{
  57. this.m_pause_status = false
  58. })
  59. break
  60. case 0.7:
  61. this.m_pause_status = true
  62. imageCacheManager.start_cache(()=>{
  63. this.m_pause_status = false
  64. })
  65. break
  66. default:
  67. break;
  68. }
  69. if(progress >= 1) {
  70. if(this.m_finish_load_call!=null){
  71. this.m_finish_load_call()
  72. }
  73. this.node.removeFromParent()
  74. this.unscheduleAllCallbacks()
  75. return;
  76. }
  77. },0.1)
  78. }
  79. private initUserData(login_finish_cb){
  80. this.userLogin((openid)=>{
  81. GameManager.openId = openid
  82. SdkUtil.getUserInfo((data:userInfo)=>{
  83. let opt;
  84. if(data!=null){
  85. opt = {"openid":GameManager.openId,"platform":config.Platform.platform,"avatarUrl":data.avatarUrl,"nickName":data.nickName}
  86. }else{
  87. opt = {"openid":GameManager.openId,"platform":config.Platform.platform,"nickName":"大靓仔"}
  88. }
  89. http.post(config.API.login,opt,(err,d)=>{
  90. if(!err){
  91. let nd = JSON.parse(d)
  92. if(nd.code === config.status.SUCCESS){
  93. userDataManager.user_data = nd.content
  94. // console.log('user_data=',userDataManager.user_data)
  95. if(login_finish_cb!=null){
  96. login_finish_cb()
  97. }
  98. }
  99. }
  100. })
  101. })
  102. })
  103. }
  104. private userLogin(cb){
  105. SdkUtil.login((res)=>{
  106. if(res!=null){
  107. http.post(config.API.get_dyopen_id,res,(err,data)=>{
  108. if(!err){
  109. let d = JSON.parse(data)
  110. if(d.code === config.status.SUCCESS){
  111. cb(d.content.openid)
  112. }
  113. }
  114. })
  115. }else{
  116. cb("456")
  117. }
  118. })
  119. }
  120. private setUserSelectArea() {
  121. uiManager.Instance().showUi(config.UI.ui_select_area, this.node, (node:Node)=>{
  122. node.getComponent(select_area).initView(false, (obj:select_area, data:area_item_data)=>{
  123. tools.requestUserSetRegion(data.id, 1, (d)=>{
  124. userDataManager.user_data.region_id = d.region_id
  125. userDataManager.user_data.region_pid = d.region_pid
  126. this.m_pause_status = false
  127. obj.closeSelf()
  128. })
  129. })
  130. })
  131. }
  132. private getUserCarList(cb){
  133. http.post(config.API.user_car_list,null,(err,d)=>{
  134. if(!err){
  135. let nd = JSON.parse(d)
  136. if(nd.code === config.status.SUCCESS){
  137. userDataManager.user_car_list = nd.content
  138. // console.log("user_car_list", userDataManager.user_car_list)
  139. if(cb!=null){
  140. cb()
  141. }
  142. }
  143. }
  144. },'GET')
  145. }
  146. private initLevels(cb) {
  147. http.get(config.STATIC_API.levels,(err,d)=>{
  148. if(!err){
  149. let data = JSON.parse(d)
  150. if(data.code===config.status.SUCCESS){
  151. tools.levels = JSON.parse(data.content.levels_info)
  152. tools.tpl_list = data.content.tpl_list
  153. tools.game_config = JSON.parse(data.content.levels_config)
  154. // console.log("tools.levels",tools.levels)
  155. // console.log("tools.tpl_list",tools.tpl_list)
  156. // console.log("tools.game_config",tools.game_config)
  157. if(cb!=null) {
  158. cb()
  159. }
  160. }
  161. }else{
  162. console.log("initLevels err",err)
  163. }
  164. })
  165. }
  166. private initAllCarList(cb) {
  167. http.get(config.STATIC_API.car_list,(err,d)=>{
  168. if(!err){
  169. let data = JSON.parse(d)
  170. if(data.code===config.status.SUCCESS){
  171. tools.all_car_list = data.content
  172. // console.log("tools.all_car_list",tools.all_car_list)
  173. if(cb!=null) {
  174. cb()
  175. }
  176. }
  177. }else{
  178. console.log("init all_car_list err",err)
  179. }
  180. })
  181. }
  182. }