小程序模板:专业的小程序模板与静态模板分享平台
小程序
教程
搜索
当前位置 : 首页> 小程序教程> 微信小程序wifi获取与连接

微信小程序wifi获取与连接

一、功能实现前置条件

1. 权限配置

  • app.json中添加地理位置权限声明

"permission": {
  "scope.userLocation": {
    "desc": "需要获取位置信息以搜索附近WiFi"
  }
}


2. 设备兼容性检查

wx.getSystemInfo({
  success(res) {
    const system = res.system.split(' ')[0];
    if (system === 'iOS' && parseFloat(res.system) < 11.2) {
      wx.showToast({ title: 'iOS系统版本过低' });
    }
  }
});


二、WiFi列表获取流程

  1. 初始化WiFi模块

wx.startWifi({
  success() {
    console.log('WiFi模块初始化成功');
    this.getWifiList();
  },
  fail(err) {
    console.error('初始化失败:', err.errMsg); // 错误码12000[6](@ref)
  }
});

2. 请求WiFi列表

wx.getWifiList({
  success() {
    console.log('已触发扫描');
  },
  fail(err) {
    if (err.errCode === 12007) {
      wx.showModal({ title: '用户拒绝授权' }); // 权限被拒处理[8](@ref)
    }
  }
});

// 监听列表返回
wx.onGetWifiList(res => {
  const wifiList = res.wifiList.filter(item => item.SSID);
  this.setData({ wifiList });
});


三、WiFi连接核心实现

  1. 连接指定WiFi

wx.connectWifi({
  SSID: 'Your_WiFi_SSID',
  BSSID: '设备MAC地址(可选)',
  password: 'Your_Password',
  success() {
    wx.onWifiConnected(res => {
      console.log('已连接:', res.wifi.SSID); // 监听连接成功事件[8](@ref)
    });
  },
  fail(err) {
    if (err.errCode === 12002) {
      wx.showToast({ title: '密码错误' }); // 常见错误处理[6](@ref)
    }
  }
});


平台差异处理

  • Android:可直接在应用内完成连接

  • iOS:需跳转系统设置页手动连接(iOS 11.2+)

wx.connectWifi({
  ...,
  maunal: true  // 强制跳转系统页[2](@ref)
});

联系客服 意见反馈

签到成功!

已连续签到1天,签到3天将获得积分VIP1天

知道了