index.vue 6.6 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 19 20
		<button @tap="testGetBatteryInfo">获取电池电量</button>
		<button @tap="testonMemoryWarning">开启内存不足告警监听</button>
		<button @tap="testoffMemoryWarning">关闭内存不足告警监听</button>
21
		
杜庆泉's avatar
杜庆泉 已提交
22
		
DCloud-yyl's avatar
DCloud-yyl 已提交
23 24 25 26
	</view>
</template>

<script>
27

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

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

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