更新记录
1.0.0(2025-08-12)
- 插件初始版本
平台兼容性
云端兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | √ |
uni-app(4.66)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 |
---|---|---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | 7.0 | 1.0.0 | 14 | 1.0.0 | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.66)
Chrome | Safari | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|---|---|
× | × | 7.0 | 1.0.0 | 14 | 1.0.0 | - | × |
关于版本
【源码授权版】和【普通授权版】功能上是完全一样的。
【源码授权版】适用于项目对外部插件源代码有要求或者需要基于插件源码进行二次开发和定制的场景。源码授权版支持使用标准基座进行运行调试。
关于插件
本插件为uniapp提供获取手机所有网络接口IP信息的功能,包括IPv4和IPv6。
API文档
在线的API文档链接:插件API文档
如何使用
引入
import { UtsNetworkUtil, UtsNetworkInterfaceInfoList } from '@/uni_modules/ts-net-tool'
基本使用
使用UtsNetworkUtil
获取网络接口信息
const networkUtil = new UtsNetworkUtil()
networkUtil.getNetworkInterfaceInfoList(
{
// 网络信息结果
onNetworkInfo(result : UtsNetworkInterfaceInfoList) {
for (let item of result["networkInfoList"]) {
console.log("名称: ", item.name)
console.log("类型: ", item.networkType)
console.log("蜂窝制式: ", item.cellularNetworkClass)
console.log("状态: ", item.status)
console.log("IPv4: ", item.ipv4Addresses)
console.log("IPv6: ", item.ipv6Addresses)
console.log("------------------------------------------")
}
},
// 错误消息(可选)
onErrorStr(errorMsg : string) {
console.log("查询网络信息出错:", errorMsg)
}
})
输出结果样例:
名称: wlan0
类型: WiFi
蜂窝制式:
状态: Active
IPv4: ["192.168.102.29"]
IPv6: ["fe80::1820:1aff:fe54:8c40%wlan0","2109:895a:3865:52aa:28f7:65ec:fe21:6b22"]
------------------------------------------
名称: rmnet_data2
类型: Cellular
蜂窝制式: 5G
状态: Active
IPv4: ["10.84.138.208"]
IPv6: ["fe80::28f7:65ff:fe21:6baa%rmnet_data2","2406:895a:3865:52aa:28f7:34ff:fe21:6baa"]
------------------------------------------
通过过滤获取WIFI的IPv4地址
function getNetworkInfoPromise() {
// 可以通过结果回调封装成Promise,方便和异步业务集成
return new Promise<UtsNetworkInterfaceInfoList>((resolve, reject) => {
const networkUtil = new UtsNetworkUtil()
networkUtil.getNetworkInterfaceInfoList(
{
// 网络信息结果
onNetworkInfo(result : UtsNetworkInterfaceInfoList) {
resolve(result)
},
// 错误消息(可选)
onErrorStr(errorMsg : string) {
reject(errorMsg)
}
})
})
}
function getIPv4ForWifi() {
getNetworkInfoPromise()
.then((data : UtsNetworkInterfaceInfoList) => {
const wifiNetwork = data.networkInfoList.find((element) => element.networkType == "WiFi")
if (wifiNetwork) {
console.log(`WIFI的IPv4地址: ${wifiNetwork.ipv4Addresses[0]}`)
}
}).catch((errStr : string) => {
console.log(`获取IP信息错误: ${errStr}`)
})
}
输出结果样例:
WIFI的IPv4地址: 192.168.102.29
权限要求
安卓Android权限
需要增加以下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
苹果iOS权限
需要增加以下权限
<key>NSLocalNetworkUsageDescription</key>
<string>用于检测网络状态</string>
<key>NSCarrierUsageDescription</key>
<string>需要获取蜂窝网络类型</string>