loading_view.ts 9.2 KB

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