interface.uts 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. /**
  2. * Wifi 函数通用入参封装
  3. */
  4. export type WifiOption = {
  5. success ?: (res : UniWifiResult) => void;
  6. fail ?: (res : UniError) => void;
  7. complete ?: (res : any) => void;
  8. };
  9. /**
  10. * Wifi 链接参数封装
  11. */
  12. export type WifiConnectOption = {
  13. SSID ?: string;
  14. BSSID ?: string;
  15. password ?: string;
  16. maunal ?: boolean;
  17. partialInfo ?: boolean; //ios不生效
  18. success ?: (res : UniWifiResult) => void;
  19. fail ?: (res : UniError) => void;
  20. complete ?: (res : any) => void;
  21. }
  22. /**
  23. * 获取当前链接的wifi信息
  24. */
  25. export type GetConnectedWifiOptions = {
  26. partialInfo ?: boolean
  27. success ?: (res : UniWifiResult) => void
  28. fail ?: (res : UniError) => void
  29. complete ?: (res : any) => void
  30. }
  31. /*
  32. * 对外暴露的wifi信息
  33. */
  34. export type UniWifiInfo = {
  35. SSID : string;
  36. BSSID ?: string;
  37. secure ?: boolean;
  38. signalStrength ?: number;
  39. frequency ?: number;
  40. }
  41. export type UniWifiResult = {
  42. errCode : number,
  43. errSubject : string,
  44. errMsg : string,
  45. wifi : UniWifiInfo | null
  46. }
  47. export type UniWifiCallback = () => void
  48. export type StartWifi = (option : WifiOption) => void
  49. export type StopWifi = (option : WifiOption) => void
  50. export type GetWifiList = (option : WifiOption) => void
  51. export type OnGetWifiList = (callback : UniWifiCallback) => void
  52. export type OffGetWifiList = (callback : UniWifiCallback) => void
  53. export type GetConnectedWifi = (option : GetConnectedWifiOptions) => void
  54. export type ConnectWifi = (option : WifiConnectOption) => void
  55. export type OnWifiConnected = (callback : UniWifiCallback) => void
  56. export type OnWifiConnectedWithPartialInfo = (callback : UniWifiCallback) => void
  57. export type OffWifiConnected = (callback : UniWifiCallback | null) => void
  58. export type OnOffWifiConnectedWithPartialInfo = (callback : UniWifiCallback | null) => void
  59. export type SetWifiList = (option : WifiOption) => void
  60. interface Uni {
  61. /**
  62. * 初始化Wi-Fi模块
  63. *
  64. * @param {WifiOption} option
  65. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#startwifi
  66. * @uniPlatform {
  67. * "app": {
  68. * "android": {
  69. * "osVer": "4.4.4",
  70. * "uniVer": "3.7.0",
  71. * "unixVer": "3.9.0"
  72. * },
  73. * "ios": {
  74. * "osVer": "9.0",
  75. * "uniVer": "3.7.7",
  76. * "unixVer": "3.9.0"
  77. * }
  78. * }
  79. * }
  80. * @uniVersion 3.7.7
  81. * @uniVueVersion 2,3 //支持的vue版本
  82. * @autotest { after: 'stopWifi' }
  83. */
  84. startWifi(option : WifiOption): void,
  85. /**
  86. * 关闭 Wi-Fi 模块
  87. *
  88. * @param {WifiOption} option
  89. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#stopwifi
  90. * @uniPlatform {
  91. * "app": {
  92. * "android": {
  93. * "osVer": "4.4.4",
  94. * "uniVer": "3.7.0",
  95. * "unixVer": "3.9.0"
  96. * },
  97. * "ios": {
  98. * "osVer": "9.0",
  99. * "uniVer": "3.7.7",
  100. * "unixVer": "3.9.0"
  101. * }
  102. * }
  103. * }
  104. * @uniVersion 3.7.7
  105. * @uniVueVersion 2,3 //支持的vue版本
  106. * @autotest { before: 'startWifi' }
  107. */
  108. stopWifi(option : WifiOption) : void,
  109. /**
  110. * @param {WifiConnectOption} option
  111. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#connectWifi
  112. * @uniPlatform {
  113. * "app": {
  114. * "android": {
  115. * "osVer": ">=4.4 && <10.0",
  116. * "uniVer": "3.7.0",
  117. * "unixVer": "3.9.0"
  118. * },
  119. * "ios": {
  120. * "osVer": "9.0",
  121. * "uniVer": "3.7.7",
  122. * "unixVer": "3.9.0"
  123. * }
  124. * }
  125. * }
  126. * @uniVersion 3.7.7
  127. * @uniVueVersion 2,3 //支持的vue版本
  128. * @autotest {
  129. generated: false,
  130. pollution: false,
  131. cases:[
  132. {
  133. before: 'startWifi',
  134. after: 'stopWifi',
  135. input: [{
  136. maunal:false,
  137. SSID:"Xiaomi_20D0",
  138. password:"streamApp!2016",
  139. }],
  140. output:{
  141. callbackType: 'success',
  142. value: { errCode: 12013 ,errMsg: "connectWifi:wifi config may be expired",errSubject: "uni-connectWifi"}
  143. }
  144. }
  145. ]
  146. }
  147. */
  148. connectWifi(option : WifiConnectOption) : void,
  149. /**
  150. * 请求获取 Wi-Fi 列表。wifiList 数据会在 onGetWifiList 注册的回调中返回。
  151. * @param {WifiOption} option
  152. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getWifiList
  153. * @uniPlatform {
  154. * "app": {
  155. * "android": {
  156. * "osVer": "4.4.4",
  157. * "uniVer": "3.7.0",
  158. * "unixVer": "3.9.0"
  159. * },
  160. * "ios": {
  161. * "osVer": "9.0",
  162. * "uniVer": "3.7.7",
  163. * "unixVer": "3.9.0"
  164. * }
  165. * }
  166. * }
  167. * @uniVersion 3.7.7
  168. * @uniVueVersion 2,3 //支持的vue版本
  169. * @autotest { before: 'startWifi', after: 'stopWifi' }
  170. */
  171. getWifiList(option : WifiOption) : void,
  172. /**
  173. * 监听获取到 Wi-Fi 列表数据事件。
  174. *
  175. * @param {UniWifiCallback} callback
  176. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onGetWifiList
  177. * @uniPlatform {
  178. * "app": {
  179. * "android": {
  180. * "osVer": "4.4.4",
  181. * "uniVer": "3.7.0",
  182. * "unixVer": "3.9.0"
  183. * },
  184. * "ios": {
  185. * "osVer": "9.0",
  186. * "uniVer": "3.7.7",
  187. * "unixVer": "3.9.0"
  188. * }
  189. * }
  190. * }
  191. * @uniVersion 3.7.7
  192. * @uniVueVersion 2,3 //支持的vue版本
  193. * @autotest { expectCallback: true }
  194. * @autotest {
  195. generated: false,
  196. pollution: false,
  197. expectCallback: true,
  198. before: 'startWifi',
  199. after: 'onGetWifiListAfter',
  200. cases: [
  201. {
  202. output: {
  203. value: 0,
  204. returnKey: '.wifiList.length',
  205. jestExpectSyntax: 'toBeGreaterThan'
  206. },
  207. }
  208. ]
  209. }
  210. */
  211. onGetWifiList(callback : UniWifiCallback) : void,
  212. /**
  213. * 移除获取到 Wi-Fi 列表数据事件的监听函数。
  214. *
  215. * @param {UniWifiCallback} callback
  216. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offGetWifiList
  217. * @uniPlatform {
  218. * "app": {
  219. * "android": {
  220. * "osVer": "4.4.4",
  221. * "uniVer": "3.7.0",
  222. * "unixVer": "3.9.0"
  223. * },
  224. * "ios": {
  225. * "osVer": "9.0",
  226. * "uniVer": "3.7.7",
  227. * "unixVer": "3.9.0"
  228. * }
  229. * }
  230. * }
  231. * @uniVersion 3.7.7
  232. * @uniVueVersion 2,3 //支持的vue版本
  233. * @autotest { expectCallback: true }
  234. */
  235. offGetWifiList(callback : UniWifiCallback) : void,
  236. /**
  237. * 获取已连接的 Wi-Fi 信息
  238. *
  239. * @param {GetConnectedWifiOptions} option
  240. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getConnectedWifi
  241. * @uniPlatform {
  242. * "app": {
  243. * "android": {
  244. * "osVer": "4.4.4",
  245. * "uniVer": "3.7.0",
  246. * "unixVer": "3.9.0"
  247. * },
  248. * "ios": {
  249. * "osVer": "9.0",
  250. * "uniVer": "3.7.7",
  251. * "unixVer": "3.9.0"
  252. * }
  253. * }
  254. * }
  255. * @uniVersion 3.7.7
  256. * @uniVueVersion 2,3 //支持的vue版本
  257. * @autotest { before: 'startWifi', after: 'stopWifi' }
  258. */
  259. getConnectedWifi(option : GetConnectedWifiOptions) : void,
  260. /**
  261. * 监听连接上 Wi-Fi 的事件
  262. *
  263. * @param {UniWifiCallback} callback
  264. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnected
  265. * @uniPlatform {
  266. * "app": {
  267. * "android": {
  268. * "osVer": "4.4.4",
  269. * "uniVer": "3.7.0",
  270. * "unixVer": "3.9.0"
  271. * },
  272. * "ios": {
  273. * "osVer": "9.0",
  274. * "uniVer": "3.7.7",
  275. * "unixVer": "3.9.0"
  276. * }
  277. * }
  278. * }
  279. * @uniVersion 3.7.7
  280. * @uniVueVersion 2,3 //支持的vue版本
  281. * @autotest { expectCallback: true }
  282. */
  283. onWifiConnected(callback : UniWifiCallback) : void,
  284. /**
  285. * 监听连接上 Wi-Fi 的事件。
  286. *
  287. * @param {UniWifiCallback} callback
  288. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnectedWithPartialInfo
  289. * @uniPlatform {
  290. * "app": {
  291. * "android": {
  292. * "osVer": "4.4.4",
  293. * "uniVer": "3.7.0",
  294. * "unixVer": "3.9.0"
  295. * },
  296. * "ios": {
  297. * "osVer": "9.0",
  298. * "uniVer": "3.7.7",
  299. * "unixVer": "3.9.0"
  300. * }
  301. * }
  302. * }
  303. * @uniVersion 3.7.7
  304. * @uniVueVersion 2,3 //支持的vue版本
  305. * @autotest { expectCallback: true }
  306. */
  307. onWifiConnectedWithPartialInfo(callback : UniWifiCallback) : void,
  308. /**
  309. * 移除连接上 Wi-Fi 的事件的监听函数。
  310. *
  311. * @param {UniWifiCallback} callback
  312. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offWifiConnected
  313. * @uniPlatform {
  314. * "app": {
  315. * "android": {
  316. * "osVer": "4.4.4",
  317. * "uniVer": "3.7.0",
  318. * "unixVer": "3.9.0"
  319. * },
  320. * "ios": {
  321. * "osVer": "9.0",
  322. * "uniVer": "3.7.7",
  323. * "unixVer": "3.9.0"
  324. * }
  325. * }
  326. * }
  327. * @uniVersion 3.7.7
  328. * @uniVueVersion 2,3 //支持的vue版本
  329. * @autotest { expectCallback: true }
  330. */
  331. offWifiConnected(callback : UniWifiCallback | null) : void,
  332. /**
  333. * 移除连接上 Wi-Fi 的事件的监听函数。
  334. *
  335. * @param {UniWifiCallback} callback
  336. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onOffWifiConnectedWithPartialInfo
  337. * @uniPlatform {
  338. * "app": {
  339. * "android": {
  340. * "osVer": "x",
  341. * "uniVer": "x",
  342. * "unixVer": "x"
  343. * },
  344. * "ios": {
  345. * "osVer": "x",
  346. * "uniVer": "x",
  347. * "unixVer": "x"
  348. * }
  349. * }
  350. * }
  351. * @uniVersion 3.7.7
  352. * @uniVueVersion 2,3 //支持的vue版本
  353. * @autotest { expectCallback: true }
  354. */
  355. onOffWifiConnectedWithPartialInfo(callback : UniWifiCallback | null) : void,
  356. /**
  357. * SetWifiList 暂未实现
  358. *
  359. * @uniPlatform {
  360. * "app": {
  361. * "android": {
  362. * "osVer": "x",
  363. * "uniVer": "x",
  364. * "unixVer": "x"
  365. * },
  366. * "ios": {
  367. * "osVer": "x",
  368. * "uniVer": "x",
  369. * "unixVer": "x"
  370. * }
  371. * }
  372. * }
  373. */
  374. setWifiList(option : WifiOption) : void,
  375. }