Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
Hello UTS
提交
64fe2665
H
Hello UTS
项目概览
DCloud
/
Hello UTS
通知
1642
Star
28
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Hello UTS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
64fe2665
编写于
11月 26, 2022
作者:
lizhongyi_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 将获取wifi信息接口的返回值改成回调,增加readme接口使用示例
上级
cb2454bf
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
116 addition
and
17 deletion
+116
-17
pages/SystemAPI/WifiInfomation/wifiInfomation.vue
pages/SystemAPI/WifiInfomation/wifiInfomation.vue
+9
-8
uni_modules/uni-wifiinformation/readme.md
uni_modules/uni-wifiinformation/readme.md
+82
-4
uni_modules/uni-wifiinformation/utssdk/app-ios/index.uts
uni_modules/uni-wifiinformation/utssdk/app-ios/index.uts
+25
-5
未找到文件。
pages/SystemAPI/WifiInfomation/wifiInfomation.vue
浏览文件 @
64fe2665
...
...
@@ -27,14 +27,15 @@
/* iOS12之后获取wifi信息需要获取系统定位权限,否则获取到的wifi信息为空 */
requestLocationPromise
(
function
(
res
)
{
if
(
res
[
"
success
"
]
==
true
)
{
let
wifiInfo
=
getCurrentWifiInfo
()
if
(
wifiInfo
!=
null
)
{
console
.
log
(
wifiInfo
)
uni
.
showToast
({
title
:
"
当前wifi信息获取成功
"
,
icon
:
'
none
'
})
}
getCurrentWifiInfo
({
success
:
function
(
res
){
console
.
log
(
res
)
uni
.
showToast
({
title
:
`当前wifi信息: interface:
${
res
.
wifiInterface
}
, SSID:
${
res
.
SSID
}
, BSSID:
${
res
.
BSSID
}
`
,
icon
:
'
none
'
})
}
})
}
})
},
...
...
uni_modules/uni-wifiinformation/readme.md
浏览文件 @
64fe2665
# uni-currentwifiinformation
### 开发文档
[
UTS 语法
](
https://uniapp.dcloud.net.cn/tutorial/syntax-uts.html
)
[
UTS 原生插件
](
https://uniapp.dcloud.net.cn/plugin/uts-plugin.html
)
[
Hello UTS
](
https://gitcode.net/dcloud/hello-uts/-/tree/dev
)
\ No newline at end of file
## 使用文档
```
ts
import
{
getCurrentWifiInfo
,
requestLocationPromise
}
from
'
@/uni_modules/uni-wifiinformation
'
;
// 获取系统定位权限
requestLocationPromise
(
function
(
res
){
console
.
log
(
res
)
uni
.
showToast
({
title
:
res
[
"
message
"
],
icon
:
'
none
'
})
})
// 获取手机当前连接的wifi信息
getCurrentWifiInfo
({
success
:
function
(
res
){
console
.
log
(
res
)
uni
.
showToast
({
title
:
`当前wifi信息: interface:
${
res
.
wifiInterface
}
, SSID:
${
res
.
SSID
}
, BSSID:
${
res
.
BSSID
}
`
,
icon
:
'
none
'
})
}
})
// 注意:iOS12之后获取wifi信息需要获取系统定位权限,否则获取到的wifi信息为空
// 所以建议在获取wifi信息之前,先调用获取系统定位权限的接口
// 示例如下:
requestLocationPromise
(
function
(
res
)
{
if
(
res
[
"
success
"
]
==
true
)
{
getCurrentWifiInfo
({
success
:
function
(
res
){
console
.
log
(
res
)
uni
.
showToast
({
title
:
`当前wifi信息: interface:
${
res
.
wifiInterface
}
, SSID:
${
res
.
SSID
}
, BSSID:
${
res
.
BSSID
}
`
,
icon
:
'
none
'
})
}
})
}
})
```
### 参数
#### getCurrentWifiInfo
Object object
|属性|类型|必填|说明|
|----|---|----|----|
|success|function|否|接口调用成功的回调函数|
|fail|function|否|接口调用失败的回调函数|
|complete|function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
object.success 回调函数
|属性|类型|说明|
|----|---|----|
|wifiInterface|string|当前手机连接wifi的interface,如 en0|
|SSID|string|当前手机连接wifi的SSID,即wifi名称|
|BSSID|string|当前手机连接wifi的BSSID|
#### requestLocationPromise
completion UTSCallback
object 回调函数
|属性|类型|说明|
|----|---|----|
|success|bool|是否获取成功|
|message|string|描述信息|
uni_modules/uni-wifiinformation/utssdk/app-ios/index.uts
浏览文件 @
64fe2665
...
...
@@ -3,6 +3,16 @@ import { CaptiveNetwork, kCNNetworkInfoKeySSID, kCNNetworkInfoKeyBSSID } from 'S
import { NSArray, NSDictionary } from 'Foundation';
import { CFString } from 'CoreFoundation';
/**
* 定义 接口参数
*/
type GetWifiInfoOptions = {
success?: (res: object) => void;
fail?: (res: object) => void;
complete?: (res: object) => void;
};
class CurrentWifiInfo {
wifiInterface: string = ""
...
...
@@ -89,13 +99,12 @@ export function requestLocationPromise (completion: UTSCallback) {
locationPromiseService.requestPromise(completion)
}
export function getCurrentWifiInfo (
): CurrentWifiInfo | null
{
export function getCurrentWifiInfo (
option: GetWifiInfoOptions)
{
let arr = CNCopySupportedInterfaces()
if (arr != null) {
let list = arr! as NSArray
let wifiInfo = new CurrentWifiInfo("", "", "")
let index = 0
let
array = [1, 2, 3]
let
wifiInfo = new CurrentWifiInfo("", "", "")
while (index < list.count) {
let item = list[index]
let interfaceName = item as string
...
...
@@ -118,9 +127,20 @@ export function getCurrentWifiInfo (): CurrentWifiInfo | null {
}
if (wifiInfo.BSSID.length > 0 && wifiInfo.SSID.length > 0) {
return wifiInfo
let res = {
wifiInterface: wifiInfo.wifiInterface,
SSID: wifiInfo.SSID,
BSSID: wifiInfo.BSSID
}
option.success?.(res)
option.complete?.(res)
}else {
option.fail?.({message: "current wifi is null"})
option.complete?.({message: "current wifi is null"})
}
}else {
option.fail?.({message: "current wifi is null"})
option.complete?.({message: "current wifi is null"})
}
return null
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录