loading_view.ts 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. import { _decorator, Component, Label, Node, ProgressBar } from 'cc';
  2. import { userDataManager } from '../manager/userDataManager';
  3. import { imageCacheManager } from '../manager/imageCacheManager';
  4. import { GameManager } from '../GameManager';
  5. import { SdkUtil } from '../sdkUtil';
  6. import { area_item_data, car_item_data, userInfo } from '../data';
  7. import { config } from '../config';
  8. import { http } from '../http';
  9. import { uiManager } from '../manager/uiManager';
  10. import { select_area } from './select_area/select_area';
  11. import { tools } from '../tools';
  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. progress = parseFloat(progress.toFixed(1))
  29. // console.log('progress=',progress)
  30. this.loading_bar.getComponent(ProgressBar).progress = progress
  31. this.lab_loading_bar.getComponent(Label).string = `${(progress*100).toFixed()}%`
  32. switch (progress) {
  33. case 0.1:
  34. this.m_pause_status = true
  35. this.initUserData(()=>{
  36. if(userDataManager.user_data.region_id<=0) {
  37. this.setUserSelectArea()
  38. } else {
  39. this.m_pause_status = false
  40. }
  41. })
  42. break
  43. case 0.2:
  44. this.m_pause_status = true
  45. this.initSysConfig(()=>{
  46. this.m_pause_status = false
  47. })
  48. break
  49. case 0.3:
  50. this.m_pause_status = true
  51. this.initMineRank(()=>{
  52. this.m_pause_status = false
  53. })
  54. break
  55. case 0.4:
  56. this.m_pause_status = true
  57. this.initUserCarList(()=>{
  58. this.m_pause_status = false
  59. })
  60. break
  61. case 0.5:
  62. this.m_pause_status = true
  63. this.initLevels(()=>{
  64. this.m_pause_status = false
  65. })
  66. break
  67. case 0.6:
  68. this.m_pause_status = true
  69. this.initAllCarList(()=>{
  70. this.m_pause_status = false
  71. })
  72. break
  73. case 0.7:
  74. this.m_pause_status = true
  75. imageCacheManager.start_cache(()=>{
  76. this.m_pause_status = false
  77. })
  78. break
  79. default:
  80. break;
  81. }
  82. if(progress >= 1) {
  83. if(this.m_finish_load_call!=null){
  84. this.m_finish_load_call()
  85. }
  86. this.node.removeFromParent()
  87. this.unscheduleAllCallbacks()
  88. return;
  89. }
  90. },0.1)
  91. }
  92. private initUserData(login_finish_cb){
  93. this.userLogin((openid)=>{
  94. GameManager.openId = openid
  95. SdkUtil.getUserInfo((data:userInfo)=>{
  96. let opt;
  97. if(data!=null){
  98. opt = {"openid":GameManager.openId,"platform":config.Platform.platform,"avatarUrl":data.avatarUrl,"nickName":data.nickName}
  99. }else{
  100. opt = {"openid":GameManager.openId,"platform":config.Platform.platform,"nickName":"大靓仔"}
  101. }
  102. http.post(config.API.login,opt,(err,d)=>{
  103. if(!err){
  104. let nd = JSON.parse(d)
  105. if(nd.code === config.status.SUCCESS){
  106. userDataManager.user_data = nd.content
  107. console.log('用户信息=',userDataManager.user_data)
  108. GameManager.requestTTSidebarUserReward(config.USER_TT_SIDEBAR_REWARD.GET, (d_content)=>{
  109. userDataManager.user_data.tt_sidebar_reward_status = 0
  110. if(data!=null) {
  111. userDataManager.user_data.tt_sidebar_reward_status = d_content.status
  112. }
  113. if(login_finish_cb!=null){
  114. login_finish_cb()
  115. }
  116. })
  117. }
  118. }
  119. })
  120. })
  121. })
  122. }
  123. private userLogin(cb){
  124. SdkUtil.login((res)=>{
  125. if(res!=null){
  126. http.post(config.API.get_dyopen_id,res,(err,data)=>{
  127. if(!err){
  128. let d = JSON.parse(data)
  129. if(d.code === config.status.SUCCESS){
  130. cb(d.content.openid)
  131. }
  132. }
  133. })
  134. }else{
  135. cb("123")
  136. }
  137. })
  138. }
  139. private setUserSelectArea() {
  140. uiManager.Instance().showUi(config.UI.ui_select_area, this.node, (node:Node)=>{
  141. node.getComponent(select_area).initView(false, (obj:select_area, data:area_item_data)=>{
  142. GameManager.requestUserSetRegion(data.id, 1, (d_content)=>{
  143. userDataManager.user_data.region_id = d_content.region_id
  144. userDataManager.user_data.region_pid = d_content.region_pid
  145. userDataManager.user_data.province_name = d_content.province_name
  146. userDataManager.user_data.city_name = d_content.city_name
  147. userDataManager.user_data.license_code = d_content.license_code
  148. this.m_pause_status = false
  149. obj.closeSelf()
  150. })
  151. })
  152. })
  153. }
  154. private initSysConfig(cb) {
  155. http.get(config.STATIC_API.sysconfig,(err,d)=>{
  156. if(!err){
  157. let data = JSON.parse(d)
  158. if(data.code===config.status.SUCCESS){
  159. tools.sys_config = data.content
  160. if(cb!=null) {
  161. cb()
  162. }
  163. }
  164. }else{
  165. console.log("initSysConfig err",err)
  166. }
  167. })
  168. }
  169. private initMineRank(cb) {
  170. GameManager.requestMineRank(0, (d_content)=>{
  171. tools.mine_rank_data = d_content
  172. if(cb!=null) {
  173. cb()
  174. }
  175. })
  176. }
  177. private initUserCarList(cb){
  178. GameManager.requestUserCarList((d_content)=>{
  179. userDataManager.user_car_list = d_content
  180. if(cb!=null) {
  181. cb()
  182. }
  183. })
  184. }
  185. private initLevels(cb) {
  186. http.get(config.STATIC_API.levels,(err,d)=>{
  187. if(!err){
  188. let data = JSON.parse(d)
  189. if(data.code===config.status.SUCCESS){
  190. tools.levels = JSON.parse(data.content.levels_info)
  191. tools.tpl_list = data.content.tpl_list
  192. tools.game_config = JSON.parse(data.content.levels_config)
  193. // console.log("tools.levels",tools.levels)
  194. // console.log("tools.tpl_list",tools.tpl_list)
  195. // console.log("tools.game_config",tools.game_config)
  196. if(cb!=null) {
  197. cb()
  198. }
  199. }
  200. }else{
  201. console.log("initLevels err",err)
  202. }
  203. })
  204. }
  205. private initAllCarList(cb) {
  206. http.get(config.STATIC_API.car_list,(err,d)=>{
  207. if(!err){
  208. let data = JSON.parse(d)
  209. if(data.code===config.status.SUCCESS){
  210. tools.all_car_list = data.content
  211. // console.log("tools.all_car_list",tools.all_car_list)
  212. let slice_size:number = 8
  213. for (let i = 0; i < tools.all_car_list.length; i += slice_size) {
  214. let aa = tools.all_car_list.slice(i, i + slice_size)
  215. tools.all_car_page_list.push(aa)
  216. }
  217. if(cb!=null) {
  218. cb()
  219. }
  220. }
  221. }else{
  222. console.log("init all_car_list err",err)
  223. }
  224. })
  225. }
  226. }