@cross-device-app-dev/window-size-change-listener-check
=======================================================

应用代码中如果创建了window实例，建议开启窗口尺寸变化（'windowSizeChange'）的监听。

#### 规则配置

// code-linter.json5
{
  "rules": {
    "@cross-device-app-dev/window-size-change-listener-check": "suggestion"
  }
}

#### 选项

该规则无需配置额外选项。

#### 正例

import { UIAbility } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
  onWindowStageCreate(windowStage: window.WindowStage): void {
    let config: window.Configuration = {
      name: "test",
      windowType: window.WindowType.TYPE\_DIALOG,
      ctx: this.context
    };
    try {
      window.createWindow(config, (err: BusinessError, data) => {
        const errCode: number = err.code;
        if (errCode) {
          console.error(\`Failed to create the window. Cause code: ${err.code}, message: ${err.message}\`);
          return;
        }
        data.on('windowSizeChange', () => {
             console.info('window size changed');
        });
      });
    } catch (exception) {
      console.error(\`Failed to create the window. Cause code: ${exception.code}, message: ${exception.message}\`);
    }
  }
}

#### 反例

import { UIAbility } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
  onWindowStageCreate(windowStage: window.WindowStage): void {
    let windowClass: window.Window | undefined = undefined;
    let config: window.Configuration = {
      name: "test",
      windowType: window.WindowType.TYPE\_DIALOG,
      ctx: this.context
    };
    try {
      window.createWindow(config, (err: BusinessError, data) => {
        const errCode: number = err.code;
        if (errCode) {
          console.error(\`Failed to create the window. Cause code: ${err.code}, message: ${err.message}\`);
          return;
        }
        windowClass = data;
        console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
        windowClass.resize(500, 1000);
      });
    } catch (exception) {
      console.error(\`Failed to create the window. Cause code: ${exception.code}, message: ${exception.message}\`);
    }
  }
}

#### 规则集

plugin:@cross-device-app-dev/all

Code Linter代码检查规则的配置指导请参考[Code Linter代码检查](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-code-linter)。