SubLoad.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. // Log.warn("开始加载微信分包")
  20. if(Plat.isWX()==false)
  21. {
  22. this.loadComplete();
  23. return ;
  24. }
  25. // Log.warn("正在加载---"+this.packages[this.index])
  26. Plat.pt.loadSubpackage({
  27. name:this.packages[this.index],
  28. success:this.ok.bind(this),
  29. fail:this.err.bind(this)
  30. })
  31. }
  32. public static ok()
  33. {
  34. this.index++;
  35. if(this.index==this.packages.length)
  36. {
  37. //全部加载完了..
  38. this.loadComplete();
  39. return ;
  40. }
  41. // Log.warn("正在加载---"+this.packages[this.index])
  42. Plat.pt.loadSubpackage({
  43. name:this.packages[this.index],
  44. success:this.ok.bind(this),
  45. fail:this.err.bind(this)
  46. })
  47. }
  48. public static err(res)
  49. {
  50. // console.error("分包加载失败了2")
  51. // console.error(res);
  52. }
  53. //加载完成...
  54. public static loadComplete()
  55. {
  56. // Log.warn("微信分包加载完毕")
  57. this.callback();
  58. }
  59. }