0.4.72 • Published 1 month ago

@netless/window-manager v0.4.72

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

WindowManager

MainView

MainView 也就是主白板, 是垫在所有窗口下面的主白板

因为多窗口的原因,所以抽象出来一个主白板, 并且把以前部分对 room 的操作, 迁移到对 mainView 操作

快速开始

import { WhiteWebSdk } from "white-web-sdk";
import { WindowManager, BuiltinApps } from "@netless/window-manager";
import "@netless/window-manager/dist/style.css";

const sdk = new WhiteWebSdk({
    appIdentifier: "appIdentifier",
    useMobXState: true // 请确保打开这个选项
});

sdk.joinRoom({
    uuid: "room uuid",
    roomToken: "room token",
    invisiblePlugins: [WindowManager],
    useMultiViews: true, // 多窗口必须用开启 useMultiViews
    disableMagixEventDispatchLimit: true, // 请确保打开这个选项
}).then(async room => {
    const manager = await WindowManager.mount(
        room,
        container
        // 完整配置见下方
    );
});

mount 完整参数

containerSizeRatio 为了保证窗口在不同分辨率下显示效果, 白板在相同的比例区域才能进行同步

chessboard 当挂载的区域不完全符合比例时, 白板会在挂载的 dom 中划分一个符合比例的区域出来, 此时多出来的部分会默认显示为棋盘透明背景

collector

collector 就是窗口最小化时的图标, 默认大小 width: 40px; height: 40px;

光标同步

原本的 SDK 中的 cursorAdapter 在多窗口中不可用, 如需要光标同步功能需要在 manager 中开启 cursor 选项

sdk.joinRoom({
    // cursorAdapter: cursorAdapter, 原本开启 sdk 中的 cursorAdapter 需要关闭
    userPayload: {
        nickName: "光标名称",
        avatar: "用户头像链接",
    },
});

WindowManager.mount({
    cursor: true, // 开启光标同步
});

APP

静态和动态 PPT 是作为 App 插入到白板, 并持久化到白板中

App 或会在页面刷新时自动创建出来, 不需要重复插入

如果 App 需要 scenePath 时,那么一个 scenePath 只能同时打开一个,要求为 App 实例唯一

添加静态/动态 PPT 到白板上

const appId = await manager.addApp({
    kind: BuiltinApps.DocsViewer,
    options: {
        scenePath: "/docs-viewer",
        title: "docs1", // 可选
        scenes: [], // SceneDefinition[] 静态/动态 Scene 数据
    },
});

添加音视频到白板

const appId = await manager.addApp({
    kind: BuiltinApps.MediaPlayer,
    options: {
        title: "test.mp3", // 可选
    },
    attributes: {
        src: "xxxx", // 音视频 url
    },
});

设置跟随模式

只有广播端也就是老师需要设置跟随模式, 其他端的主白板都会跟随广播端的视角

注意 managersetViewMode 不能和 room.setViewMode 同时使用

manager.setViewMode("broadcaster"); // 开启跟随模式
manager.setViewMode("freedom"); // 关闭跟随模式

获取当前的 broadcaster ID

manager.broadcaster

设置所有 appreadonly

manager.setReadonly(true); // 所有窗口变成 readonly 状态
manager.setReadonly(false); // 解锁设置的 readonly, 注意如果当前白板的 isWritable 为 false 以白板的状态为最高优先级

切换 mainView 为可写状态

manager.switchMainViewToWriter();

切换 mainView scenePath

切换主白板的 ScenePath 并把主白板设置为可写状态

manager.setMainViewScenePath(scenePath);

切换 mainView sceneIndex

切换主白板的 SceneIndex 并把主白板设置为可写状态

manager.setMainViewSceneIndex(sceneIndex);

获取 mainView scenePath

manager.getMainViewScenePath();

获取 mainView sceneIndex

manager.getMainViewSceneIndex();

监听 mainViewmode

manager.emitter.on("mainViewModeChange", mode => {
    // mode 类型为 ViewVisionMode
});

监听窗口最大化最小化

manager.emitter.on("boxStateChange", state => {
    if (state === "maximized") {
        // 最大化
    }
    if (state === "minimized") {
        // 最小化
    }
    if (state === "normal") {
        // 恢复正常
    }
});

监听 broadcaster 变化

manager.emitter.on("broadcastChange", id => {
    // broadcast id 进行了改变
})

关闭 App

manager.closeApp(appId);

手动销毁 WindowManager

manager.destroy();

开发流程

pnpm install

pnpm build

cd example

pnpm install

pnpm dev
0.4.71

1 month ago

0.4.72

1 month ago

0.4.72-beta.0

1 month ago

0.4.71-beta.0

1 month ago

0.4.70

1 month ago

0.4.69

2 months ago

0.4.68

