更新记录

1.0.0(2025-12-11) 下载此版本

参考了https://ext.dcloud.net.cn/plugin?id=18195 和https://ext.dcloud.net.cn/plugin?id=22205


平台兼容性

uni-app(4.83)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x(4.83)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - -

wzq-LAN-IP UTS组件

这是一个基于UTS开发的局域网IP管理组件,提供了Ping操作、WiFi IP获取和局域网IP扫描等功能,适用于Android平台。

功能特性

  • ✅ 异步Ping操作(支持自定义参数)
  • ✅ 同步Ping操作
  • ✅ 获取当前设备WiFi的IP地址
  • ✅ 扫描局域网内所有IP列表
  • ✅ 扫描局域网内可Ping通的IP列表
  • ✅ 扫描指定端口可访问的IP列表

安装与导入

安装方式

通过UniApp插件市场安装,或直接将组件复制到项目的uni_modules目录下。

导入组件

// 导入组件
import { ping, pingSync, getWifiIp, getLanIpList, getLanIpListWithPort, getLanIpListPing } from '@/uni_modules/wzq-LAN-IP';

API 文档

1. ping - 异步Ping操作

类型定义

type Ping = (options: PingOptions) => void;

参数说明

参数名 类型 必填 说明
addr string Ping的目标地址(IP或域名)
time number 超时时间(秒),默认5秒
count number Ping的次数,默认5次
packetSize number 数据包大小,默认32字节
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(成功、失败都会执行)

返回结果(success回调)

{
    errCode: number,          // 错误码,0表示成功
    errSubject: string,       // 错误主题
    errMsg: string,           // 错误信息
    time?: number,            // 平均时延,单位为毫秒
    packetLoss?: number       // 丢包率,百分比
}

使用示例

ping({
    addr: '192.168.1.1',
    time: 3,
    count: 3,
    packetSize: 64,
    success(res) {
        if (res.errCode === 0) {
            console.log('Ping成功,平均时延:', res.time, 'ms');
            console.log('丢包率:', res.packetLoss, '%');
        } else {
            console.log('Ping失败:', res.errMsg);
        }
    },
    fail(err) {
        console.error('Ping操作失败:', err);
    },
    complete(res) {
        console.log('Ping操作完成:', res);
    }
});

2. pingSync - 同步Ping操作

类型定义

type PingSync = (options: PingOptions) => PingResult;

参数说明:同ping函数

返回结果:同ping函数的success回调结果

使用示例

const result = pingSync({
    addr: '192.168.1.1',
    time: 3,
    count: 3
});

if (result.errCode === 0) {
    console.log('Ping成功,平均时延:', result.time, 'ms');
    console.log('丢包率:', result.packetLoss, '%');
} else {
    console.error('Ping失败:', result.errMsg);
}

3. getWifiIp - 获取当前设备WiFi的IP地址

类型定义

type GetWifiIp = () => string;

返回结果:当前设备的WiFi IP地址字符串

使用示例

const wifiIp = getWifiIp();
console.log('当前设备WiFi IP:', wifiIp);

4. getLanIpList - 获取局域网内所有IP列表

类型定义

type GetLanIpList = (options: GetLanIpListOptions) => void;

参数说明

参数名 类型 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(成功、失败都会执行)

返回结果(success回调)

{
    ipList: string[]  // 局域网IP地址列表
}

使用示例

getLanIpList({
    success(res) {
        console.log('局域网内所有IP列表:', res.ipList);
    },
    fail(err) {
        console.error('获取IP列表失败:', err);
    }
});

5. getLanIpListWithPort - 获取可Ping通且指定端口可访问的IP列表

类型定义

type GetLanIpListWithPort = (options: GetLanIpListWithPortOptions) => void;

参数说明

参数名 类型 必填 说明
port number 要检查的端口号
time number Ping超时时间(秒),默认5秒
count number Ping次数,默认3次
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(成功、失败都会执行)

返回结果(success回调):同getLanIpList

使用示例

getLanIpListWithPort({
    port: 80,
    time: 2,
    count: 2,
    success(res) {
        console.log('局域网内80端口可访问的IP列表:', res.ipList);
    },
    fail(err) {
        console.error('扫描失败:', err);
    }
});

6. getLanIpListPing - 获取可Ping通的IP列表

类型定义

type GetLanIpListPing = (options: GetLanIpListPingOptions) => void;

参数说明

参数名 类型 必填 说明
time number Ping超时时间(秒),默认5秒
count number Ping次数,默认3次
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(成功、失败都会执行)

返回结果(success回调):同getLanIpList

使用示例

getLanIpListPing({
    time: 3,
    count: 3,
    success(res) {
        console.log('局域网内可Ping通的IP列表:', res.ipList);
    },
    fail(err) {
        console.error('扫描失败:', err);
    }
});

错误码说明

错误码 说明
0 操作成功
1001 获取应用上下文失败
13000 主机名解析失败
13001 目标主机不可达
13002 Ping超时
13010 未知错误

注意事项

  1. 平台兼容性:该组件仅支持Android平台
  2. 权限要求:需要网络权限和WiFi连接权限
  3. 性能建议
    • 扫描操作可能需要较长时间,建议在后台线程执行
    • 合理设置超时时间和Ping次数,避免影响用户体验
  4. 网络环境:扫描结果受网络环境和防火墙设置影响
  5. 错误处理:请务必处理fail回调,以确保应用稳定性

版本更新日志

v1.0.0

  • 初始版本发布
  • 实现ping和pingSync功能
  • 实现获取WiFi IP功能
  • 实现局域网IP扫描功能

许可证

MIT License

贡献

欢迎提交Issue和Pull Request来帮助改进这个组件!

隐私、权限声明

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

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.INTERNET"/>

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。