interface.uts 9.8 KB
Newer Older
杜庆泉's avatar
杜庆泉 已提交
1 2 3
/**
 * Wifi 函数通用入参封装
 */
杜庆泉's avatar
杜庆泉 已提交
4 5 6 7
export type WifiOption = {
	success ?: (res : UniWifiResult) => void;
	fail ?: (res : UniWifiResult) => void;
	complete ?: (res : UniWifiResult) => void;
杜庆泉's avatar
杜庆泉 已提交
8 9 10 11 12 13
};

/**
 * Wifi 链接参数封装 
 */
export type WifiConnectOption = {
杜庆泉's avatar
杜庆泉 已提交
14 15 16 17 18 19 20 21
	SSID ?: string;
	BSSID ?: string;
	password ?: string;
	maunal ?: boolean;
	partialInfo ?: boolean; //ios不生效
	success ?: (res : UniWifiResult) => void;
	fail ?: (res : UniWifiResult) => void;
	complete ?: (res : UniWifiResult) => void;
杜庆泉's avatar
杜庆泉 已提交
22 23 24 25 26 27
}

/**
 * 获取当前链接的wifi信息
 */
export type GetConnectedWifiOptions = {
杜庆泉's avatar
杜庆泉 已提交
28 29 30 31
	partialInfo ?: boolean
	success ?: (res : UniWifiResult) => void
	fail ?: (res : UniWifiResult) => void
	complete ?: (res : UniWifiResult) => void
杜庆泉's avatar
杜庆泉 已提交
32 33 34 35 36 37
}

/* 
 * 对外暴露的wifi信息
 */
export type UniWifiInfo = {
杜庆泉's avatar
杜庆泉 已提交
38 39 40 41 42
	SSID : string;
	BSSID ?: string;
	secure ?: boolean;
	signalStrength ?: number;
	frequency ?: number;
杜庆泉's avatar
杜庆泉 已提交
43 44 45 46 47 48 49
}


export type UniWifiResult = {
	errCode : number,
	errSubject : string,
	errMsg : string,
杜庆泉's avatar
杜庆泉 已提交
50
	wifi : UniWifiInfo | null
杜庆泉's avatar
杜庆泉 已提交
51 52 53 54 55
}

export type UniWifiCallback = () => void


杜庆泉's avatar
杜庆泉 已提交
56
export type StartWifi = (option : WifiOption) => void
杜庆泉's avatar
杜庆泉 已提交
57

杜庆泉's avatar
杜庆泉 已提交
58
export type StopWifi = (option : WifiOption) => void
杜庆泉's avatar
杜庆泉 已提交
59

杜庆泉's avatar
杜庆泉 已提交
60
export type GetWifiList = (option : WifiOption) => void
杜庆泉's avatar
杜庆泉 已提交
61

杜庆泉's avatar
杜庆泉 已提交
62
export type OnGetWifiList = (callback : UniWifiCallback) => void
杜庆泉's avatar
杜庆泉 已提交
63

杜庆泉's avatar
杜庆泉 已提交
64
export type OffGetWifiList = (callback : UniWifiCallback) => void
杜庆泉's avatar
杜庆泉 已提交
65

杜庆泉's avatar
杜庆泉 已提交
66
export type GetConnectedWifi = (option : GetConnectedWifiOptions) => void
杜庆泉's avatar
杜庆泉 已提交
67

杜庆泉's avatar
杜庆泉 已提交
68
export type ConnectWifi = (option : WifiConnectOption) => void
杜庆泉's avatar
杜庆泉 已提交
69

杜庆泉's avatar
杜庆泉 已提交
70
export type OnWifiConnected = (callback : UniWifiCallback) => void
杜庆泉's avatar
杜庆泉 已提交
71

杜庆泉's avatar
杜庆泉 已提交
72
export type OnWifiConnectedWithPartialInfo = (callback : UniWifiCallback) => void
杜庆泉's avatar
杜庆泉 已提交
73

杜庆泉's avatar
杜庆泉 已提交
74
export type OffWifiConnected = (callback : UniWifiCallback | null) => void
杜庆泉's avatar
杜庆泉 已提交
75

杜庆泉's avatar
杜庆泉 已提交
76
export type OnOffWifiConnectedWithPartialInfo = (callback : UniWifiCallback | null) => void
杜庆泉's avatar
杜庆泉 已提交
77