3 months ago

0.4.67

3 months ago

0.4.67-beta.1

3 months ago

0.4.67-beta.0

3 months ago

0.4.66-beta.0

5 months ago

0.4.66

5 months ago

0.4.65-beta.0

5 months ago

0.4.65

5 months ago

0.4.64

5 months ago

1.0.0-canary.79

10 months ago

0.4.62

7 months ago

0.4.63

6 months ago

0.4.60

10 months ago

0.4.61

10 months ago

0.4.61-beta.0

10 months ago

0.4.59

10 months ago

1.0.0-canary.77

12 months ago

1.0.0-canary.78

11 months ago

0.4.57

12 months ago

0.4.58

11 months ago

0.4.56

1 year ago

1.0.0-canary.76

1 year ago

1.0.0-canary.75

1 year ago

1.0.0-canary.74

1 year ago

1.0.0-canary.72

1 year ago

1.0.0-canary.73

1 year ago

0.4.55

1 year ago

1.0.0-canary.70

1 year ago

1.0.0-canary.71

1 year ago

0.4.53

1 year ago

0.4.54

1 year ago

0.4.51

1 year ago

0.4.52

1 year ago

0.4.50

1 year ago

0.4.48

2 years ago

0.4.49

2 years ago

0.4.46

2 years ago

0.4.47

2 years ago

0.4.45

2 years ago

1.0.0-canary.64

2 years ago

1.0.0-canary.65

2 years ago

1.0.0-canary.66

2 years ago

1.0.0-canary.67

2 years ago

1.0.0-canary.60

2 years ago

1.0.0-canary.61

2 years ago

1.0.0-canary.62

2 years ago

1.0.0-canary.63

2 years ago

1.0.0-canary.68

2 years ago

1.0.0-canary.69

2 years ago

0.4.43

2 years ago

0.4.44

2 years ago

1.0.0-canary.57

2 years ago

1.0.0-canary.58

2 years ago

1.0.0-canary.59

2 years ago

1.0.0-canary.53

2 years ago

1.0.0-canary.54

2 years ago

1.0.0-canary.55

2 years ago

1.0.0-canary.56

2 years ago

1.0.0-canary.50

2 years ago

1.0.0-canary.51

2 years ago

1.0.0-canary.52

2 years ago

0.4.42

2 years ago

0.4.40

2 years ago

0.4.41

2 years ago

0.4.39

2 years ago

0.4.37

2 years ago

0.4.38

2 years ago

0.4.35

2 years ago

0.4.36

2 years ago

0.4.33

2 years ago

0.4.34

2 years ago

1.0.0-canary.8

2 years ago

1.0.0-canary.9

2 years ago

1.0.0-canary.6

2 years ago

1.0.0-canary.7

2 years ago

1.0.0-canary.0

2 years ago

1.0.0-canary.1

2 years ago

1.0.0-canary.4

2 years ago

1.0.0-canary.5

2 years ago

1.0.0-canary.2

2 years ago

1.0.0-canary.3

2 years ago

1.0.0-canary.17

2 years ago

1.0.0-canary.18

2 years ago

1.0.0-canary.19

2 years ago

1.0.0-canary.13

2 years ago

1.0.0-canary.14

2 years ago

1.0.0-canary.15

2 years ago

1.0.0-canary.16

2 years ago

1.0.0-canary.20

2 years ago

1.0.0-canary.21

2 years ago

1.0.0-canary.22

2 years ago

1.0.0-canary.23

2 years ago

1.0.0-canary.10

2 years ago

1.0.0-canary.11

2 years ago

1.0.0-canary.12

2 years ago

1.0.0-canary.39

2 years ago

1.0.0-canary.35

2 years ago

1.0.0-canary.36

2 years ago

1.0.0-canary.37

2 years ago

1.0.0-canary.38

2 years ago

1.0.0-canary.42

2 years ago

1.0.0-canary.43

2 years ago

1.0.0-canary.44

2 years ago

1.0.0-canary.45

2 years ago

1.0.0-canary.40

2 years ago

1.0.0-canary.41

2 years ago

1.0.0-canary.28

2 years ago

1.0.0-canary.29

2 years ago

1.0.0-canary.24

2 years ago

1.0.0-canary.25

2 years ago

1.0.0-canary.26

2 years ago

1.0.0-canary.27

2 years ago

1.0.0-canary.31

2 years ago

1.0.0-canary.32

2 years ago

1.0.0-canary.33

2 years ago

1.0.0-canary.34

2 years ago

1.0.0-canary.30

2 years ago

1.0.0-canary.46

2 years ago

1.0.0-canary.47

2 years ago

1.0.0-canary.48

2 years ago

1.0.0-canary.49

2 years ago

0.4.31

2 years ago

0.4.32

2 years ago

