# 事件、消息

# 页面监听事件

# 页面 resume 事件的回调监听

Android iOS PC
支持 支持 不支持

# 使用说明

当页面重新可见并可交互时,yach 会产生回调,开发者可监听此 resume 事件,并处理开发者自己的业务逻辑。

# 注意

此和原生 addEventListener 行为一致,多页面应用要合理清除事件,防止内存泄漏等问题
示例:

import yy from "yach.open.jssdk";

function ceshi() {
  //处理自己逻辑
}

// 绑定事件
yy.on("resume", ceshi);
// 清除事件
yy.off("resume", ceshi);

# webview 通信事件 v4.0.8

# 使用说明

Android iOS PC
不支持 支持 不支持

主要用在 iPad 上的工作台,用于两个可视 webview 之间的消息通讯

# 注意

此和原生 addEventListener 行为一致,多页面应用要合理清除事件,防止内存泄漏等问题

示例:

工作台首页:

import { on, off } from "yach.open.jssdk";

function ceshi(res) {
  console.log(res);
  //=>   data:{
  //       params1: '123',
  //       params2: '456',
  //     }
}

// 绑定事件
on("webViewMsgReceive", ceshi);
// 清除事件
off("webViewMsgReceive", ceshi);

工作台应用管理页:

import { webViewMessageSend } from "yach.open.jssdk";

webViewMessageSend({
  data: {
    params1: "123",
    params2: "456",
  },
  onSuccess: () => {},
  onFail: () => {},
});

# 端向页面发送通用消息 v4.1.3

# 使用说明

Android iOS PC
不支持 支持 支持

yach客户端向页面发送消息

# 返回说明

type 支持环境 说明
screenshot ios 客户端 >= 1.8.3 截屏时触发回调

# 注意

示例:

端内嵌页:

import { on, off } from "yach.open.jssdk";

function sendMsgCommonCb(result: { type: string, data: any }) {
    // 是否是业务中需要的事件
    if(result.type === 'screenshot') {}
    ...
}

// 绑定事件
on("sendMsgCommon", sendMsgCommonCb);
// 清除事件
off("sendMsgCommon", sendMsgCommonCb);

yach客户端:

const result = {
    type: 'screenshot', // 业务规定的类型,用于在页面中区分是哪种事件
    ...res
}
util.electronipc.handleEventPostMessage({eventName: 'sendMsgCommon', data: result, containerId: xxx});
上次更新: 12/4/2023, 11:04:38 AM
foo