<template>
<view class="container">
<button @tap="getWifiList">获取WiFi列表</button>
<button @tap="connectWifi">连接WiFi</button>
<button @tap="getCurrentWifi">获取当前WiFi</button>
<button @tap="closeWifi">关闭WiFi</button>
<view v-if="wifiList.length > 0">
<view v-for="(wifi, index) in wifiList" :key="index">
{{ wifi.SSID }} - 信号强度: {{ wifi.signalStrength }}
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
wifiList: []
}
},
methods: {
getWifiList() {
uni.startWifi({
success: () => {
uni.getWifiList({
success: (res) => {
this.wifiList = res.wifiList
},
fail: (err) => {
uni.showToast({
title: '获取WiFi列表失败',
icon: 'none'
})
}
})
}
})
},
connectWifi() {
uni.connectWifi({
SSID: 'WiFi名称',
password: '密码',
success: () => {
uni.showToast({
title: 'WiFi连接成功'
})
},
fail: (err) => {
uni.showToast({
title: 'WiFi连接失败',
icon: 'none'
})
}
})
},
getCurrentWifi() {
uni.getConnectedWifi({
success: (res) => {
uni.showModal({
content: `当前连接的WiFi:${res.wifi.SSID}`
})
}
})
},
closeWifi() {
if (uni.getSystemInfoSync().platform === 'android') {
try {
plus.android.importClass("android.content.Context")
plus.android.importClass("android.net.wifi.WifiManager")
var context = plus.android.runtimeMainActivity()
var wifiManager = context.getSystemService(Context.WIFI_SERVICE)
wifiManager.setWifiEnabled(false)
uni.showToast({
title: 'WiFi已关闭'
})
} catch(e) {
uni.showToast({
title: '关闭WiFi失败',
icon: 'none'
})
}
} else {
uni.showToast({
title: '仅支持Android平台',
icon: 'none'
})
}
}
}
}
</script>
<style>
.container {
padding: 20px;
}
button {
margin: 10px 0;
}
</style>
export default {
methods: {
handleWifi() {
uni.startWifi({
success: () => {
uni.getWifiList({
success: (res) => {
console.log('WiFi列表:', res.wifiList);
},
fail: (err) => {
uni.showToast({
title: '获取WiFi列表失败',
icon: 'none'
});
}
});
},
fail: (err) => {
uni.showToast({
title: 'WiFi模块初始化失败',
icon: 'none'
});
}
});
},
initWifi() {
uni.authorize({
scope: 'scope.userLocation',
success: () => {
uni.startWifi({
success: () => {
this.scanWifi();
},
fail: (err) => {
console.error('WiFi初始化失败:', err);
}
});
},
fail: () => {
uni.showModal({
title: '提示',
content: '需要定位权限才能使用WiFi功能',
showCancel: false
});
}
});
},
scanWifi() {
uni.getWifiList({
success: (res) => {
uni.onGetWifiList((res) => {
console.log('搜索到的WiFi列表:', res.wifiList);
});
},
fail: (err) => {
console.error('扫描WiFi失败:', err);
}
});
}
}
}