0.4.30

2 years ago

0.4.28

2 years ago

0.4.29

2 years ago

0.4.26

2 years ago

0.4.27

2 years ago

0.4.24

2 years ago

0.4.25

2 years ago

0.4.30-canary.0

2 years ago

0.4.30-canary.1

2 years ago

0.4.27-canary.0

2 years ago

0.4.20

2 years ago

0.4.21

2 years ago

0.4.22

2 years ago

0.4.23

2 years ago

0.4.19

2 years ago

0.4.17

2 years ago

0.4.18

2 years ago

0.4.15

2 years ago

0.4.16

2 years ago

0.4.14

2 years ago

0.4.10

2 years ago

0.4.13

2 years ago

0.4.11

2 years ago

0.4.12

2 years ago

0.4.9-canary.2

2 years ago

0.4.9-canary.1

2 years ago

0.4.9-canary.0

2 years ago

0.4.9

2 years ago

0.4.8

2 years ago

0.4.11-canary.0

2 years ago

0.4.11-canary.1

2 years ago

0.4.11-canary.2

2 years ago

0.3.27

2 years ago

0.3.26

2 years ago

0.3.21-canary.0

2 years ago

0.3.21-canary.1

2 years ago

0.4.8-canary.0

2 years ago

0.4.1-canary.0

2 years ago

0.4.0-canary.33

2 years ago

0.4.0-canary.32

2 years ago

0.4.0-canary.31

2 years ago

0.4.0-canary.30

2 years ago

0.4.0-canary.24

2 years ago

0.4.0-canary.23

2 years ago

0.4.0-canary.22

2 years ago

0.4.0-canary.21

2 years ago

0.4.0-canary.28

2 years ago

0.4.0-canary.27

2 years ago

0.4.0-canary.26

2 years ago

0.4.0-canary.25

2 years ago

0.3.23-canary.0

2 years ago

0.4.0-canary.29

2 years ago

0.4.0-canary.3

2 years ago

0.4.0-canary.4

2 years ago

0.4.0-canary.1

2 years ago

0.4.0-canary.2

2 years ago

0.4.0-canary.7

2 years ago

0.4.0-canary.8

2 years ago

0.4.0-canary.5

2 years ago

0.4.0-canary.6

2 years ago

0.4.0-canary.9

2 years ago

0.4.0-canary.20

2 years ago

0.4.0-canary.13

2 years ago

0.4.0-canary.12

2 years ago

0.4.0-canary.11

2 years ago

0.4.0-canary.10

2 years ago

0.4.0-canary.17

2 years ago

0.4.0-canary.16

2 years ago

0.4.0-canary.15

2 years ago

0.4.0-canary.14

2 years ago

0.4.0-canary.19

2 years ago

0.4.0-canary.18

2 years ago

0.4.0-canary.0

2 years ago

0.4.5

2 years ago

0.4.4

2 years ago

0.4.7

2 years ago

0.4.6

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.17-canary.1

2 years ago

0.4.3

2 years ago

0.3.17-canary.2

2 years ago

0.4.2

2 years ago

0.3.20

2 years ago

0.3.25

2 years ago

0.3.24

2 years ago

0.3.23

2 years ago

0.3.22

2 years ago

0.3.21

2 years ago

0.3.19

2 years ago

0.3.18

2 years ago

0.3.17

2 years ago

0.3.12-canary.1

2 years ago

0.3.12-canary.0

2 years ago

0.3.6-canary.1

2 years ago

0.3.6-canary.0

2 years ago

0.2.19

2 years ago

0.2.18

2 years ago

0.3.5-canary.1

2 years ago

0.3.10-canary.0

2 years ago

0.3.5-canary.0

2 years ago

0.3.0

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.8-canary.0

2 years ago

0.3.8-canary.1

2 years ago

0.3.8-canary.2

2 years ago

0.3.8-canary.3

2 years ago

0.3.2-canary.0

2 years ago

0.3.9-canary.0

2 years ago

0.3.17-canary.0

2 years ago

0.3.16-canary.3

2 years ago

0.3.16-canary.0

2 years ago

0.3.16-canary.2

2 years ago

0.3.16-canary.1

2 years ago

0.2.19-canary.0

2 years ago

0.2.19-canary.1

2 years ago

0.2.19-canary.2

2 years ago

0.2.19-canary.3

2 years ago

0.3.9

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.14

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.3.0-canary.3

2 years ago

0.3.0-canary.2

2 years ago

0.3.0-canary.1

2 years ago

0.3.0-canary.0

2 years ago

0.2.17

3 years ago

0.2.16

3 years ago

0.2.15

3 years ago

0.2.14

3 years ago

0.2.13

3 years ago

0.2.12

3 years ago

0.2.11

3 years ago

0.2.10

3 years ago

