更新记录
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 | 未知错误 |
注意事项
- 平台兼容性:该组件仅支持Android平台
- 权限要求:需要网络权限和WiFi连接权限
- 性能建议:
- 扫描操作可能需要较长时间,建议在后台线程执行
- 合理设置超时时间和Ping次数,避免影响用户体验
- 网络环境:扫描结果受网络环境和防火墙设置影响
- 错误处理:请务必处理
fail回调,以确保应用稳定性
版本更新日志
v1.0.0
- 初始版本发布
- 实现ping和pingSync功能
- 实现获取WiFi IP功能
- 实现局域网IP扫描功能
许可证
MIT License
贡献
欢迎提交Issue和Pull Request来帮助改进这个组件!

收藏人数:
下载插件并导入HBuilderX
下载示例项目ZIP
赞赏(0)
下载 3260
赞赏 0
下载 12050810
赞赏 1826
赞赏
京公网安备:11010802035340号