杜庆泉's avatar
杜庆泉 已提交
78
export type SetWifiList = (option : WifiOption) => void
杜庆泉's avatar
杜庆泉 已提交
79 80

interface Uni {
杜庆泉's avatar
杜庆泉 已提交
81 82 83 84 85 86
	/**
	 * 初始化Wi-Fi模块
	 * 
	 * @param {WifiOption} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#startwifi
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
87
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
88 89 90 91 92 93 94 95 96 97 98
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
99 100 101
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
杜庆泉's avatar
杜庆泉 已提交
102
	 * @autotest { after: 'stopWifi' }
杜庆泉's avatar
杜庆泉 已提交
103
	 */
杜庆泉's avatar
杜庆泉 已提交
104
	startWifi : StartWifi,
杜庆泉's avatar
杜庆泉 已提交
105 106 107 108 109 110
	/**
	 * 关闭 Wi-Fi 模块
	 * 
	 * @param {WifiOption} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#stopwifi
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
111
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
112 113 114 115 116 117 118 119 120 121 122
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
123 124 125
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
杜庆泉's avatar
杜庆泉 已提交
126
	 * @autotest { before: 'startWifi' }
杜庆泉's avatar
杜庆泉 已提交
127
	 */
杜庆泉's avatar
杜庆泉 已提交
128
	stopWifi : StopWifi,
杜庆泉's avatar
杜庆泉 已提交
129
	/**
杜庆泉's avatar
杜庆泉 已提交
130 131 132
	 * @param {WifiConnectOption} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#connectWifi
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
133
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
134
	 *        "android": {
杜庆泉's avatar
杜庆泉 已提交
135
	 *            "osVer": ">=4.4 && <10.0",
杜庆泉's avatar
杜庆泉 已提交
136 137 138 139 140 141 142 143 144
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
145 146 147
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
杜庆泉's avatar
杜庆泉 已提交
148 149
	 * @autotest {
		generated: false,
杜庆泉's avatar
杜庆泉 已提交
150
		pollution: false,
杜庆泉's avatar
杜庆泉 已提交
151 152 153 154 155 156 157
		cases:[
			{
				before: 'startWifi',
				after: 'stopWifi',
				input: [{
					maunal:false,
					SSID:"Xiaomi_20D0",
杜庆泉's avatar
杜庆泉 已提交
158 159 160
					password:"streamApp!2016",
				}],
				output:{
杜庆泉's avatar
杜庆泉 已提交
161 162 163
						callbackType: 'success',
						value: { errCode: 12013 ,errMsg: "connectWifi:wifi config may be expired",errSubject: "uni-connectWifi"}
					}
杜庆泉's avatar
杜庆泉 已提交
164 165 166 167
			}
		]
	}
	*/
杜庆泉's avatar
杜庆泉 已提交
168
	connectWifi : ConnectWifi,
杜庆泉's avatar
杜庆泉 已提交
169
	/**
杜庆泉's avatar
杜庆泉 已提交
170 171 172 173
	 * 请求获取 Wi-Fi 列表。wifiList 数据会在 onGetWifiList 注册的回调中返回。
	 * @param {WifiOption} option
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getWifiList
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
174
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
175 176 177 178 179 180 181 182 183 184 185
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
186 187 188
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
杜庆泉's avatar
杜庆泉 已提交
189
	 * @autotest { before: 'startWifi', after: 'stopWifi' }
杜庆泉's avatar
杜庆泉 已提交
190
	*/
杜庆泉's avatar
杜庆泉 已提交
191
	getWifiList : GetWifiList,
杜庆泉's avatar
杜庆泉 已提交
192 193 194 195 196 197
	/**
	 * 监听获取到 Wi-Fi 列表数据事件。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onGetWifiList
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
198
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
199 200 201 202 203 204 205 206 207 208 209
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
210 211 212
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
杜庆泉's avatar
杜庆泉 已提交
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
	 * @autotest  { expectCallback: true }
	 * @autotest {
		 generated: false,
		 pollution: false,
		 expectCallback: true,
		 before: 'startWifi',
		 after: 'onGetWifiListAfter',
		 cases: [
			 {
				 output: {
					 value: 0,
					 returnKey: '.wifiList.length',
					 jestExpectSyntax: 'toBeGreaterThan'
				 },
			 }
		 ]
	}
杜庆泉's avatar
杜庆泉 已提交
230
	 */
杜庆泉's avatar
杜庆泉 已提交
231
	onGetWifiList : OnGetWifiList,
杜庆泉's avatar
杜庆泉 已提交
232 233 234 235 236 237
	/**
	 * 移除获取到 Wi-Fi 列表数据事件的监听函数。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offGetWifiList
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
238
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
239 240 241 242 243 244 245 246 247 248 249
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
250 251 252
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
253
	 * @autotest { expectCallback: true }
杜庆泉's avatar
杜庆泉 已提交
254
	 */
杜庆泉's avatar
杜庆泉 已提交
255
	offGetWifiList : OffGetWifiList,
杜庆泉's avatar
杜庆泉 已提交
256 257 258 259 260 261
	/**
	 * 获取已连接的 Wi-Fi 信息
	 * 
	 * @param {GetConnectedWifiOptions} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getConnectedWifi
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
262
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
263 264 265 266 267 268 269 270 271 272 273
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
274 275 276
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
277
	 * @autotest { before: 'startWifi', after: 'stopWifi' }
杜庆泉's avatar
杜庆泉 已提交
278
	 */
杜庆泉's avatar
杜庆泉 已提交
279
	getConnectedWifi : GetConnectedWifi,
杜庆泉's avatar
杜庆泉 已提交
280 281 282 283 284 285
	/**
	 * 监听连接上 Wi-Fi 的事件
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnected
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
286
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
287 288 289 290 291 292 293 294 295 296 297
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
298 299 300
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
301
	 * @autotest { expectCallback: true }
杜庆泉's avatar
杜庆泉 已提交
302
	 */
杜庆泉's avatar
杜庆泉 已提交
303
	onWifiConnected : OnWifiConnected,
杜庆泉's avatar
杜庆泉 已提交
304 305 306 307 308 309
	/**
	 * 监听连接上 Wi-Fi 的事件。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnectedWithPartialInfo
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
310
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
311 312 313 314 315 316 317 318 319 320 321
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
322 323 324
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
325
	 * @autotest { expectCallback: true }
杜庆泉's avatar
杜庆泉 已提交
326
	 */
杜庆泉's avatar
杜庆泉 已提交
327
	onWifiConnectedWithPartialInfo : OnWifiConnectedWithPartialInfo,
杜庆泉's avatar
杜庆泉 已提交
328 329 330 331 332 333
	/**
	 * 移除连接上 Wi-Fi 的事件的监听函数。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offWifiConnected
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
334
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
335 336 337 338 339 340 341 342 343 344 345
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
346 347 348
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
349
	 * @autotest { expectCallback: true }
杜庆泉's avatar
杜庆泉 已提交
350
	 */
杜庆泉's avatar
杜庆泉 已提交
351
	offWifiConnected : OffWifiConnected,
杜庆泉's avatar
杜庆泉 已提交
352 353 354 355 356 357
	/**
	 * 移除连接上 Wi-Fi 的事件的监听函数。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onOffWifiConnectedWithPartialInfo
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
358
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
359 360 361 362 363 364 365 366 367 368 369
	 *        "android": {
	 *            "osVer": "4.4.4",
	 *            "uniVer": "3.7.0",
	 *            "unixVer": "3.9.0"
	 *        },
	 *        "ios": {
	 *            "osVer": "9.0",
	 *            "uniVer": "3.7.7",
	 *            "unixVer": "3.9.0"
	 *   	  }
	 *    }
杜庆泉's avatar
杜庆泉 已提交
370 371 372
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
373
	 * @autotest { expectCallback: true }
杜庆泉's avatar
杜庆泉 已提交
374
	 */
杜庆泉's avatar
杜庆泉 已提交
375
	onOffWifiConnectedWithPartialInfo : OnOffWifiConnectedWithPartialInfo,
杜庆泉's avatar
杜庆泉 已提交
376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393
	/**
	 * SetWifiList  暂未实现
	 * 
	 * @uniPlatform {
	 *    "app": {
	 *        "android": {
	 *            "osVer": "x",
	 *            "uniVer": "x",
	 *            "unixVer": "x"
	 *        },
	 *        "ios": {
	 *            "osVer": "x",
	 *            "uniVer": "x",
	 *            "unixVer": "x"
	 *   	  }
	 *    }
	 * }
	 */
杜庆泉's avatar
杜庆泉 已提交
394
	setWifiList : SetWifiList,
杜庆泉's avatar
杜庆泉 已提交
395
}