0.2.12-canary.2

3 years ago

0.2.12-canary.0

3 years ago

0.2.12-canary.1

3 years ago

0.2.9

3 years ago

0.2.3-canary.0

3 years ago

0.1.69-canary.0

3 years ago

0.1.69-canary.1

3 years ago

0.1.69-canary.2

3 years ago

0.1.68-canary.0

3 years ago

0.1.67

3 years ago

0.1.68

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.8

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.1.66

3 years ago

0.1.66-canary.1

3 years ago

0.1.66-canary.2

3 years ago

0.1.66-canary.3

3 years ago

0.1.66-canary.0

3 years ago

0.1.64

3 years ago

0.1.65

3 years ago

0.1.64-canary.3

3 years ago

0.1.64-canary.2

3 years ago

0.1.64-canary.1

3 years ago

0.1.64-canary.0

3 years ago

0.1.63

3 years ago

0.1.63-canary.2

3 years ago

0.1.63-canary.3

3 years ago

0.1.63-canary.4

3 years ago

0.1.63-canary.0

3 years ago

0.1.63-canary.1

3 years ago

0.1.56

3 years ago

0.1.57

3 years ago

0.1.59

3 years ago

0.1.60

3 years ago

0.1.61

3 years ago

0.1.62

3 years ago

0.1.52

3 years ago

0.1.53

3 years ago

0.1.54

3 years ago

0.1.55

3 years ago

0.1.55-canary.4

3 years ago

0.1.55-canary.2

3 years ago

0.1.55-canary.3

3 years ago

0.1.55-canary.0

3 years ago

0.1.55-canary.1

3 years ago

0.1.50

3 years ago

0.1.51

3 years ago

0.1.49

3 years ago

0.1.41

3 years ago

0.1.42

3 years ago

0.1.43

3 years ago

0.1.44

3 years ago

0.1.45

3 years ago

0.1.46

3 years ago

0.1.47

3 years ago

0.1.48

3 years ago

0.1.38

3 years ago

0.1.39

3 years ago

0.1.47-canary.0

3 years ago

0.1.37

3 years ago

0.1.30

3 years ago

0.1.31

3 years ago

0.1.32

3 years ago

0.1.33

3 years ago

0.1.34

3 years ago

0.1.35

3 years ago

0.1.36

3 years ago

0.1.27

3 years ago

0.1.28

3 years ago

0.1.29

3 years ago

0.1.20

3 years ago

0.1.21

3 years ago

0.1.22

3 years ago

0.1.23

3 years ago

0.1.24

3 years ago

0.1.25

3 years ago

0.1.26

3 years ago

0.1.19

3 years ago

0.1.10

3 years ago

0.1.11

3 years ago

0.1.12

3 years ago

0.1.13

3 years ago

0.1.14

3 years ago

0.1.15

3 years ago

0.1.9

3 years ago

0.1.16

3 years ago

0.1.17

3 years ago

0.1.18

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.6-canary.1

3 years ago

0.0.0-beta.43

3 years ago

0.1.0

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.0.0-beta.40

3 years ago

0.0.0-beta.42

3 years ago

0.0.0-beta.41

3 years ago

0.0.0-beta.39

3 years ago

0.0.0-beta.38

3 years ago

0.0.0-beta.37

3 years ago

0.0.0-beta.36

3 years ago

0.0.0-beta.33

3 years ago

0.0.0-beta.35

3 years ago

0.0.0-beta.34

3 years ago

0.0.0-beta.32

3 years ago

0.0.0-beta.26

3 years ago

0.0.0-beta.25

3 years ago

0.0.0-beta.28

3 years ago

0.0.0-beta.27

3 years ago

0.0.0-beta.29

3 years ago

0.0.0-beta.24

3 years ago

0.0.0-beta.23

3 years ago

0.0.0-beta.31

3 years ago

0.0.0-beta.30

3 years ago

0.0.0-beta.15

3 years ago

0.0.0-beta.14

3 years ago

0.0.0-beta.17

3 years ago

0.0.0-beta.16

3 years ago

0.0.0-beta.19

3 years ago

0.0.0-beta.18

3 years ago

0.0.0-beta.20

3 years ago

0.0.0-beta.22

3 years ago

0.0.0-beta.21

3 years ago

0.0.0-beta.13

3 years ago

0.0.0-beta.12

3 years ago

0.0.0-beta10

3 years ago

0.0.0-beta11

3 years ago

0.0.0-beta9

3 years ago

0.0.0-beta8

3 years ago

0.0.0-beta7

3 years ago

0.0.0-beta6

3 years ago

0.0.0-beta5

3 years ago

0.0.0-beta4

3 years ago

0.0.0-beta3

3 years ago

0.0.0-beta2

3 years ago

0.0.0-beta1

3 years ago