# 数据类型与样式枚举 · `properties/Viewer.ts`

> 由 `generate-docs.mjs` 自动生成。

> 源文件 `properties/Viewer.ts`，含 9 个类型定义，按名称排序。

## ESJSwitchToCesiumViewerOptionType `[type]`

切换到Cesium视口的选项类型
@property {HTMLDivElement | string} container - 视口容器，可以是HTMLDivElement元素或元素的ID字符串
@property {boolean} [viewSync] - 是否同步视图，可选参数
@property {boolean} [attributeSync] - 是否同步属性，可选参数
@property {boolean} [destroy] - 是否销毁，可选参数
@property {string} [id] - 视口的ID，可选参数

```ts
export type ESJSwitchToCesiumViewerOptionType = {
    container: HTMLDivElement | string,
    viewSync?: boolean,
    attributeSync?: boolean,
    destroy?: boolean,
    id?: string;
}
```

## ESJSwitchToUEViewerH5OptionType `[type]`

切换到UE HTML5视口的选项类型
@property {HTMLDivElement | string} container - 视口容器，可以是HTMLDivElement元素或元素的ID字符串
@property {boolean} [viewSync] - 是否同步视图，可选参数
@property {boolean} [attributeSync] - 是否同步属性，可选参数
@property {boolean} [destroy] - 是否销毁，可选参数
@property {string} [id] - 视口的ID，可选参数
@property {string} project - 项目名称
@property {string} [baseUrl] - 基础URL，可选参数

```ts
export type ESJSwitchToUEViewerH5OptionType = {
    container: HTMLDivElement | string,
    viewSync?: boolean;
    attributeSync?: boolean;
    destroy?: boolean,
    id?: string;
    project: string;
    baseUrl?: string;
}
```

## ESJSwitchToUEViewerOptionType `[type]`

切换到UE视口的选项类型，包含URL、WebSocket和HTML5三种方式

```ts
export type ESJSwitchToUEViewerOptionType = ESJSwitchToUEViewerUrlOptionType | ESJSwitchToUEViewerWsOptionType | ESJSwitchToUEViewerH5OptionType
```

## ESJSwitchToUEViewerUrlOptionType `[type]`

通过URL切换到UE视口的选项类型
@property {HTMLDivElement | string} container - 视口容器，可以是HTMLDivElement元素或元素的ID字符串
@property {string} uri - UE应用的URI
@property {string} app - 应用名称
@property {string} [token] - 访问令牌，可选参数
@property {boolean} [viewSync] - 是否同步视图，可选参数
@property {boolean} [attributeSync] - 是否同步属性，可选参数
@property {boolean} [destroy] - 是否销毁，可选参数
@property {string} [id] - 视口的ID，可选参数
@property {number} [silentTime] - 静默时间（s），可选参数

```ts
export type ESJSwitchToUEViewerUrlOptionType = {
    container: HTMLDivElement | string,
    uri: string;
    app: string;
    token?: string;
    viewSync?: boolean;
    attributeSync?: boolean;
    destroy?: boolean,
    id?: string;
    silentTime?: number
}
```

## ESJSwitchToUEViewerWsOptionType `[type]`

通过WebSocket切换到UE视口的选项类型
@property {HTMLDivElement | string} container - 视口容器，可以是HTMLDivElement元素或元素的ID字符串
@property {string} ws - WebSocket地址
@property {string} [esmsg] - 消息内容，可选参数
@property {boolean} [viewSync] - 是否同步视图，可选参数
@property {boolean} [attributeSync] - 是否同步属性，可选参数
@property {boolean} [destroy] - 是否销毁，可选参数
@property {string} [id] - 视口的ID，可选参数
@property {number} [silentTime] - 静默时间（s），可选参数

```ts
export type ESJSwitchToUEViewerWsOptionType = {
    container: HTMLDivElement | string,
    ws: string;
    esmsg?: string;
    viewSync?: boolean;
    attributeSync?: boolean;
    destroy?: boolean,
    id?: string;
    silentTime?: number;
}
```

## ESVOptionUeHTML5 `[type]`

配置UE HTML5视口的选项类型
@property {'ESUeViewer'} type - 视口类型为UE视口
@property {HTMLDivElement | string} container - 视口容器，可以是HTMLDivElement元素或元素的ID字符串
@property {string} [id] - 视口的ID，可选参数
@property {Object} options - 配置选项
@property {string} options.project - 项目名称
@property {string} [options.baseUrl] - 基础URL，可选参数

```ts
export type ESVOptionUeHTML5 = {
    type: 'ESUeViewer';
    container: HTMLDivElement | string;
    id?: string;
    options: {
        project: string;
        baseUrl?: string;
    }
}
```

## ESVOptionUeUri `[type]`

通过URI方式配置UE视口的选项类型
@property {'ESUeViewer'} type - 视口类型为UE视口
@property {HTMLDivElement | string} container - 视口容器，可以是HTMLDivElement元素或元素的ID字符串
@property {string} [id] - 视口的ID，可选参数
@property {Object} options - 配置选项
@property {string} options.uri - UE应用的URI
@property {string} options.app - 应用名称
@property {string} [options.token] - 访问令牌，可选参数
@property {number} [options.silentTime] - 静默时间（s），可选参数

```ts
export type ESVOptionUeUri = {
    type: 'ESUeViewer';
    container: HTMLDivElement | string;
    id?: string;
    options: {
        uri: string,
        app: string,
        token?: string,
        silentTime?: number;
    }
}
```

## ESVOptionUeWs `[type]`

通过WebSocket方式配置UE视口的选项类型
@property {'ESUeViewer'} type - 视口类型为UE视口
@property {HTMLDivElement | string} container - 视口容器，可以是HTMLDivElement元素或元素的ID字符串
@property {string} [id] - 视口的ID，可选参数
@property {Object} options - 配置选项
@property {string} options.ws - WebSocket地址
@property {string} [options.esmsg] - 消息内容，可选参数
@property {boolean} [options.uselnternalSignallingServer] - 是否使用内部信令服务器，可选参数
@property {number} [options.silentTime] - 静默时间（s），可选参数

```ts
export type ESVOptionUeWs = {
    type: 'ESUeViewer';
    container: HTMLDivElement | string;
    id?: string;
    options: {
        ws: string;
        esmsg?: string;
        uselnternalSignallingServer?: boolean;
        // 静默时间
        silentTime?: number;
    }
}
```

## ViewerStatus `[type]`

视口状态，'Raw'初始状态，'Creating'正在创建, 'Created'创建完成, 'Error'创建失败，'Reconnecting'重新连接中

```ts
export type ViewerStatus = 'Raw' | 'Creating' | 'Created' | 'Error' | 'Reconnecting'
```

---
> 本文由 `generate-docs.mjs` 从源码自动生成，请勿手改。
