index.vue 6.8 KB
Newer Older
DCloud-yyl's avatar
DCloud-yyl 已提交
1 2
<template>
	<view class="content">
杜庆泉's avatar
杜庆泉 已提交
3 4 5 6 7 8 9 10 11

		
		<button @tap="testStartWifi" style="width: 100%;">初始化wifi模块</button>
		<button @tap="testGetWifiList" style="width: 100%;">获取当前wifi列表</button>
		<button @tap="testOffGetWifiList" style="width: 100%;">移除wifi列表监听</button>
		<button @tap="testGetConnnectWifi" style="width: 100%;">获取当前连接的wifi</button>
		<button @tap="testConnnectWifi" style="width: 100%;">链接wifi</button>
		<button @tap="testStopWifi" style="width: 100%;">关闭wifi模块</button>
		
杜庆泉's avatar
杜庆泉 已提交
12 13
		<button @tap="onGetWifiList2_assert0" style="width: 100%;">onGetWifiList2_assert0</button>
		
14
		<button @tap="testScreenShotListen">开启截屏监听</button>
15
		<button @tap="testScreenShotOff">关闭截屏监听</button>
16 17
		<button @tap="testSetUserCaptureScreen">{{setUserCaptureScreenText}}</button>
		
18
		<button @tap="testGetBatteryInfo">获取电池电量</button>
19
		<button @tap="testGetBatteryInfoSync">同步获取电池电量</button>
20 21
		<button @tap="testonMemoryWarning">开启内存不足告警监听</button>
		<button @tap="testoffMemoryWarning">关闭内存不足告警监听</button>
22
		
杜庆泉's avatar
杜庆泉 已提交
23
		
DCloud-yyl's avatar
DCloud-yyl 已提交
24 25 26 27
	</view>
</template>

<script>
28

