更新记录

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文档 API_SCREENSHOT

如何使用

引入

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>

隐私、权限声明

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

请查看上面文档说明

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

插件不采集任何数据

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

暂无用户评论。