敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议。
♦ js-sdk 引用方式:
♦ 普通网页 script 方式加载:下载最新版 ,请在页面上调用 jsbridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge
事件监听
• 如需处理接口调用事件,请设置此监听器;
jsbridge.udp.setlistener(function(event, data) {
switch (event) {
//接收到数据
case "onmessage": {
//data.address 远端地址
//data.port 远端端口
//data.dataasbase64 收到的数据,base64 编码字符串,需要自行解码为 byte[] 数据
break;
}
//出现错误
case "onerror": {
//data.message 错误信息
break;
}
//关闭 udp socket
case "onclose": {
break;
}
}
//此函数仅用于显示回调参数在本 demo 页面上
showresult({
event: event,
data : data
});
});
//请拉到页面底部查看回调数据信息
$('html,body').animate({ scrolltop: $('#view').offset().top }, 500);
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setlistener jsbridge.udp.removelistener();
接口
port:
//绑定本地端口
jsbridge.udp.bind({
//0~65535,数字类型,绑定的本地端口,0 表示由系统随机分配一个可用端口
port: {{bind.port}}
}, function(success, res) {
if (success) {
alert(`绑定成功,监听端口为 ${res.port}`);
} else {
alert(json.stringify(res));
}
});
address:
port:
dataasbase64:
//发送数据
jsbridge.udp.send({
//目标地址,字符串类型,ipv4 地址或 ipv6 地址
address: "{{send.address}}",
//目标端口,数字类型,0~65535
port: {{send.port}},
//要发送的数据,byte[] 的 base64 编码字符串
dataasbase64: "{{send.dataasbase64}}"
}, function(success, res) {
if (success) {
alert('已发送');
} else {
alert(json.stringify(res));
}
});
//关闭 udp socket
jsbridge.udp.close(function(success, res) {
if (success) {
alert('已关闭');
} else {
alert(json.stringify(res));
}
});
//获取 udp socket 状态
jsbridge.udp.getstatus(function(success, res) {
if (success) {
alert(`${res.isbind ? '已绑定' : '未绑定'}\n地址: ${res.localaddress}\n端口: ${res.localport}`);
} else {
alert(json.stringify(res));
}
});
监听回调数据: