interface.uts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  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 UniWifiInfoWithPartialInfo = {
  42. SSID : string;
  43. }
  44. export type UniWifiResult = {
  45. errCode : number,
  46. errSubject : string,
  47. errMsg : string,
  48. wifi : UniWifiInfo | null
  49. }
  50. export type UniWifiCallback = () => void
  51. export type UniGetWifiListCallback = (wifiInfo:UTSJSONObject) => void
  52. export type UniWifiResultCallback = (wifiInfo:UniWifiResult) => void
  53. export type UniWifiResultCallbackWithPartialInfo = (wifiInfo:UniWifiInfoWithPartialInfo) => void
  54. export type StartWifi = (option : WifiOption) => void
  55. export type StopWifi = (option : WifiOption) => void
  56. export type GetWifiList = (option : WifiOption) => void
  57. export type OnGetWifiList = (callback : UniGetWifiListCallback) => void
  58. export type OffGetWifiList = (callback : UniWifiCallback) => void
  59. export type GetConnectedWifi = (option : GetConnectedWifiOptions) => void
  60. export type ConnectWifi = (option : WifiConnectOption) => void
  61. export type OnWifiConnected = (callback : UniWifiResultCallback) => void
  62. export type OnWifiConnectedWithPartialInfo = (callback : UniWifiResultCallbackWithPartialInfo) => void
  63. export type OffWifiConnected = (callback : UniWifiCallback | null) => void
  64. export type OffWifiConnectedWithPartialInfo = (callback : UniWifiResultCallbackWithPartialInfo | null) => void
  65. export type SetWifiList = (option : WifiOption) => void
  66. /**
  67. * 错误码
  68. * - 12000 尚未初始化
  69. * - 12001 当前系统不支持相关能力
  70. * - 12002 密码错误
  71. * - 12005 Android 特有,未打开 Wi-Fi 开关
  72. * - 12007 用户拒绝授权链接 Wi-Fi
  73. * - 12010 系统其他错误
  74. * - 12013 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持
  75. */
  76. export type WifiErrorCode = 12000 |12001 | 12002 | 12005 | 12007 | 12010 | 12013;
  77. export interface WifiFail extends IUniError{
  78. errCode: WifiErrorCode
  79. };
  80. interface Uni {
  81. /**
  82. * 初始化Wi-Fi模块
  83. *
  84. * @param {WifiOption} option
  85. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#startwifi
  86. * @uniPlatform {
  87. * "app": {
  88. * "android": {
  89. * "osVer": "4.4.4",
  90. * "uniVer": "3.7.0",
  91. * "unixVer": "3.9.0"
  92. * },
  93. * "ios": {
  94. * "osVer": "9.0",
  95. * "uniVer": "3.7.7",
  96. * "unixVer": "3.9.0"
  97. * }
  98. * }
  99. * }
  100. * @uniVersion 3.7.7
  101. * @uniVueVersion 2,3 //支持的vue版本
  102. * @autotest { after: 'stopWifi' }
  103. */
  104. startWifi(option : WifiOption): void,
  105. /**
  106. * 关闭 Wi-Fi 模块
  107. *
  108. * @param {WifiOption} option
  109. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#stopwifi
  110. * @uniPlatform {
  111. * "app": {
  112. * "android": {
  113. * "osVer": "4.4.4",
  114. * "uniVer": "3.7.0",
  115. * "unixVer": "3.9.0"
  116. * },
  117. * "ios": {
  118. * "osVer": "9.0",
  119. * "uniVer": "3.7.7",
  120. * "unixVer": "3.9.0"
  121. * }
  122. * }
  123. * }
  124. * @uniVersion 3.7.7
  125. * @uniVueVersion 2,3 //支持的vue版本
  126. * @autotest { before: 'startWifi' }
  127. */
  128. stopWifi(option : WifiOption) : void,
  129. /**
  130. * @param {WifiConnectOption} option
  131. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#connectWifi
  132. * @uniPlatform {
  133. * "app": {
  134. * "android": {
  135. * "osVer": ">=4.4 && <10.0",
  136. * "uniVer": "3.7.0",
  137. * "unixVer": "3.9.0"
  138. * },
  139. * "ios": {
  140. * "osVer": "9.0",
  141. * "uniVer": "3.7.7",
  142. * "unixVer": "3.9.0"
  143. * }
  144. * }
  145. * }
  146. * @uniVersion 3.7.7
  147. * @uniVueVersion 2,3 //支持的vue版本
  148. * @autotest {
  149. generated: false,
  150. pollution: false,
  151. cases:[
  152. {
  153. before: 'startWifi',
  154. after: 'stopWifi',
  155. input: [{
  156. maunal:false,
  157. SSID:"Xiaomi_20D0",
  158. password:"streamApp!2016",
  159. }],
  160. output:{
  161. callbackType: 'success',
  162. value: { errCode: 12013 ,errMsg: "connectWifi:wifi config may be expired",errSubject: "uni-connectWifi"}
  163. }
  164. }
  165. ]
  166. }
  167. */
  168. connectWifi(option : WifiConnectOption) : void,
  169. /**
  170. * 请求获取 Wi-Fi 列表。wifiList 数据会在 onGetWifiList 注册的回调中返回。
  171. * @param {WifiOption} option
  172. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getWifiList
  173. * @uniPlatform {
  174. * "app": {
  175. * "android": {
  176. * "osVer": "4.4.4",
  177. * "uniVer": "3.7.0",
  178. * "unixVer": "3.9.0"
  179. * },
  180. * "ios": {
  181. * "osVer": "9.0",
  182. * "uniVer": "3.7.7",
  183. * "unixVer": "3.9.0"
  184. * }
  185. * }
  186. * }
  187. * @uniVersion 3.7.7
  188. * @uniVueVersion 2,3 //支持的vue版本
  189. * @autotest { before: 'startWifi', after: 'stopWifi' }
  190. */
  191. getWifiList(option : WifiOption) : void,
  192. /**
  193. * 监听获取到 Wi-Fi 列表数据事件。
  194. *
  195. * @param {UniWifiCallback} callback
  196. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onGetWifiList
  197. * @uniPlatform {
  198. * "app": {
  199. * "android": {
  200. * "osVer": "4.4.4",
  201. * "uniVer": "3.7.0",
  202. * "unixVer": "3.9.0"
  203. * },
  204. * "ios": {
  205. * "osVer": "9.0",
  206. * "uniVer": "3.7.7",
  207. * "unixVer": "3.9.0"
  208. * }
  209. * }
  210. * }
  211. * @uniVersion 3.7.7
  212. * @uniVueVersion 2,3 //支持的vue版本
  213. * @autotest { expectCallback: true }
  214. * @autotest {
  215. generated: false,
  216. pollution: false,
  217. expectCallback: true,
  218. before: 'startWifi',
  219. after: 'onGetWifiListAfter',
  220. cases: [
  221. {
  222. output: {
  223. value: 0,
  224. returnKey: '.wifiList.length',
  225. jestExpectSyntax: 'toBeGreaterThan'
  226. },
  227. }
  228. ]
  229. }
  230. */
  231. onGetWifiList(callback : UniGetWifiListCallback) : void,
  232. /**
  233. * 移除获取到 Wi-Fi 列表数据事件的监听函数。
  234. *
  235. * @param {UniWifiCallback} callback
  236. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offGetWifiList
  237. * @uniPlatform {
  238. * "app": {
  239. * "android": {
  240. * "osVer": "4.4.4",
  241. * "uniVer": "3.7.0",
  242. * "unixVer": "3.9.0"
  243. * },
  244. * "ios": {
  245. * "osVer": "9.0",
  246. * "uniVer": "3.7.7",
  247. * "unixVer": "3.9.0"
  248. * }
  249. * }
  250. * }
  251. * @uniVersion 3.7.7
  252. * @uniVueVersion 2,3 //支持的vue版本
  253. * @autotest { expectCallback: true }
  254. */
  255. offGetWifiList(callback : UniWifiCallback) : void,
  256. /**
  257. * 获取已连接的 Wi-Fi 信息
  258. *
  259. * @param {GetConnectedWifiOptions} option
  260. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#getConnectedWifi
  261. * @uniPlatform {
  262. * "app": {
  263. * "android": {
  264. * "osVer": "4.4.4",
  265. * "uniVer": "3.7.0",
  266. * "unixVer": "3.9.0"
  267. * },
  268. * "ios": {
  269. * "osVer": "9.0",
  270. * "uniVer": "3.7.7",
  271. * "unixVer": "3.9.0"
  272. * }
  273. * }
  274. * }
  275. * @uniVersion 3.7.7
  276. * @uniVueVersion 2,3 //支持的vue版本
  277. * @autotest { before: 'startWifi', after: 'stopWifi' }
  278. */
  279. getConnectedWifi(option : GetConnectedWifiOptions) : void,
  280. /**
  281. * 监听连接上 Wi-Fi 的事件
  282. *
  283. * @param {UniWifiCallback} callback
  284. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnected
  285. * @uniPlatform {
  286. * "app": {
  287. * "android": {
  288. * "osVer": "4.4.4",
  289. * "uniVer": "3.7.0",
  290. * "unixVer": "3.9.0"
  291. * },
  292. * "ios": {
  293. * "osVer": "9.0",
  294. * "uniVer": "3.7.7",
  295. * "unixVer": "3.9.0"
  296. * }
  297. * }
  298. * }
  299. * @uniVersion 3.7.7
  300. * @uniVueVersion 2,3 //支持的vue版本
  301. * @autotest { expectCallback: true }
  302. */
  303. onWifiConnected(callback : UniWifiResultCallback) : void,
  304. /**
  305. * 监听连接上 Wi-Fi 的事件。
  306. *
  307. * @param {UniWifiCallback} callback
  308. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnectedWithPartialInfo
  309. * @uniPlatform {
  310. * "app": {
  311. * "android": {
  312. * "osVer": "4.4.4",
  313. * "uniVer": "3.7.0",
  314. * "unixVer": "3.9.0"
  315. * },
  316. * "ios": {
  317. * "osVer": "9.0",
  318. * "uniVer": "3.7.7",
  319. * "unixVer": "3.9.0"
  320. * }
  321. * }
  322. * }
  323. * @uniVersion 3.7.7
  324. * @uniVueVersion 2,3 //支持的vue版本
  325. * @autotest { expectCallback: true }
  326. */
  327. onWifiConnectedWithPartialInfo(callback : UniWifiResultCallbackWithPartialInfo) : void,
  328. /**
  329. * 移除连接上 Wi-Fi 的事件的监听函数。
  330. *
  331. * @param {UniWifiCallback} callback
  332. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offWifiConnected
  333. * @uniPlatform {
  334. * "app": {
  335. * "android": {
  336. * "osVer": "4.4.4",
  337. * "uniVer": "3.7.0",
  338. * "unixVer": "3.9.0"
  339. * },
  340. * "ios": {
  341. * "osVer": "9.0",
  342. * "uniVer": "3.7.7",
  343. * "unixVer": "3.9.0"
  344. * }
  345. * }
  346. * }
  347. * @uniVersion 3.7.7
  348. * @uniVueVersion 2,3 //支持的vue版本
  349. * @autotest { expectCallback: true }
  350. */
  351. offWifiConnected(callback : UniWifiCallback | null) : void,
  352. /**
  353. * 移除连接上 Wi-Fi 的事件的监听函数。
  354. *
  355. * @param {UniWifiCallback} callback
  356. * @tutorial https://uniapp.dcloud.net.cn/api/system/wifi.html#offWifiConnectedWithPartialInfo
  357. * @uniPlatform {
  358. * "app": {
  359. * "android": {
  360. * "osVer": "x",
  361. * "uniVer": "x",
  362. * "unixVer": "x"
  363. * },
  364. * "ios": {
  365. * "osVer": "x",
  366. * "uniVer": "x",
  367. * "unixVer": "x"
  368. * }
  369. * }
  370. * }
  371. * @uniVersion 3.7.7
  372. * @uniVueVersion 2,3 //支持的vue版本
  373. * @autotest { expectCallback: true }
  374. */
  375. offWifiConnectedWithPartialInfo(callback : UniWifiResultCallbackWithPartialInfo | null) : void,
  376. /**
  377. * SetWifiList 暂未实现
  378. *
  379. * @uniPlatform {
  380. * "app": {
  381. * "android": {
  382. * "osVer": "x",
  383. * "uniVer": "x",
  384. * "unixVer": "x"
  385. * },
  386. * "ios": {
  387. * "osVer": "x",
  388. * "uniVer": "x",
  389. * "unixVer": "x"
  390. * }
  391. * }
  392. * }
  393. */
  394. setWifiList(option : WifiOption) : void,
  395. }