import { _decorator, Component, Label, Node, ProgressBar, sys } from 'cc'; import { gameMessage, getOpenidMessage, getTestUserListMessage, LevelMessage, sysMessage, UserData } from '../../../data/data'; import { gameManager } from '../gameManager'; import { http } from '../../http'; import { config } from '../../config'; import { SdkUtil } from '../../sdkUtil'; import { tools } from '../../tools'; const { ccclass, property } = _decorator; @ccclass('loading_view') export class loading_view extends Component { @property(Node) loading_bar:Node = null; @property(Node) lab_loading_bar:Node = null; private m_finish_load_call = null; private m_pause_status = false; public startLoading(finish_load_call){ gameManager.Singleton.showLoadingLevel() this.m_finish_load_call = finish_load_call; var progress = 0 this.loading_bar.getComponent(ProgressBar).progress = progress; let unLockFirstLevel =()=>{ // let url = http.getGameList(1, 2) let url = http.getPlatformLevelsList(config.LevelType.LEVEL,0,SdkUtil.getPlatformIdentify(), 1, 2) http.run_get_static(url,(err,data)=>{ if(!err){ let msg:LevelMessage = JSON.parse(data) gameManager.Singleton.unLockLevel(msg.content.list[0].id) this.m_pause_status = false; } }) } this.schedule(()=>{ if(this.m_pause_status){ return; } progress +=0.1 progress = parseFloat(progress.toFixed(1)) if(progress<=1) { this.loading_bar.getComponent(ProgressBar).progress = progress - 0.02 this.lab_loading_bar.getComponent(Label).string = `${(progress*100).toFixed()}%` } switch(progress){ case 0.2: this.m_pause_status = true; http.run_get_static(http.get_sys_config(),(err,data)=>{ if(!err){ let sys_data:sysMessage = JSON.parse(data) gameManager.setSysData(sys_data) this.m_pause_status = false; } }) break; case 0.3: this.m_pause_status = true; let url = http.get_game_config(config.gameID,SdkUtil.getPlatformIdentify()) http.run_get_static(url, (err,data)=>{ if(!err) { let game_data:gameMessage = JSON.parse(data) gameManager.setGameData(game_data) this.m_pause_status = false; } }) break; case 0.5: this.m_pause_status = true; let user_data; if(!config.is_zb) { user_data = gameManager.getUserData() } if(user_data==null){ user_data = new UserData; } let formData = {"openid":user_data.user_id,"platform":user_data.platform,"avatarUrl": ""} let login_call_back = ()=>{ // console.log("formData",formData) http.run_post(http.get_login(),formData,(err,data)=>{ // console.log('login_data=',data) if(!err){ let _data = JSON.parse(data); if(_data.code==config.MSG_CODE.SUCCESS){ user_data.user_id = _data.content.openid user_data.id = _data.content.id user_data.token = _data.content.token; user_data.platform = _data.content.platform; if(_data.content.unlock_levels.length<=0||user_data.unlock_levels==undefined){ user_data.unlock_levels = [] } config.TOKEN = user_data.token; gameManager.setUserData(user_data) gameManager.request_user_unlock_number_status(config.User_unlock_levels_number_status.GET,(unlock_number_data)=> { if(user_data.unlock_levels.length<=0){ unLockFirstLevel() }else{ this.m_pause_status = false; } },null) } return } }) } if(user_data.user_id==null){ let third_login_success = (url,r_data)=>{ http.run_post(url,r_data, (err,data)=> { let _data:getOpenidMessage = JSON.parse(data) if(_data.code===config.MSG_CODE.SUCCESS){ user_data.user_id = _data.content.openid; formData.openid = _data.content.openid; formData.platform = SdkUtil.getPlatformIdentify() // console.log("_data",data) login_call_back(); } }) } SdkUtil.login((data)=>{ if(data!=null) { let url = '' switch (tools.platform) { case config.Platform.TT: url = http.get_dyopen_id() break; case config.Platform.WX: url = http.get_wxopen_id() break; case config.Platform.KS: url = http.get_ksopen_id() break; default: break; } third_login_success(url,data) } else { if(config.is_zb) { user_data.user_id = gameManager.getZbOpenid() formData.openid = user_data.user_id; formData.platform = '' login_call_back(); } else { user_data.user_id = "123"; formData.openid = user_data.user_id; formData.platform = '' login_call_back(); } } }) }else{ login_call_back(); } break; case 0.7: this.m_pause_status = true; http.run_get_static(http.get_test_user_list(),(err,data)=>{ // console.log('testUser=',data) if(!err){ let _data:getTestUserListMessage = JSON.parse(data) for (let index = 0; index < _data.content.length; index++) { if(gameManager.getStaticUserData().id== _data.content[index]){ gameManager.isTestUser = true; break; } } this.m_pause_status = false; } }) break; } if(progress >= 1) { if(this.m_finish_load_call!=null){ gameManager.Singleton.hideLoadingLevel() this.m_finish_load_call() } this.unscheduleAllCallbacks() return; } },0.1) } }