更新记录
1.0.0(2025-01-09)
hw-uts-socket插件介绍
- 获取android IP地址、MAC地址、androidID; 注:获取MAC需要android<=11以下,12以及以上获取到均为02:00:00:00:00:00
- websocket通信:支持开启关闭连接、获取连接状态、订阅连接状态、收发数据、自动重连
- udp通信:支持开启关闭socket、收发数据
- 多页面使用,即只需要初始化一次即可,可在多个页面中接收和发送数据
- 未完待续加入->TCP通信
- 部分手机可能屏幕熄灭,连接会断开,需要自己实现保活
- 如若使用,请自测没有问题再正式使用
引入插件
1、在页面中引入插件,并非引入API全部,只需引入自己实际使用的API
import {getIp,getMac,getAndroidID,initUdp,sendUdpData,receiveUdpData,closeUdp,initWs,wsConnect,wsSend,wsClose, wsOnReceive,getWsStatus} from '@/uni_modules/hw-uts-socket';
获取IP,MAC,androidID
- 获取IP地址
getIp((res)=>{ if(res.ok){ this.ip=res.data; } })
- 获取MAC地址(android12以下)
getMac((res)=>{ if(res.ok){ this.mac=res.data; } })
- 获取androidID
getAndroidID((res)=>{ if(res.ok){ this.androidID=res.data; } })
websocket通信
- 初始化
initWs( { wsUrl:'ws://ip:port/terminal', // webscoket地址 uuid:'uuid', // uuid,相等于设备唯一标识 reConnectGap:5, // 重连间隔,默认5s ;单位秒 可不设置 needReConnect:true, // 是否重连, 默认重连 可不设置 },(res)=>{ console.log("初始化ws",res); } )
- 连接
wsConnect((res)=>{ console.log("连接ws",res); // 此方法除了进行连接,还会订阅连接状态 })
- 获取连接状态
getWsStatus((res)=>{ console.log("ws的连接状态",res); })
- 发送数据
wsSend('hello world',(res)=>{ console.log("发送ws",res); // 发送字符串数据,json数据需要转为字符串 })
- 订阅接收数据(只需onLoad调用一次即可,如果多页面使用在onShow中调用,只需调用一次)
wsOnReceive((res)=>{ console.log("接收到的ws消息",res); // 接收到的字符串数据 })
- 关闭连接
wsClose((res)=>{ console.log("关闭ws",res); })
udp通信
- 初始化
// port为接收数据的端口 initUdp(port,(res)=>{ console.log("初始化udp",res); })
- 发送数据
sendUdpData( { port:port, // 目标端口 host:ip, // 目标ip,若未填写则默认为广播255.255.255.255 data: data, // 数据字符串,json需要转为字符串 },(res)=>{ console.log("发送udp",res) } )
- 订阅接收数据(只需onLoad调用一次即可,多页面使用在onShow中调用,只需调用一次)
receiveUdpData((res)=>{ console.log("接收udp数据",res); // 字符串格式,如有需要转为json })
- 关闭连接
closeUdp((res)=>{ console.log("关闭udp",res) })
- 获取IP地址
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.6.8,Android:支持,iOS:不支持,HarmonyNext:不支持 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
× | × | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |