loading_view.ts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import { _decorator, Component, Node, ProgressBar, sys } from 'cc';
  2. import { 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. private m_finish_load_call = null;
  11. private m_pause_status = false;
  12. public startLoading(finish_load_call){
  13. this.m_finish_load_call = finish_load_call;
  14. this.loading_bar.getComponent(ProgressBar).progress = 0;
  15. this.schedule(()=>{
  16. if(this.m_pause_status){
  17. return;
  18. }
  19. this.loading_bar.getComponent(ProgressBar).progress +=0.1;
  20. let progress = this.loading_bar.getComponent(ProgressBar).progress
  21. switch(progress){
  22. case 0.2:
  23. this.m_pause_status = true;
  24. http.run_get(http.get_sys_config(),(err,data)=>{
  25. if(!err){
  26. let sys_data:sysMessage = JSON.parse(data)
  27. gameManager.setSysData(sys_data)
  28. this.m_pause_status = false;
  29. }
  30. })
  31. break;
  32. case 0.5:
  33. this.m_pause_status = true;
  34. let user_data = gameManager.getUserData()
  35. if(user_data==null){
  36. user_data = new UserData;
  37. user_data.user_id = "123";
  38. }
  39. let formData = {"openid":user_data.user_id,"avatarUrl": ""}
  40. let login_call_back = ()=>{
  41. // console.log("formData",formData)
  42. http.run_post(http.get_login(),formData,(err,data)=>{
  43. if(!err){
  44. let _data = JSON.parse(data);
  45. if(_data.code==config.MSG_CODE.SUCCESS){
  46. user_data.user_id = _data.content.openid
  47. user_data.token = _data.content.token;
  48. if(_data.content.unlock_levels.length<=0){
  49. user_data.unlock_levels = []
  50. }
  51. gameManager.setUserData(user_data)
  52. if(user_data.unlock_levels.length<=0){
  53. gameManager.Singleton.unLockLevel(1)
  54. }
  55. config.TOKEN = user_data.token;
  56. this.m_pause_status = false;
  57. }
  58. return
  59. }
  60. })
  61. }
  62. if(user_data.user_id==null){
  63. if(sys.platform==sys.Platform.BYTEDANCE_MINI_GAME){
  64. tt.login({
  65. force: true,
  66. success(res) {
  67. let code = res.code;
  68. let anonymousCode = res.anonymousCode;
  69. http.run_post(http.get_dyopen_id(),{"code":code,"anonymous_code":anonymousCode},()=>{
  70. login_call_back();
  71. })
  72. }
  73. ,fail(res) {
  74. console.log(`login 调用失败`);
  75. }
  76. });
  77. }else{
  78. login_call_back();
  79. }
  80. }else{
  81. login_call_back();
  82. }
  83. break;
  84. }
  85. if(this.loading_bar.getComponent(ProgressBar).progress>=1){
  86. if(this.m_finish_load_call!=null){
  87. this.m_finish_load_call()
  88. }
  89. this.unscheduleAllCallbacks()
  90. return;
  91. }
  92. },0.1)
  93. }
  94. }