App.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { _decorator, Component, ProgressBar, director } from 'cc';
  2. import { md5 } from '../core/utils/MD5';
  3. import { ConfigData } from '../Data/ConfigData';
  4. import { g } from '../Data/g';
  5. import { Login } from './Login';
  6. import { AppUpdate } from './AppUpdate';
  7. import { ISJSB, platform } from '../Data/platform';
  8. import { Utils } from '../core/utils/Utils';
  9. import { HotUpdate } from '../hotupdate/HotUpdate';
  10. const { ccclass, property } = _decorator;
  11. @ccclass('App')
  12. export class App extends Component {
  13. @property({ type: Login, tooltip: "登录脚本" })
  14. public login: Login;
  15. @property({ type: AppUpdate, tooltip: "应用更新脚本" })
  16. public appUpdate: AppUpdate;
  17. @property({ type: HotUpdate, tooltip: "热更新脚本" })
  18. public hotUpdate: HotUpdate;
  19. @property({ type: ProgressBar, tooltip: "加载进度条组件" })
  20. public progressBar: ProgressBar;
  21. private configLoaded = false;
  22. onLoad() {
  23. platform.removeSplash();
  24. }
  25. start() {
  26. platform.checkCPermissions();
  27. this.loadConfig();
  28. }
  29. private async loadConfig() {
  30. await this.node.getComponent(ConfigData).loadConfig();
  31. this.configLoaded = true;
  32. }
  33. update() {
  34. if (this.configLoaded) {
  35. this.login.init();
  36. this.configLoaded = false;
  37. // if (ISJSB) {
  38. // if (this.hotUpdate.versionIsNew && this.appUpdate.versionIsNew != -1 && g.deviceData.needlogin && (g.deviceData.imei || g.deviceData.oaid || g.deviceData.androId || g.deviceData.mac)) {
  39. // let account = new md5().hex_md5(g.deviceData.imei + g.deviceData.oaid + g.deviceData.androId + g.deviceData.mac);
  40. // this.login.login(account);
  41. // g.deviceData.needlogin = false;
  42. // }
  43. // else if (g.deviceData.channel && g.deviceData.version) {
  44. // this.appUpdate.checkNativeVersion(g.deviceData.version);
  45. // g.deviceData.version = null;
  46. // }
  47. // if (g.deviceData.apkDownloading) {//如果apk正在下载
  48. // this.appUpdate.setDownloadAPKProgress();
  49. // }
  50. // }
  51. // else {
  52. // this.login.login();
  53. // this.configLoaded = false;
  54. // }
  55. }
  56. }
  57. onHotUpdateProgress(progress: number) {
  58. this.progressBar.progress = progress;
  59. }
  60. }