Appearance
初始化
方法名
init
用法
- 用法如下:js
module.init({ params: { //前台服务通知标题 notificationTitle: "安卓WIFI操作UTS原生插件", //前台服务通知内容 notificationContent: "正在监听插件的数据传输...", //前台服务通知描述 notificationDes: "用于接收插件数据传输的通知通道", //接收文件的保存目录 // receiveFileDir:"" }, complete: (res) => { console.log(res) if (res.code == 0) { let data = res.data || {}; let type = data.type || ""; if (type == "onScan") { //扫描结果 let scanResults = data.scanResults || []; this.wifiList = scanResults.map(item => { return { SSID: item.SSID } }); } else if (type == "onWifiState") { //wifi状态 let state = data.state; switch (state) { case "WIFI_STATE_ENABLED": //wifi已开启 this.isChecked = true; break case "WIFI_STATE_DISABLED": //wifi已开启 this.isChecked = false; this.wifiList = []; break } } else if (type == "onServiceConnected") { //服务已连接,此时可以进行wifi操作 this.serviceConnect = true; //获取本机ip this.getLocalIpAddress(); } else if (type == "onWifiConnectState") { //wifi已连接 let state = data.state; let wifiInfo = data.wifiInfo; if (state) { this.logs.push("wifi已连接"); this.logs.push("wifi信息:" + JSON.stringify(wifiInfo)) this.connectedWifi = "当前连接:" + wifiInfo.SSID; //获取本机ip this.getLocalIpAddress(); } else { this.localIp = "本机IP: 等待获取..."; this.connectedWifi = "当前连接:未连接"; this.logs.push("wifi已断开") this.logs.push("wifi信息:" + JSON.stringify(wifiInfo)) } } else if (type == "onTextReceived") { //收到发送的消息 let text = data.text; this.showMessage("收到消息:" + text) } else if (type == "onReceiveRequest") { //收到文件请求 this.sendFileInfo = data; this.$refs.refFileRequestPop.open() } else if (type == "onTransferProgress") { //传输进度 if (!this.filePopIsOpen) { this.$refs.refFileProgressPop.open(); this.filePopIsOpen = true; } this.filePop.percent = ((data.transferredSize / data.totalSize) * 100).toFixed(2); this.filePop.size = data.transferredSize; this.filePop.totalSize = data.totalSize; } else if (type == "onTransferComplete") { //传输完成 this.$refs.refFileProgressPop.close(); this.filePopIsOpen = false; let success = data.success; if (success) { if (!this.isSendDevice) { //文件路径 let path = data.path; this.showMessage("文件保存路径:" + path) } else { this.showMessage("发送完成") } } else { let message = data.message; this.showMessage("传输出错:" + message) } this.isSendDevice = false } } } })jsmodule.init({ params: { //前台服务通知标题 notificationTitle: "安卓WIFI操作UTS原生插件", //前台服务通知内容 notificationContent: "正在监听插件的数据传输...", //前台服务通知描述 notificationDes: "用于接收插件数据传输的通知通道", //接收文件的保存目录 // receiveFileDir:"" }, complete: (res : LevenResult) => { console.log(res) if (res.code == 0) { let data = res.data; let type = data.getString("type"); if (type == "onScan") { //扫描结果 let scanResults : UTSJSONObject[] = data.getArray("scanResults") as UTSJSONObject[]; wifiList.value = scanResults.map((item : UTSJSONObject) => { return { SSID: item.getString("SSID") } as wifiItem }); } else if (type == "onWifiState") { //wifi状态 let state = data.getString("state"); switch (state) { case "WIFI_STATE_ENABLED": //wifi已开启 isChecked.value = true; break case "WIFI_STATE_DISABLED": //wifi已开启 isChecked.value = false; wifiList.value = []; break } } else if (type == "onServiceConnected") { //服务已连接,此时可以进行wifi操作 serviceConnect.value = true; //获取本机ip getLocalIpAddress(); } else if (type == "onWifiConnectState") { //wifi已连接 let state = data.getBoolean("state")!; let wifiInfo = data.getJSON("wifiInfo"); if (state) { logs.value.push("wifi已连接"); logs.value.push("wifi信息:" + JSON.stringify(wifiInfo)) connectedWifi.value = "当前连接:" + wifiInfo?.getString("SSID"); //获取本机ip getLocalIpAddress(); } else { localIp.value = "本机IP: 等待获取..."; connectedWifi.value = "当前连接:未连接"; logs.value.push("wifi已断开") logs.value.push("wifi信息:" + JSON.stringify(wifiInfo)) } } else if (type == "onTextReceived") { //收到发送的消息 let text = data.getString("text"); showMessage("收到消息:" + text) } else if (type == "onReceiveRequest") { //收到文件请求 sendFileInfo.value = { fileName: data.getString("fileName"), fileSize: data.getNumber("fileSize") } as fileItem; fileRequestPopShow.value = true } else if (type == "onTransferProgress") { //传输进度 if (!fileProgressPopShow.value) { fileProgressPopShow.value = true } let transferredSize : number = data.getNumber("transferredSize")! let totalSize : number = data.getNumber("totalSize")! filePop.value.percent = parseFloat(((transferredSize / totalSize) * 100).toFixed(2)); filePop.value.size = transferredSize; filePop.value.totalSize = totalSize; } else if (type == "onTransferComplete") { //传输完成 fileProgressPopShow.value = false; let success = data.getBoolean("success")!; if (success) { if (!isSendDevice.value) { //文件路径 let path = data.getString("path"); showMessage("文件保存路径:" + path) } else { showMessage("发送完成") } } else { let message = data.getString("message"); showMessage("传输出错:" + message) } isSendDevice.value = false } } } } as LevenOptions) - 参数说明
参数名 参数类型 是否必填 默认值 参数描述 params Object 否 是 接口请求参数 params.notificationTitle String 否 数据传输服务 前台服务通知标题 params.notificationContent String 否 正在监听数据传输... 前台服务通知内容 params.notificationDes String 否 用于接收数据传输的通知通道 前台服务通知描述 params.receiveFileDir String 否 无 接收文件保存路径,绝对路径,默认为公共下载目录 success Function 否 无 执行成功的函数 fail Function 否 无 执行失败的函数 complete Function 否 无 执行完成的函数,不管成功还是失败都会执行
回调
- 示例json
{ "data": { "type": "onServiceConnected" }, "message": "", "code": 0 } - 回调说明:
参数名 参数类型 参数描述 message String 消息提示 data Object 数据对象 data.type String 类型,具体可参考类型:
onScan:wifi扫描结果回调onWifiState:wifi状态回调onWifiConnectState:wifi连接状态回调onServiceConnected:服务连接成功回调onServiceDisconnected:服务断开连接回调onTextReceived:收到文本消息回调onTransferProgress:文件传输进度回调onTransferComplete:文件传输完成回调onReceiveRequest:文件传输请求回调data.scanResults JSONObject[] wifi扫描结果, onScan回调中返回data.scanResults.BSSID String 扫描结果wifi的物理 MAC 地址 data.scanResults.capabilities String 扫描结果wifi加密类型 data.scanResults.centerFreq0 Integer 扫描结果wifi信号的中心频率 data.scanResults.centerFreq1 Integer 扫描结果wifi信号的中心频率 data.scanResults.channelWidth Integer 扫描结果wifi信号的频宽 data.scanResults.operatorFriendlyName String 扫描结果wifi运营商友好名称 data.scanResults.venueName String 扫描结果wifi场所名称 data.scanResults.is80211mcResponder Boolean 扫描结果wifi是否支持 IEEE 802.11mc 协议 data.scanResults.isPasspointNetwork Boolean 扫描结果wifi网络是否为 Passpoint(即 Wi-Fi CERTIFIED Hotspot 2.0)网络 data.scanResults.frequency Integer 扫描结果wifi频率 data.scanResults.level Integer 扫描结果wifi信号强度 data.scanResults.timestamp Integer 扫描结果wifi信号在系统启动后被最后一次检测到的时间 data.scanResults.SSID Integer 扫描结果wifi热点的名称 data.scanResults.wifiStandard Integer 扫描结果wifi接入点所使用的 IEEE 802.11 标准 data.scanResults.apMldMacAddress Object 扫描结果wifiWi-Fi 7 (802.11be) 接入点(AP)的 多链路设备(MLD, Multi-Link Device)MAC 地址 data.scanResults.apMldMacAddress.type Integer 地址的类型 data.scanResults.apMldMacAddress.isLocallyAssigned Boolean 是否是本地分配的地址 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac Object 从 MAC 地址创建链路本地 Inet6Address data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.address byte[] InetAddress 对象的原始 IP 地址 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.hostAddress String IP地址字符串 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isLoopbackAddress Boolean 是否为环回地址 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isIPv4CompatibleAddress Boolean 是否为与IPv4兼容的IPv6地址 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface Object 作用域接口 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.displayName String 网络接口的显示名称 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.name String 网络接口的名称 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.index Integer 网络接口网络接口的索引的名称 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.mtu Integer 最大传输单元 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.isLoopback Boolean 是否为环回接口 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.isPointToPoint Boolean 是否为点对点接口 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.isUp Boolean 是否已启动并正在运行 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.supportsMulticast Boolean 是否支持多播 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopedInterface.isVirtual Boolean 是否为虚拟接口 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.scopeId Integer 如果此实例与某个接口相关联,则返回数字scopeId data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isAnyLocalAddress Boolean 是否是通配符地址中的InetAddress data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isLinkLocalAddress Boolean InetAddress是否为链路本地地址 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isMCGlobal Boolean 多播地址是否具有全局范围 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isMCLinkLocal Boolean 多播地址是否具有链路范围 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isMCNodeLocal Boolean 多播地址是否具有节点范围 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isMCOrgLocal Boolean 多播地址是否具有组织范围 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isMCSiteLocal Boolean 多播地址是否具有站点范围 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isMulticastAddress Boolean 是否为IP多播地址 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.isSiteLocalAddress Boolean 是否为站点本地地址 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.canonicalHostName String IP地址的完全限定域名 data.scanResults.apMldMacAddress.linkLocalIpv6FromEui48Mac.hostName String IP地址对应的主机名 data.scanResults.apMldMacAddress.apMloLinkId Integer Wi-Fi 7接入点的多链路操作(MLO)链路ID data.scanResults.apMldMacAddress.mloLinks Object[] Wi-Fi 7接入点的多链路操作(MLO)关联链路 data.scanResults.apMldMacAddress.mloLinks.linkId Integer 链接ID data.scanResults.apMldMacAddress.mloLinks.rxLinkSpeedMbps Integer 当前接收链接速度(单位:Mbps) data.scanResults.apMldMacAddress.mloLinks.rssi Integer 链路的接收信号强度 data.scanResults.apMldMacAddress.mloLinks.txLinkSpeedMbps Integer 传输链路速度(单位为 Mbps) data.scanResults.apMldMacAddress.mloLinks.band Integer 链接的Wi-Fi频段 data.scanResults.apMldMacAddress.mloLinks.apMacAddress Object 链路的AP MAC地址,具体可参考其他字段 data.scanResults.apMldMacAddress.mloLinks.staMacAddress Object 链路的STA MAC地址,具体可参考其他字段 data.scanResults.apMldMacAddress.mloLinks.channel Integer 链接的频道号 data.scanResults.apMldMacAddress.mloLinks.state Integer 链接的状态 data.state String / Boolean 状态,类型为String时为 onWifiState的回调,类型为Boolean时为onWifiConnectState的回调,为String时含义如下:WIFI_STATE_DISABLING:正在断开连接WIFI_STATE_DISABLED:已断开连接WIFI_STATE_ENABLING:正在连接WIFI_STATE_ENABLED:已连接WIFI_STATE_UNKNOWN:未知状态
为Boolean类型时表示wifi是否连接成功data.wifiInfo Object 当前连接的wifi信息, onWifiConnectState回调返回data.wifiInfo.wifiStandard Integer Wi-Fi连接标准 data.wifiInfo.maxSupportedRxLinkSpeedMbps Integer 支持的最大接收链路速度(单位:Mbps) data.wifiInfo.maxSupportedTxLinkSpeedMbps Integer 支持的最大传输链路速度(单位:Mbps) data.wifiInfo.apMloLinkId Integer Wi-Fi 7接入点的多链路操作(MLO)链路ID data.wifiInfo.mloLinkList Object[] Wi-Fi 7接入点的多链路操作(MLO)关联链路,结构字段说明可参考上方 data.scanResults.apMldMacAddress.mloLinksdata.wifiInfo.apMldMacAddress Object 已连接接入点的多链路设备(MLD)MAC地址,可参考上方说明 data.wifiInfo.isRestricted Boolean 当前Wifi网络是受限网络 data.wifiInfo.applicableRedactions Integer 返回一个位掩码,该掩码包含所有基于此TransportInfo(传输信息)进行的适用审查(基于接收方应用程序所拥有的权限) data.wifiInfo.currentSecurityType Integer 当前802的安全类型 data.wifiInfo.subscriptionId Integer 如果此网络由运营商配置,则返回设备上相关SIM卡对应的订阅ID data.wifiInfo.associatedMloLinks Object[] 返回Wi-Fi 7接入点的相关多链路操作(MLO)链路 data.wifiInfo.passpointFqdn String 如果网络是Passpoint网络,则返回其完全限定域名 data.wifiInfo.passpointProviderFriendlyName String 如果网络是Passpoint网络,则返回该网络的提供商友好名称 data.wifiInfo.rxLinkSpeedMbps Integer 返回当前接收链接速度(单位为 Mbps) data.wifiInfo.txLinkSpeedMbps Integer 返回当前传输链路速度(单位为 Mbps) data.wifiInfo.BSSID String 当前接入点的基本服务集标识符 data.wifiInfo.frequency Integer 频率 data.wifiInfo.hiddenSSID Boolean 是否隐藏SSID data.wifiInfo.linkSpeed Integer 当前链接速度 data.wifiInfo.macAddress String 连接所使用的MAC地址 data.wifiInfo.networkId Integer 网络标识 data.wifiInfo.rssi Integer 信号强度 data.wifiInfo.SSID Integer 网络名称 data.wifiInfo.ipAddress Integer IP地址整形 data.text String 收到的消息, onTextReceived回调返回data.progress Integer 传输进度, onTransferProgress回调返回data.transferredSize Integer 已传输大小, onTransferProgress回调返回data.totalSize Integer 总大小, onTransferProgress回调返回data.success Boolean 传输是否成功, onTransferComplete回调返回data.message String 传输描述, onTransferComplete回调返回data.path String 文件保存路径, onTransferComplete回调返回data.fileName String 文件名称, onReceiveRequest回调返回data.fileSize Integer 文件大小, onReceiveRequest回调返回code Integer 返回类型,0.成功,其他:失败

