interface.uts 8.8 KB
Newer Older
杜庆泉's avatar
杜庆泉 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
/**
 * Wifi 函数通用入参封装
 */
 export type WifiOption = {
	success?: (res: UniWifiResult) => void;
	fail?: (res: UniWifiResult) => void;
	complete?: (res: UniWifiResult) => void;
};

/**
 * Wifi 链接参数封装 
 */
export type WifiConnectOption = {
	SSID?: string;
	BSSID?: string;
	password?: string;
	maunal?: boolean;
	partialInfo?: boolean; //ios不生效
	success?: (res: UniWifiResult) => void;
	fail?: (res: UniWifiResult) => void;
	complete?: (res: UniWifiResult) => void;
}

/**
 * 获取当前链接的wifi信息
 */
export type GetConnectedWifiOptions = {
	partialInfo?: boolean
	success?: (res: UniWifiResult) => void
	fail?: (res: UniWifiResult) => void
	complete?: (res: UniWifiResult) => void
}

/* 
 * 对外暴露的wifi信息
 */
export type UniWifiInfo = {
	SSID: string;
	BSSID?: string;
	secure?: boolean;
	signalStrength?: number;
	frequency?: number;
}


export type UniWifiResult = {
	errCode : number,
	errSubject : string,
	errMsg : string,
	wifi: UniWifiInfo | null
}

export type UniWifiCallback = () => void


export type StartWifi = (option: WifiOption) => void

export type StopWifi = (option: WifiOption) => void

export type GetWifiList = (option: WifiOption) => void

export type OnGetWifiList = (callback: UniWifiCallback) => void

export type OffGetWifiList = (callback: UniWifiCallback) => void

export type GetConnectedWifi = (option: GetConnectedWifiOptions) => void

export type ConnectWifi = (option: WifiConnectOption) => void

export type OnWifiConnected = (callback: UniWifiCallback) => void

export type OnWifiConnectedWithPartialInfo = (callback: UniWifiCallback) => void

export type OffWifiConnected = (callback: UniWifiCallback | null) => void

export type OnOffWifiConnectedWithPartialInfo = (callback: UniWifiCallback | null) => void

export type SetWifiList = (option: WifiOption) => void

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