@ives_xxz/framework 2.1.32 → 2.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,10 +44,10 @@ export class FWLayerType {
44
44
  }
45
45
 
46
46
  export class FWTaskStatus {
47
- IDLE = "IDLE";
48
- RUNNING = "RUNNING";
49
- PAUSED = "PAUSED";
50
- COMPLETED = "COMPLETED";
47
+ IDLE = 'IDLE';
48
+ RUNNING = 'RUNNING';
49
+ PAUSED = 'PAUSED';
50
+ COMPLETED = 'COMPLETED';
51
51
  }
52
52
 
53
53
  export class FWPriorityOrder {
@@ -91,17 +91,17 @@ export class FWLogType {
91
91
  * HTTP请求类型
92
92
  */
93
93
  export class FWHttpRequestType {
94
- GET = "GET";
95
- POST = "POST";
94
+ GET = 'GET';
95
+ POST = 'POST';
96
96
  }
97
97
 
98
98
  /**
99
99
  * 动画机类型
100
100
  */
101
101
  export class FWAnimationMachineType {
102
- TWEEN = "TWEEN";
103
- SKELETON = "SKELETON";
104
- ANIMATION = "ANIMATION";
102
+ TWEEN = 'TWEEN';
103
+ SKELETON = 'SKELETON';
104
+ ANIMATION = 'ANIMATION';
105
105
  }
106
106
 
107
107
  export class FWVirtualScrollViewDirection {
@@ -127,23 +127,25 @@ export class FWScrollViewSelectedType {
127
127
  }
128
128
 
129
129
  export class FWLanguageAssetType {
130
- LABEL = "label";
131
- SPRITE = "sprite";
132
- SKELETON = "skeleton";
130
+ LABEL = 'label';
131
+ SPRITE = 'sprite';
132
+ SKELETON = 'skeleton';
133
133
  }
134
134
 
135
135
  export class FWPromiseStatus {
136
- PENDING = "pending";
137
- FULFILLED = "fulfilled";
138
- REJECTED = "rejected";
139
- CANCELLED = "cancelled";
136
+ PENDING = 'pending';
137
+ FULFILLED = 'fulfilled';
138
+ REJECTED = 'rejected';
139
+ CANCELLED = 'cancelled';
140
140
  }
141
141
 
142
142
  export class FWLayerState {
143
- CLOSED = "closed";
144
- OPENING = "opening";
145
- OPENED = "opened";
146
- CLOSING = "closing";
143
+ LOADING = 'loading';
144
+ LOADED = 'loaded';
145
+ OPENING = 'opening';
146
+ OPENED = 'opened';
147
+ CLOSED = 'closed';
148
+ CLOSING = 'closing';
147
149
  }
148
150
 
149
151
  export class FWAudioType {
@@ -1,9 +1,9 @@
1
- import { FWManager } from "./FWManager";
2
- import { FWQueue } from "../utils/FWQueue";
3
- import { FrameworkBase } from "../FrameworkBase";
4
- import { PerformanceMonitor } from "../expand/FWDecorator";
1
+ import { FWManager } from './FWManager';
2
+ import { FWQueue } from '../utils/FWQueue';
3
+ import { FrameworkBase } from '../FrameworkBase';
4
+ import { PerformanceMonitor } from '../expand/FWDecorator';
5
5
 
6
- const ADD_EXTERNAL_REFERENCE: string = "addExternalReference";
6
+ const ADD_EXTERNAL_REFERENCE: string = 'addExternalReference';
7
7
 
8
8
  export class FWLayerManager extends FWManager implements FW.LayerManager {
9
9
  private resourceManager: FWLayerResourceManager;
@@ -13,54 +13,55 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
13
13
  private stateManager: FWLayerStateManager;
14
14
  private queueManager: FWLayerQueueManager;
15
15
  private openManager: FWLayerOpenManager;
16
+ private debug: boolean;
16
17
 
17
18
  public initialize(): void {
19
+ this.debug = false;
18
20
  this.resourceManager = new FWLayerResourceManager();
19
21
  this.dataManager = new FWLayerDataManager();
20
22
  this.createManager = new FWLayerCreateManager();
21
23
  this.stackManager = new FWLayerStackManager();
22
- this.stateManager = new FWLayerStateManager();
23
24
  this.queueManager = new FWLayerQueueManager();
24
-
25
+ this.stateManager = new FWLayerStateManager(this.debug);
25
26
  this.openManager = new FWLayerOpenManager(
26
27
  this.dataManager,
27
28
  this.resourceManager,
28
29
  this.createManager,
29
30
  this.stackManager,
30
31
  this.queueManager,
32
+ this.stateManager,
31
33
  );
32
34
  }
33
35
 
36
+ openDetailsLog() {
37
+ this.debug = true;
38
+ }
34
39
  /**
35
40
  * 异步打开Layer
36
41
  */
37
- @PerformanceMonitor("openAsync")
42
+ @PerformanceMonitor('openAsync')
38
43
  async openAsync<Ctr extends FW.LayerController = FW.LayerController>(
39
44
  data: FW.LayerOpenArgs,
40
45
  ): Promise<Ctr> {
46
+ if (this.debug) FW.Log.error('异步打开Layer -> 查看调用堆栈');
41
47
  return this.openManager.openLayerAsync(data) as Promise<Ctr>;
42
48
  }
43
49
 
44
50
  /**
45
51
  * 同步打开
46
52
  */
47
- openSync<Ctr extends FW.LayerController = FW.LayerController>(
48
- data: FW.LayerOpenArgs,
49
- ): Ctr {
53
+ openSync<Ctr extends FW.LayerController = FW.LayerController>(data: FW.LayerOpenArgs): Ctr {
54
+ if (this.debug) FW.Log.error('同步打开Layer -> 查看调用堆栈');
50
55
  return this.openManager.openLayerSync(data) as Ctr;
51
56
  }
52
57
 
53
58
  /**
54
59
  * 显示layer并恢复所有节点事件
55
60
  */
56
- displayLayer<Ctr extends FW.LayerController = FW.LayerController>(
57
- ctr: Ctr,
58
- ): Ctr {
61
+ displayLayer<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Ctr {
59
62
  const layerData = ctr.layerData;
60
63
 
61
- if (
62
- !this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)
63
- ) {
64
+ if (!this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)) {
64
65
  FW.Log.warn(`display layer failed,layer name : ${layerData.layerName}`);
65
66
  return;
66
67
  }
@@ -80,13 +81,9 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
80
81
  /**
81
82
  * 隐藏layer并隐藏所有节点事件
82
83
  */
83
- hideLayer<Ctr extends FW.LayerController = FW.LayerController>(
84
- ctr: Ctr,
85
- ): Ctr {
84
+ hideLayer<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Ctr {
86
85
  const layerData = ctr.layerData;
87
- if (
88
- !this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)
89
- ) {
86
+ if (!this.dataManager.getLayerMap().has(ctr.layerData.controllerConstructor)) {
90
87
  FW.Log.warn(`hide layer failed,layer name : ${layerData.layerName}`);
91
88
  return;
92
89
  }
@@ -130,9 +127,7 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
130
127
  for (let i = 0; i < count; i++) {
131
128
  let layerData = this.stackManager.pop();
132
129
  let ctr = layerData.controller;
133
- if (
134
- !this.dataManager.getLayerMap().has(layerData.controllerConstructor)
135
- ) {
130
+ if (!this.dataManager.getLayerMap().has(layerData.controllerConstructor)) {
136
131
  return;
137
132
  }
138
133
  if (cc.isValid(ctr.layer?.node)) {
@@ -163,23 +158,33 @@ export class FWLayerManager extends FWManager implements FW.LayerManager {
163
158
  /**
164
159
  * 关闭layer
165
160
  */
166
- async close<Ctr extends FW.LayerController = FW.LayerController>(
167
- ctr: Ctr,
168
- ): Promise<Ctr> {
161
+ async close<Ctr extends FW.LayerController = FW.LayerController>(ctr: Ctr): Promise<Ctr> {
169
162
  if (!ctr) return;
170
163
 
171
164
  return FW.Entry.promiseMgr.execute(async (resolve, reject) => {
172
165
  let layerData = ctr.layerData;
173
166
 
174
167
  if (cc.isValid(ctr.layer?.node)) {
168
+ this.stateManager.setState(
169
+ ctr.layerData.controllerConstructor,
170
+ FW.SystemDefine.FWLayerState.CLOSING,
171
+ );
172
+
175
173
  await ctr.onClose?.();
174
+
175
+ this.stateManager.setState(
176
+ ctr.layerData.controllerConstructor,
177
+ FW.SystemDefine.FWLayerState.CLOSED,
178
+ );
179
+
176
180
  ctr.destroy?.();
181
+
177
182
  if (ctr.autoRelease) {
178
183
  FW.Entry.resMgr.releaseAsset(ctr.layerData.layerAssetProperty);
179
184
  }
180
185
  this.dataManager.notifyExternalRefUpdates(ctr.layerData);
181
186
  }
182
-
187
+ this.stateManager.removeState(layerData?.controllerConstructor);
183
188
  this.dataManager.removeFromMap(layerData?.controllerConstructor);
184
189
  this.dataManager.removeFromRegistry(ctr.layerData?.controllerConstructor);
185
190
 
@@ -256,8 +261,7 @@ export class FWLayerData<T extends FW.LayerController = FW.LayerController>
256
261
  class FWLayerDataManager {
257
262
  private layerMap: Map<new () => FW.LayerController, FWLayerData> = new Map();
258
263
  private layerRegistry: Set<new () => FW.LayerController> = new Set();
259
- private layerControllerFactory: FWLayerControllerFactory =
260
- new FWLayerControllerFactory();
264
+ private layerControllerFactory: FWLayerControllerFactory = new FWLayerControllerFactory();
261
265
  /**
262
266
  * 获取已存在的Layer
263
267
  */
@@ -385,7 +389,7 @@ class FWLayerDataManager {
385
389
  try {
386
390
  cb?.(null);
387
391
  } catch (e) {
388
- FW.Log.error("External ref update callback error:", e);
392
+ FW.Log.error('External ref update callback error:', e);
389
393
  }
390
394
  });
391
395
  layerData.externalReference.clear();
@@ -410,8 +414,7 @@ class FWLayerDataManager {
410
414
  }
411
415
 
412
416
  class FWLayerCreateManager {
413
- private lifecycleManager: FWLayerLifecycleManager =
414
- new FWLayerLifecycleManager();
417
+ private lifecycleManager: FWLayerLifecycleManager = new FWLayerLifecycleManager();
415
418
 
416
419
  /**
417
420
  * 创建Layer节点
@@ -464,6 +467,7 @@ class FWLayerOpenManager {
464
467
  private createManager: FWLayerCreateManager,
465
468
  private stackManager: FWLayerStackManager,
466
469
  private queueManager: FWLayerQueueManager,
470
+ private stateManager: FWLayerStateManager,
467
471
  ) {}
468
472
 
469
473
  /**
@@ -492,12 +496,7 @@ class FWLayerOpenManager {
492
496
  return proxy as Ctr;
493
497
  }
494
498
 
495
- if (
496
- this.queueManager.handlePopupQueue(
497
- layerData,
498
- this.dataManager.getLayerMap(),
499
- )
500
- ) {
499
+ if (this.queueManager.handlePopupQueue(layerData, this.dataManager.getLayerMap())) {
501
500
  return undefined;
502
501
  }
503
502
 
@@ -506,9 +505,7 @@ class FWLayerOpenManager {
506
505
  return this.asyncGenerationLayer(layerData, data);
507
506
  }
508
507
 
509
- openLayerSync<Ctr extends FW.LayerController = FW.LayerController>(
510
- data: FW.LayerOpenArgs,
511
- ): Ctr {
508
+ openLayerSync<Ctr extends FW.LayerController = FW.LayerController>(data: FW.LayerOpenArgs): Ctr {
512
509
  if (!this.validateOpenData(data)) {
513
510
  return undefined;
514
511
  }
@@ -529,12 +526,7 @@ class FWLayerOpenManager {
529
526
  return proxy as Ctr;
530
527
  }
531
528
 
532
- if (
533
- this.queueManager.handlePopupQueue(
534
- layerData,
535
- this.dataManager.getLayerMap(),
536
- )
537
- ) {
529
+ if (this.queueManager.handlePopupQueue(layerData, this.dataManager.getLayerMap())) {
538
530
  return undefined;
539
531
  }
540
532
 
@@ -557,16 +549,34 @@ class FWLayerOpenManager {
557
549
  /**
558
550
  * 异步生成Layer
559
551
  */
560
- private async asyncGenerationLayer<
561
- Ctr extends FW.LayerController = FW.LayerController,
562
- >(layerData: FWLayerData, data: FW.LayerOpenArgs): Promise<Ctr> {
552
+ private async asyncGenerationLayer<Ctr extends FW.LayerController = FW.LayerController>(
553
+ layerData: FWLayerData,
554
+ data: FW.LayerOpenArgs,
555
+ ): Promise<Ctr> {
563
556
  try {
557
+ this.stateManager.setState(
558
+ layerData.controllerConstructor,
559
+ FW.SystemDefine.FWLayerState.LOADING,
560
+ );
564
561
  const res = await this.resourceManager.loadLayerAsync(layerData);
562
+
563
+ this.stateManager.setState(
564
+ layerData.controllerConstructor,
565
+ FW.SystemDefine.FWLayerState.OPENING,
566
+ );
565
567
  const ctr = this.createLayer(layerData, res, data) as Ctr;
568
+
566
569
  this.dataManager.removeFromRegistry(layerData.controllerConstructor);
570
+
571
+ this.stateManager.setState(
572
+ layerData.controllerConstructor,
573
+ FW.SystemDefine.FWLayerState.OPENED,
574
+ );
575
+
567
576
  return ctr;
568
577
  } catch (e) {
569
578
  FW.Log.error(`asyncGenerationLayer failed:`, e);
579
+ this.stateManager.removeState(layerData.controllerConstructor);
570
580
  this.dataManager.clearFailedLayer(layerData);
571
581
  throw e;
572
582
  }
@@ -575,16 +585,27 @@ class FWLayerOpenManager {
575
585
  /**
576
586
  * 同步创建Layer
577
587
  */
578
- private syncGenerationLayer<
579
- Ctr extends FW.LayerController = FW.LayerController,
580
- >(layerData: FWLayerData, data: FW.LayerOpenArgs): Ctr {
588
+ private syncGenerationLayer<Ctr extends FW.LayerController = FW.LayerController>(
589
+ layerData: FWLayerData,
590
+ data: FW.LayerOpenArgs,
591
+ ): Ctr {
581
592
  try {
593
+ this.stateManager.setState(
594
+ layerData.controllerConstructor,
595
+ FW.SystemDefine.FWLayerState.OPENING,
596
+ );
582
597
  const res = this.resourceManager.loadLayerSync(layerData);
583
598
  const ctr = this.createLayer(layerData, res, data) as Ctr;
584
- this.dataManager.removeFromRegistry(layerData.controllerConstructor);
599
+
600
+ this.stateManager.setState(
601
+ layerData.controllerConstructor,
602
+ FW.SystemDefine.FWLayerState.OPENED,
603
+ );
604
+
585
605
  return ctr;
586
606
  } catch (e) {
587
607
  FW.Log.error(`syncGenerationLayer failed:`, e);
608
+ this.dataManager.removeFromRegistry(layerData.controllerConstructor);
588
609
  this.dataManager.clearFailedLayer(layerData);
589
610
  return undefined;
590
611
  }
@@ -613,29 +634,22 @@ class FWLayerOpenManager {
613
634
 
614
635
  this.createManager.setupLayerLifecycle(layer, layerData.controller);
615
636
 
616
- if (
617
- layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT
618
- ) {
637
+ if (layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT) {
619
638
  this.stackManager.push(layerData);
620
639
  }
621
640
 
622
641
  this.dataManager.removeFromRegistry(layerData.controllerConstructor);
623
642
 
624
- layerData.controllerProxy =
625
- this.dataManager.createControllerProxy(layerData);
643
+ layerData.controllerProxy = this.dataManager.createControllerProxy(layerData);
626
644
 
627
645
  return layerData.controllerProxy as Ctr;
628
646
  }
629
647
  }
630
648
 
631
649
  class FWLayerResourceManager {
632
- async loadLayerAsync(
633
- layerData: FWLayerData,
634
- ): Promise<{ asset: cc.Prefab; uuid: string }> {
650
+ async loadLayerAsync(layerData: FWLayerData): Promise<{ asset: cc.Prefab; uuid: string }> {
635
651
  try {
636
- const res = await FW.Entry.resMgr.loadAssetData<cc.Prefab>(
637
- layerData.layerAssetProperty,
638
- );
652
+ const res = await FW.Entry.resMgr.loadAssetData<cc.Prefab>(layerData.layerAssetProperty);
639
653
  if (!res) return undefined;
640
654
  res.user = layerData.layerName;
641
655
  res.autoRelease = layerData.controller.autoRelease;
@@ -650,9 +664,7 @@ class FWLayerResourceManager {
650
664
  loadLayerSync(layerData: FWLayerData): { asset: cc.Prefab; uuid: string } {
651
665
  layerData.layerAssetProperty.bundle =
652
666
  layerData.layerAssetProperty.bundle || FW.Entry.bundleName;
653
- const res = FW.Entry.resMgr.getAssetData<cc.Prefab>(
654
- layerData.layerAssetProperty,
655
- );
667
+ const res = FW.Entry.resMgr.getAssetData<cc.Prefab>(layerData.layerAssetProperty);
656
668
  res.user = layerData.layerName;
657
669
  res.autoRelease = layerData.controller.autoRelease;
658
670
  res.dependentBundle = layerData.controller.layerAssetProperty.bundle;
@@ -664,9 +676,7 @@ class FWLayerStackManager {
664
676
  private layerStack: FWLayerData[] = [];
665
677
 
666
678
  push(layerData: FWLayerData): void {
667
- if (
668
- layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT
669
- ) {
679
+ if (layerData.controller.layerType !== FW.SystemDefine.FWLayerType.PERMANENT) {
670
680
  this.layerStack.push(layerData);
671
681
  }
672
682
  }
@@ -676,9 +686,7 @@ class FWLayerStackManager {
676
686
  }
677
687
 
678
688
  remove(layerData: FWLayerData): void {
679
- const index = this.layerStack.findIndex(
680
- (v) => v.controller === layerData.controller,
681
- );
689
+ const index = this.layerStack.findIndex((v) => v.controller === layerData.controller);
682
690
  if (index > -1) {
683
691
  this.layerStack.splice(index, 1);
684
692
  }
@@ -694,21 +702,14 @@ class FWLayerStackManager {
694
702
  }
695
703
 
696
704
  class FWLayerStateManager {
697
- private layerStates = new Map<
698
- new () => FW.LayerController,
699
- FW.SystemDefine.FWLayerState
700
- >();
701
-
702
- setState(
703
- ctrType: new () => FW.LayerController,
704
- state: FW.SystemDefine.FWLayerState,
705
- ): void {
705
+ private layerStates = new Map<new () => FW.LayerController, FW.SystemDefine.FWLayerState>();
706
+ constructor(private readonly debug: boolean) {}
707
+ setState(ctrType: new () => FW.LayerController, state: FW.SystemDefine.FWLayerState): void {
708
+ if (this.debug) FW.Log.debug(`setLayerState: ${cc.js.getClassName(ctrType)} ${state}`);
706
709
  this.layerStates.set(ctrType, state);
707
710
  }
708
711
 
709
- getState(
710
- ctrType: new () => FW.LayerController,
711
- ): FW.SystemDefine.FWLayerState {
712
+ getState(ctrType: new () => FW.LayerController): FW.SystemDefine.FWLayerState {
712
713
  return this.layerStates.get(ctrType) || FW.SystemDefine.FWLayerState.CLOSED;
713
714
  }
714
715
 
@@ -725,6 +726,7 @@ class FWLayerStateManager {
725
726
  }
726
727
 
727
728
  removeState(ctrType: new () => FW.LayerController): void {
729
+ if (this.debug) FW.Log.debug(`removeLayerState: ${cc.js.getClassName(ctrType)}`);
728
730
  this.layerStates.delete(ctrType);
729
731
  }
730
732
 
@@ -740,9 +742,7 @@ class FWLayerQueueManager {
740
742
  layerData: FWLayerData,
741
743
  layerMap: Map<new () => FW.LayerController, FWLayerData>,
742
744
  ): boolean {
743
- if (
744
- layerData.controller.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE
745
- ) {
745
+ if (layerData.controller.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE) {
746
746
  const hasNonPermanentLayers = Array.from(layerMap.values()).some(
747
747
  (value) => value.layerType === FW.SystemDefine.FWLayerType.POPUP_QUEUE,
748
748
  );
@@ -782,44 +782,44 @@ class FWLayerQueueManager {
782
782
 
783
783
  class FWLayerLifecycleManager {
784
784
  setupLifecycleHooks(layer: FW.Layer, ctr: FW.LayerController): void {
785
- const originalOnLoad = layer["onLoad"];
786
- layer["onLoad"] = function () {
785
+ const originalOnLoad = layer['onLoad'];
786
+ layer['onLoad'] = function () {
787
787
  originalOnLoad?.call(this);
788
788
  ctr.onLoad?.();
789
789
  };
790
790
 
791
- const originalStart = layer["start"];
792
- layer["start"] = function () {
791
+ const originalStart = layer['start'];
792
+ layer['start'] = function () {
793
793
  originalStart?.call(this);
794
794
  ctr.onStart?.();
795
795
  };
796
796
 
797
- const originalOnEnable = layer["onEnable"];
798
- layer["onEnable"] = function () {
797
+ const originalOnEnable = layer['onEnable'];
798
+ layer['onEnable'] = function () {
799
799
  originalOnEnable?.call(this);
800
800
  ctr.onEnable?.();
801
801
  };
802
802
 
803
- const originalOnDisable = layer["onDisable"];
804
- layer["onDisable"] = function () {
803
+ const originalOnDisable = layer['onDisable'];
804
+ layer['onDisable'] = function () {
805
805
  originalOnDisable?.call(this);
806
806
  ctr.onDisable?.();
807
807
  };
808
808
 
809
- const originalOnDestroy = layer["onDestroy"];
810
- layer["onDestroy"] = function () {
809
+ const originalOnDestroy = layer['onDestroy'];
810
+ layer['onDestroy'] = function () {
811
811
  originalOnDestroy?.call(this);
812
812
  ctr.onDestroy?.();
813
813
  };
814
814
 
815
- const originalUpdate = layer["update"];
816
- layer["update"] = function (dt: number) {
815
+ const originalUpdate = layer['update'];
816
+ layer['update'] = function (dt: number) {
817
817
  originalUpdate?.call(this, dt);
818
818
  ctr.onUpdate?.(dt);
819
819
  };
820
820
 
821
- const originalLateUpdate = layer["lateUpdate"];
822
- layer["lateUpdate"] = function () {
821
+ const originalLateUpdate = layer['lateUpdate'];
822
+ layer['lateUpdate'] = function () {
823
823
  originalLateUpdate?.call(this);
824
824
  ctr.onLateUpdate?.();
825
825
  };
@@ -830,9 +830,7 @@ class FWLayerControllerFactory {
830
830
  /**
831
831
  * 创建并初始化 LayerController
832
832
  */
833
- createController<Ctr extends FW.LayerController = FW.LayerController>(
834
- type: new () => Ctr,
835
- ): Ctr {
833
+ createController<Ctr extends FW.LayerController = FW.LayerController>(type: new () => Ctr): Ctr {
836
834
  const ctr = new type();
837
835
 
838
836
  ctr.initializeDependencies?.();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ives_xxz/framework",
3
- "version": "2.1.32",
3
+ "version": "2.1.34",
4
4
  "description": "cocoscreator 2.x mvc framework",
5
5
  "main": "index.js",
6
6
  "keywords": ["123456"],
@@ -165,6 +165,7 @@ export default class FWSocket extends FW.Service implements FW.Socket {
165
165
  */
166
166
  public close() {
167
167
  this.clear();
168
+ FW.Entry.timeMgr.unSchedule(this);
168
169
  FW.Entry.socketMgr.closeSocket(this);
169
170
  }
170
171
 
package/types/FW.d.ts CHANGED
@@ -2644,6 +2644,8 @@ declare namespace FW {
2644
2644
  * 层状态
2645
2645
  */
2646
2646
  export class FWLayerState {
2647
+ static LOADING = 'loading';
2648
+ static LOADED = 'loaded';
2647
2649
  static CLOSED = 'closed';
2648
2650
  static OPENING = 'opening';
2649
2651
  static OPENED = 'opened';