Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wzj-java
uni-app
提交
ef75c1ec
U
uni-app
项目概览
wzj-java
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ef75c1ec
编写于
9月 20, 2019
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 修复 app 端 ble 接口无法写入数据的问题
上级
a7d02107
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
35 addition
and
12 deletion
+35
-12
src/platforms/app-plus/service/api/device/bluetooth.js
src/platforms/app-plus/service/api/device/bluetooth.js
+35
-12
未找到文件。
src/platforms/app-plus/service/api/device/bluetooth.js
浏览文件 @
ef75c1ec
import
{
invoke
,
publish
,
pack
,
unpack
publish
,
arrayBufferToBase64
,
base64ToArrayBuffer
}
from
'
../../bridge
'
/**
* 执行蓝牙相关方法
*/
function
bluetoothExec
(
method
,
callbackId
,
data
=
{})
{
function
bluetoothExec
(
method
,
callbackId
,
data
=
{}
,
beforeSuccess
)
{
var
deviceId
=
data
.
deviceId
if
(
deviceId
)
{
data
.
deviceId
=
deviceId
.
toUpperCase
()
...
...
@@ -20,7 +20,10 @@ function bluetoothExec (method, callbackId, data = {}) {
plus
.
bluetooth
[
method
.
replace
(
'
Changed
'
,
'
Change
'
)](
Object
.
assign
(
data
,
{
success
(
data
)
{
invoke
(
callbackId
,
Object
.
assign
({},
pack
(
data
),
{
if
(
typeof
beforeSuccess
===
'
function
'
)
{
beforeSuccess
(
data
)
}
invoke
(
callbackId
,
Object
.
assign
({},
data
,
{
errMsg
:
`
${
method
}
:ok`
,
code
:
undefined
,
message
:
undefined
...
...
@@ -37,9 +40,12 @@ function bluetoothExec (method, callbackId, data = {}) {
/**
* 监听蓝牙相关事件
*/
function
bluetoothOn
(
method
)
{
function
bluetoothOn
(
method
,
beforeSuccess
)
{
plus
.
bluetooth
[
method
.
replace
(
'
Changed
'
,
'
Change
'
)](
function
(
data
)
{
publish
(
method
,
Object
.
assign
({},
pack
(
data
),
{
if
(
typeof
beforeSuccess
===
'
function
'
)
{
beforeSuccess
(
data
)
}
publish
(
method
,
Object
.
assign
({},
data
,
{
code
:
undefined
,
message
:
undefined
}))
...
...
@@ -47,6 +53,16 @@ function bluetoothOn (method) {
return
true
}
function
checkDevices
(
data
)
{
data
.
devices
=
data
.
devices
.
map
(
device
=>
{
var
advertisData
=
device
.
advertisData
if
(
advertisData
&&
typeof
advertisData
!==
'
string
'
)
{
device
.
advertisData
=
arrayBufferToBase64
(
advertisData
)
}
return
device
})
}
var
onBluetoothAdapterStateChange
var
onBluetoothDeviceFound
var
onBLEConnectionStateChange
...
...
@@ -67,7 +83,7 @@ export function getBluetoothAdapterState (data, callbackId) {
}
export
function
startBluetoothDevicesDiscovery
(
data
,
callbackId
)
{
onBluetoothDeviceFound
=
onBluetoothDeviceFound
||
bluetoothOn
(
'
onBluetoothDeviceFound
'
)
onBluetoothDeviceFound
=
onBluetoothDeviceFound
||
bluetoothOn
(
'
onBluetoothDeviceFound
'
,
checkDevices
)
bluetoothExec
(
'
startBluetoothDevicesDiscovery
'
,
callbackId
,
data
)
}
...
...
@@ -76,7 +92,7 @@ export function stopBluetoothDevicesDiscovery (data, callbackId) {
}
export
function
getBluetoothDevices
(
data
,
callbackId
)
{
bluetoothExec
(
'
getBluetoothDevices
'
,
callbackId
,
{})
bluetoothExec
(
'
getBluetoothDevices
'
,
callbackId
,
{}
,
checkDevices
)
}
export
function
getConnectedBluetoothDevices
(
data
,
callbackId
)
{
...
...
@@ -102,12 +118,18 @@ export function getBLEDeviceCharacteristics (data, callbackId) {
}
export
function
notifyBLECharacteristicValueChange
(
data
,
callbackId
)
{
onBLECharacteristicValueChange
=
onBLECharacteristicValueChange
||
bluetoothOn
(
'
onBLECharacteristicValueChange
'
)
onBLECharacteristicValueChange
=
onBLECharacteristicValueChange
||
bluetoothOn
(
'
onBLECharacteristicValueChange
'
,
data
=>
{
data
.
value
=
arrayBufferToBase64
(
data
.
value
)
})
bluetoothExec
(
'
notifyBLECharacteristicValueChange
'
,
callbackId
,
data
)
}
export
function
notifyBLECharacteristicValueChanged
(
data
,
callbackId
)
{
onBLECharacteristicValueChange
=
onBLECharacteristicValueChange
||
bluetoothOn
(
'
onBLECharacteristicValueChange
'
)
onBLECharacteristicValueChange
=
onBLECharacteristicValueChange
||
bluetoothOn
(
'
onBLECharacteristicValueChange
'
,
data
=>
{
data
.
value
=
arrayBufferToBase64
(
data
.
value
)
})
bluetoothExec
(
'
notifyBLECharacteristicValueChanged
'
,
callbackId
,
data
)
}
...
...
@@ -116,5 +138,6 @@ export function readBLECharacteristicValue (data, callbackId) {
}
export
function
writeBLECharacteristicValue
(
data
,
callbackId
)
{
bluetoothExec
(
'
writeBLECharacteristicValue
'
,
callbackId
,
unpack
(
data
))
data
.
value
=
base64ToArrayBuffer
(
data
.
value
)
bluetoothExec
(
'
writeBLECharacteristicValue
'
,
callbackId
,
data
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录