interface.uts 6.7 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 87 88 89 90 91 92 93 94 95
	/**
	 * 初始化Wi-Fi模块
	 * 
	 * @param {WifiOption} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#startwifi
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
96
	startWifi : StartWifi,
杜庆泉's avatar
杜庆泉 已提交
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
	/**
	 * 关闭 Wi-Fi 模块
	 * 
	 * @param {WifiOption} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#stopwifi
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
112
	stopWifi : StopWifi,
杜庆泉's avatar
杜庆泉 已提交
113
	/**
杜庆泉's avatar
杜庆泉 已提交
114 115 116 117 118 119 120 121 122 123 124
	 * @param {WifiConnectOption} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#connectWifi
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
杜庆泉's avatar
杜庆泉 已提交
125 126
	 * @autotest {
		generated: false,
杜庆泉's avatar
杜庆泉 已提交
127
		pollution: false,
杜庆泉's avatar
杜庆泉 已提交
128 129 130 131 132 133 134
		cases:[
			{
				before: 'startWifi',
				after: 'stopWifi',
				input: [{
					maunal:false,
					SSID:"Xiaomi_20D0",
杜庆泉's avatar
杜庆泉 已提交
135 136 137 138 139 140
					password:"streamApp!2016",
				}],
				output:{
				    	callbackType: 'success',
				        value: { errCode: 12013 ,errMsg: "connectWifi:wifi config may be expired",errSubject: "uni-connectWifi"}
				    }
杜庆泉's avatar
杜庆泉 已提交
141 142 143 144 145 146
			}
		]
	}
	*/
	connectWifi: ConnectWifi,
	/**
杜庆泉's avatar
杜庆泉 已提交
147 148 149 150 151 152 153 154 155 156 157 158
	 * 请求获取 Wi-Fi 列表。wifiList 数据会在 onGetWifiList 注册的回调中返回。
	 * @param {WifiOption} option
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getWifiList
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
杜庆泉's avatar
杜庆泉 已提交
159 160 161 162 163 164 165 166 167 168
	 * @autotest {
		generated: false,
		cases:[
			{
				before: 'startWifi',
				after: 'stopWifi'
			}
		]
	}
	*/
杜庆泉's avatar
杜庆泉 已提交
169
	getWifiList : GetWifiList,
杜庆泉's avatar
杜庆泉 已提交
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
	/**
	 * 监听获取到 Wi-Fi 列表数据事件。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onGetWifiList
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
185
	onGetWifiList : OnGetWifiList,
杜庆泉's avatar
杜庆泉 已提交
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
	/**
	 * 移除获取到 Wi-Fi 列表数据事件的监听函数。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offGetWifiList
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
201
	offGetWifiList : OffGetWifiList,
杜庆泉's avatar
杜庆泉 已提交
202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
	/**
	 * 获取已连接的 Wi-Fi 信息
	 * 
	 * @param {GetConnectedWifiOptions} option 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getConnectedWifi
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
217
	getConnectedWifi : GetConnectedWifi,
杜庆泉's avatar
杜庆泉 已提交
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
	/**
	 * 监听连接上 Wi-Fi 的事件
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnected
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
233
	onWifiConnected : OnWifiConnected,
杜庆泉's avatar
杜庆泉 已提交
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
	/**
	 * 监听连接上 Wi-Fi 的事件。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnectedWithPartialInfo
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
249
	onWifiConnectedWithPartialInfo : OnWifiConnectedWithPartialInfo,
杜庆泉's avatar
杜庆泉 已提交
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
	/**
	 * 移除连接上 Wi-Fi 的事件的监听函数。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offWifiConnected
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
265
	offWifiConnected : OffWifiConnected,
杜庆泉's avatar
杜庆泉 已提交
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280
	/**
	 * 移除连接上 Wi-Fi 的事件的监听函数。
	 * 
	 * @param {UniWifiCallback} callback 
	 * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onOffWifiConnectedWithPartialInfo
	 * @uniPlatform {
	 * 	app: {
	 * 		android: "4.4.4",
	 * 		ios: "9.0",
	 * 		page: ['vue','uvue','nvue']
	 * 	}
	 * }
	 * @uniVersion 3.7.7
	 * @uniVueVersion 2,3  //支持的vue版本
	 */
杜庆泉's avatar
杜庆泉 已提交
281 282 283
	onOffWifiConnectedWithPartialInfo : OnOffWifiConnectedWithPartialInfo,
	setWifiList : SetWifiList,
}