更新记录

1.0.0(2025-01-09)

hw-uts-socket插件介绍

  1. 获取android IP地址、MAC地址、androidID; 注:获取MAC需要android<=11以下,12以及以上获取到均为02:00:00:00:00:00
  2. websocket通信:支持开启关闭连接、获取连接状态、订阅连接状态、收发数据、自动重连
  3. udp通信:支持开启关闭socket、收发数据
  4. 多页面使用,即只需要初始化一次即可,可在多个页面中接收和发送数据
  5. 未完待续加入->TCP通信
  6. 部分手机可能屏幕熄灭,连接会断开,需要自己实现保活
  7. 如若使用,请自测没有问题再正式使用

    引入插件

    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)
      })

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.8,Android:支持,iOS:不支持,HarmonyNext:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

隐私、权限声明

1. 本插件需要申请的系统权限列表:

"android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE"

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问