import { _decorator, Component, Label, Node, ProgressBar } from 'cc'; import { userDataManager } from '../manager/userDataManager'; import { imageCacheManager } from '../manager/imageCacheManager'; import { GameManager } from '../GameManager'; import { SdkUtil } from '../sdkUtil'; import { area_item_data, userInfo } from '../data'; import { config } from '../config'; import { http } from '../http'; import { uiManager } from '../manager/uiManager'; import { select_area } from './select_area/select_area'; 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; startLoading(finish_load_call) { this.m_finish_load_call = finish_load_call; let progress = 0 this.loading_bar.getComponent(ProgressBar).progress = progress; this.schedule(()=>{ if(this.m_pause_status){ return; } progress += 0.1 progress = parseFloat(progress.toFixed(1)) // console.log('progress=',progress) this.loading_bar.getComponent(ProgressBar).progress = progress this.lab_loading_bar.getComponent(Label).string = `${(progress*100).toFixed()}%` switch (progress) { case 0.1: this.m_pause_status = true this.initUserData(()=>{ if(userDataManager.user_data.region_id<=0) { this.setUserSelectArea() } else { this.m_pause_status = false } }) break case 0.2: this.m_pause_status = true this.initSysConfig(()=>{ this.m_pause_status = false }) break case 0.3: this.m_pause_status = true this.initMineRank(()=>{ this.m_pause_status = false }) break case 0.4: this.m_pause_status = true this.getUserCarList(()=>{ this.m_pause_status = false }) break case 0.5: this.m_pause_status = true this.initLevels(()=>{ this.m_pause_status = false }) break case 0.6: this.m_pause_status = true this.initAllCarList(()=>{ this.m_pause_status = false }) break case 0.7: this.m_pause_status = true imageCacheManager.start_cache(()=>{ this.m_pause_status = false }) break default: break; } if(progress >= 1) { if(this.m_finish_load_call!=null){ this.m_finish_load_call() } this.node.removeFromParent() this.unscheduleAllCallbacks() return; } },0.1) } private initUserData(login_finish_cb){ this.userLogin((openid)=>{ GameManager.openId = openid SdkUtil.getUserInfo((data:userInfo)=>{ let opt; if(data!=null){ opt = {"openid":GameManager.openId,"platform":config.Platform.platform,"avatarUrl":data.avatarUrl,"nickName":data.nickName} }else{ opt = {"openid":GameManager.openId,"platform":config.Platform.platform,"nickName":"大靓仔"} } http.post(config.API.login,opt,(err,d)=>{ if(!err){ let nd = JSON.parse(d) if(nd.code === config.status.SUCCESS){ userDataManager.user_data = nd.content // console.log('user_data=',userDataManager.user_data) if(login_finish_cb!=null){ login_finish_cb() } } } }) }) }) } private userLogin(cb){ SdkUtil.login((res)=>{ if(res!=null){ http.post(config.API.get_dyopen_id,res,(err,data)=>{ if(!err){ let d = JSON.parse(data) if(d.code === config.status.SUCCESS){ cb(d.content.openid) } } }) }else{ cb("456") } }) } private setUserSelectArea() { uiManager.Instance().showUi(config.UI.ui_select_area, this.node, (node:Node)=>{ node.getComponent(select_area).initView(false, (obj:select_area, data:area_item_data)=>{ GameManager.requestUserSetRegion(data.id, 1, (d)=>{ userDataManager.user_data.region_id = d.region_id userDataManager.user_data.region_pid = d.region_pid userDataManager.user_data.province_name = d.province_name userDataManager.user_data.city_name = d.city_name this.m_pause_status = false obj.closeSelf() }) }) }) } private initSysConfig(cb) { http.get(config.STATIC_API.sysconfig,(err,d)=>{ if(!err){ let data = JSON.parse(d) if(data.code===config.status.SUCCESS){ tools.sys_config = data.content if(cb!=null) { cb() } } }else{ console.log("initSysConfig err",err) } }) } private initMineRank(cb) { GameManager.requestMineRank(0, (d_content)=>{ tools.mine_rank_data = d_content if(cb!=null) { cb() } }) } private getUserCarList(cb){ GameManager.getUserCarList(()=>{ if(cb!=null) { cb() } }) } private initLevels(cb) { http.get(config.STATIC_API.levels,(err,d)=>{ if(!err){ let data = JSON.parse(d) if(data.code===config.status.SUCCESS){ tools.levels = JSON.parse(data.content.levels_info) tools.tpl_list = data.content.tpl_list tools.game_config = JSON.parse(data.content.levels_config) // console.log("tools.levels",tools.levels) // console.log("tools.tpl_list",tools.tpl_list) // console.log("tools.game_config",tools.game_config) if(cb!=null) { cb() } } }else{ console.log("initLevels err",err) } }) } private initAllCarList(cb) { http.get(config.STATIC_API.car_list,(err,d)=>{ if(!err){ let data = JSON.parse(d) if(data.code===config.status.SUCCESS){ tools.all_car_list = data.content // console.log("tools.all_car_list",tools.all_car_list) if(cb!=null) { cb() } } }else{ console.log("init all_car_list err",err) } }) } }