DCloud-yyl's avatar
DCloud-yyl 已提交
29 30 31
	export default {
		data() {
			return {
杜庆泉's avatar
杜庆泉 已提交
32
				memListener:null,
33
				setUserCaptureScreenFlag: false,
34
				setUserCaptureScreenText: '禁止截屏',
35 36
				permissionGranted: false,
				id:0
DCloud-yyl's avatar
DCloud-yyl 已提交
37 38 39 40 41 42
			}
		},
		onLoad() {

		},
		methods: {
杜庆泉's avatar
杜庆泉 已提交
43 44 45
			onMemoryWarning:function(res){
				console.log(res);
			},
杜庆泉's avatar
杜庆泉 已提交
46 47 48 49
			fn:function(res){
				console.log(res)
			},
			onGetWifiList2_assert0() {
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
				console.log(" ------- onGetWifiList2_assert0: ",this.id);
				const fn = res => console.log('onGetWifiList res', res)
				uni.startWifi({success(){
					uni.onGetWifiList(fn)
					uni.getWifiList({
						success() {
							console.log('getWifiList success');
							uni.offGetWifiList(fn)
							uni.stopWifi({
								success() {},
								fail(e) {
									console.log("stopWifi fail: ",e);
								}
							})
						}
					})
				}})
				this.id++
			},
杜庆泉's avatar
杜庆泉 已提交
69
						
杜庆泉's avatar
杜庆泉 已提交
70
			testConnnectWifi(){
杜庆泉's avatar
杜庆泉 已提交
71 72 73 74
				
				uni.startWifi({
					success:(res)=> {
						console.log("success: " + JSON.stringify(res));
杜庆泉's avatar
杜庆泉 已提交
75 76 77 78 79 80 81 82
						// uni.connectWifi({
						// 	maunal:false,
						// 	SSID:"Xiaomi_20D0",
						// 	password:"BBB111",
						// 	complete:(res)=>{
						// 		console.log(res);
						// 	}
						// });
杜庆泉's avatar
杜庆泉 已提交
83 84 85 86
					},fail:(res)=>{
						console.log("fail: " + JSON.stringify(res));
					},complete:(res)=>{
						console.log("complete: " + JSON.stringify(res));
杜庆泉's avatar
杜庆泉 已提交
87
					}
杜庆泉's avatar
杜庆泉 已提交
88 89 90
				})

				
91
				
杜庆泉's avatar
杜庆泉 已提交
92
			},
杜庆泉's avatar
杜庆泉 已提交
93
			testGetConnnectWifi(){
94
				uni.getConnectedWifi({
杜庆泉's avatar
杜庆泉 已提交
95 96 97
					partialInfo:false,
					complete:(res)=>{
						console.log(res);
98 99 100 101 102 103 104 105 106 107 108 109
						if (res.errCode == 0) {
							uni.showToast({
								icon:'none',
								title:res.wifi.SSID
							})
						} else{
							uni.showToast({
								icon:'none',
								title:res.errMsg
							})
						}
						
杜庆泉's avatar
杜庆泉 已提交
110
					}
杜庆泉's avatar
杜庆泉 已提交
111 112 113 114 115 116
				});
			},
			testStartWifi(){
				uni.startWifi({
					success:(res)=> {
						console.log("success: " + JSON.stringify(res));
117
						// wifi 开启成功后,注册wifi链接状态监听和wifi列表获取监听
杜庆泉's avatar
杜庆泉 已提交
118
						uni.onGetWifiList(function(res){
119
							console.log("onGetWifiList");
杜庆泉's avatar
杜庆泉 已提交
120 121
							console.log(res);
						});
杜庆泉's avatar
杜庆泉 已提交
122
						uni.onWifiConnected(function(res){
123 124
							console.log("onWifiConnected");
							console.log(res);
杜庆泉's avatar
杜庆泉 已提交
125
						});
杜庆泉's avatar
杜庆泉 已提交
126 127 128 129
						uni.onWifiConnectedWithPartialInfo(function(res){
							console.log("onWifiConnectedWithPartialInfo");
							console.log(res);
						});
杜庆泉's avatar
杜庆泉 已提交
130
						
杜庆泉's avatar
杜庆泉 已提交
131 132 133 134
					},fail:(res)=>{
						console.log("fail: " + JSON.stringify(res));
					},complete:(res)=>{
						console.log("complete: " + JSON.stringify(res));
135 136 137
					}
				})
			},
杜庆泉's avatar
杜庆泉 已提交
138
			testStopWifi() {
杜庆泉's avatar
杜庆泉 已提交
139 140 141
				uni.offWifiConnected()
				uni.offWifiConnectedWithPartialInfo()
				
杜庆泉's avatar
杜庆泉 已提交
142 143 144 145 146 147 148 149
				uni.stopWifi({
					success:(res)=> {
						console.log("success: " + JSON.stringify(res));
					},fail:(res)=>{
						console.log("fail: " + JSON.stringify(res));
					},complete:(res)=>{
						console.log("complete: " + JSON.stringify(res));
					}
150
				})
杜庆泉's avatar
杜庆泉 已提交
151
				
152
			},
杜庆泉's avatar
杜庆泉 已提交
153 154 155 156 157 158 159 160 161
			testGetWifiList() {
				uni.getWifiList({
					success:(res)=> {
						console.log("success: " + JSON.stringify(res));
					},fail:(res)=>{
						console.log("fail: " + JSON.stringify(res));
					},complete:(res)=>{
						console.log("complete: " + JSON.stringify(res));
					}
162
				})
杜庆泉's avatar
杜庆泉 已提交
163 164
				
			},
杜庆泉's avatar
杜庆泉 已提交
165 166 167 168 169 170 171
			
			testOffGetWifiList(){
				uni.offGetWifiList()
			},
			
	
			
杜庆泉's avatar
杜庆泉 已提交
172 173
			testonMemoryWarning() {
				uni.onMemoryWarning(this.onMemoryWarning)
174 175 176 177
				uni.showToast({
					icon:'none',
					title:'已监听,注意控制台输出'
				})
杜庆泉's avatar
杜庆泉 已提交
178 179
			},
			testoffMemoryWarning(){
180 181 182 183 184
				uni.offMemoryWarning(this.onMemoryWarning)
				uni.showToast({
					icon:'none',
					title:'监听已移除'
				})
185
			},
186 187 188 189
			testScreenShotListen() {
				var that = this;
				uni.onUserCaptureScreen(function(res) {
						console.log(res);
190 191 192 193 194
						uni.showToast({
							icon:"none",
							title:'捕获截屏事件'
						})
						that.screenImage = res.path
195
				});
196
					
197
				if (uni.getSystemInfoSync().platform != "android" || that.permissionGranted) {
198 199 200 201 202 203
					// 除android 之外的平台,直接提示监听已开启
					uni.showToast({
						icon:"none",
						title:'截屏监听已开启'
					})
				}
204 205 206 207 208 209 210 211 212 213 214 215 216 217
			},
			testScreenShotOff() {
				uni.offUserCaptureScreen(function(res) {
						console.log(res);
				});
				// 提示已经开始监听,注意观察
				uni.showToast({
					icon:"none",
					title:'截屏监听已关闭'
				})
			},
			testGetBatteryInfo() {
				uni.getBatteryInfo({
					success(res) {
218
						console.log(res);
219 220 221 222 223 224 225
						uni.showToast({
							title: "当前电量:" + res.level + '%',
							icon: 'none'
						});
					}
				})
			},
226 227 228 229 230 231
			
			testGetBatteryInfoSync() {
				let ret = uni.getBatteryInfoSync()
				console.log(ret)
			},
			
232 233 234
			testSetUserCaptureScreen() {
				let flag = this.setUserCaptureScreenFlag;
				uni.setUserCaptureScreen({
235
					enable: flag,
236
					success: (res) => {
237
						console.log("setUserCaptureScreen enable: " + flag + " success: " + JSON.stringify(res));
238 239
					},
					fail: (res) => {
240
						console.log("setUserCaptureScreen enable: " + flag + " fail: " + JSON.stringify(res));
241 242
					},
					complete: (res) => {
243
						console.log("setUserCaptureScreen enable: " + flag + " complete: " + JSON.stringify(res));
244 245 246 247 248 249 250 251 252
					}
				});
				uni.showToast({
					icon:"none",
					title: this.setUserCaptureScreenText
				});
				this.setUserCaptureScreenFlag = !this.setUserCaptureScreenFlag;
				if (this.setUserCaptureScreenFlag) {
					this.setUserCaptureScreenText = '允许截屏';
253 254
				} else {
					this.setUserCaptureScreenText = '禁止截屏';
255 256
				}
			},
DCloud-yyl's avatar
DCloud-yyl 已提交
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		height: 200rpx;
		width: 200rpx;
		margin-top: 200rpx;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 50rpx;
	}

	.text-area {
		display: flex;
		justify-content: center;
	}

	.title {
		font-size: 36rpx;
		color: #8f8f94;
	}
</style>