SubLoad.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import Plat from "./Palt";
  2. import Log from "./util/Log";
  3. export default class SubLoad
  4. {
  5. //分包加载逻辑
  6. public static packages=[];
  7. public static index=0;
  8. public static init()
  9. {
  10. this.packages.push("resources");
  11. this.packages.push("res");
  12. }
  13. private static callback:any;
  14. //加载分包
  15. public static loadSub(call)
  16. {
  17. this.init();
  18. this.callback=call;
  19. if(Plat.isWX()==false)
  20. {
  21. this.loadComplete();
  22. return ;
  23. }
  24. // Log.warn("正在加载---"+this.packages[this.index])
  25. Plat.pt.loadSubpackage({
  26. name:this.packages[this.index],
  27. success:this.ok.bind(this),
  28. fail:this.err.bind(this)
  29. })
  30. }
  31. public static ok()
  32. {
  33. this.index++;
  34. if(this.index==this.packages.length)
  35. {
  36. //全部加载完了..
  37. this.loadComplete();
  38. return ;
  39. }
  40. // Log.warn("正在加载---"+this.packages[this.index])
  41. Plat.pt.loadSubpackage({
  42. name:this.packages[this.index],
  43. success:this.ok.bind(this),
  44. fail:this.err.bind(this)
  45. })
  46. }
  47. public static err(res)
  48. {
  49. // console.error("分包加载失败了2")
  50. // console.error(res);
  51. }
  52. //加载完成...
  53. public static loadComplete()
  54. {
  55. // Log.warn("微信分包加载完毕")
  56. this.callback();
  57. }
  58. }