interface.uts 9.5 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 253
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
254
	offGetWifiList : OffGetWifiList,
杜庆泉's avatar
杜庆泉 已提交
255 256 257 258 259 260
	/**
	 * 获取已连接的 Wi-Fi 信息
	 * 
	 * @param {GetConnectedWifiOptions} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getConnectedWifi
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
261
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
262 263 264 265 266 267 268 269 270 271 272
	 *        "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
杜庆泉 已提交
273 274 275 276
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
277
	getConnectedWifi : GetConnectedWifi,
杜庆泉's avatar
杜庆泉 已提交
278 279 280 281 282 283
	/**
	 * 监听连接上 Wi-Fi 的事件
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnected
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
284
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
285 286 287 288 289 290 291 292 293 294 295
	 *        "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
杜庆泉 已提交
296 297 298 299
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
300
	onWifiConnected : OnWifiConnected,
杜庆泉's avatar
杜庆泉 已提交
301 302 303 304 305 306
	/**
	 * 监听连接上 Wi-Fi 的事件。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnectedWithPartialInfo
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
307
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
308 309 310 311 312 313 314 315 316 317 318
	 *        "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
杜庆泉 已提交
319 320 321 322
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
323
	onWifiConnectedWithPartialInfo : OnWifiConnectedWithPartialInfo,
杜庆泉's avatar
杜庆泉 已提交
324 325 326 327 328 329
	/**
	 * 移除连接上 Wi-Fi 的事件的监听函数。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offWifiConnected
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
330
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
331 332 333 334 335 336 337 338 339 340 341
	 *        "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
杜庆泉 已提交
342 343 344 345
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
346
	offWifiConnected : OffWifiConnected,
杜庆泉's avatar
杜庆泉 已提交
347 348 349 350 351 352
	/**
	 * 移除连接上 Wi-Fi 的事件的监听函数。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onOffWifiConnectedWithPartialInfo
	 * @uniPlatform {
lizhongyi_'s avatar
lizhongyi_ 已提交
353
	 *    "app": {
杜庆泉's avatar
杜庆泉 已提交
354 355 356 357 358 359 360 361 362 363 364
	 *        "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
杜庆泉 已提交
365 366 367 368
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
369
	onOffWifiConnectedWithPartialInfo : OnOffWifiConnectedWithPartialInfo,
杜庆泉's avatar
杜庆泉 已提交
370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387
	/**
	 * SetWifiList  暂未实现
	 * 
	 * @uniPlatform {
	 *    "app": {
	 *        "android": {
	 *            "osVer": "x",
	 *            "uniVer": "x",
	 *            "unixVer": "x"
	 *        },
	 *        "ios": {
	 *            "osVer": "x",
	 *            "uniVer": "x",
	 *            "unixVer": "x"
	 *   	  }
	 *    }
	 * }
	 */
杜庆泉's avatar
杜庆泉 已提交
388
	setWifiList : SetWifiList,
杜庆泉's avatar
杜庆泉 已提交
389
}