Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MuGuiLin
uni-app
提交
c5692d01
U
uni-app
项目概览
MuGuiLin
/
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,发现更多精彩内容 >>
提交
c5692d01
编写于
7月 31, 2019
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: app-plus bluetooth
上级
efb93b70
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
41 addition
and
33 deletion
+41
-33
src/core/service/api/device/bluetooth.js
src/core/service/api/device/bluetooth.js
+24
-0
src/core/service/bridge.js
src/core/service/bridge.js
+4
-0
src/platforms/app-plus/service/api/device/bluetooth.js
src/platforms/app-plus/service/api/device/bluetooth.js
+12
-33
src/platforms/app-plus/service/bridge.js
src/platforms/app-plus/service/bridge.js
+1
-0
未找到文件。
src/core/service/api/device/bluetooth.js
0 → 100644
浏览文件 @
c5692d01
import
{
invoke
}
from
'
uni-core/service/bridge
'
import
{
onMethod
}
from
'
../../platform
'
function
on
(
method
)
{
const
callbacks
=
[]
onMethod
(
method
,
data
=>
{
callbacks
.
forEach
(
callbackId
=>
{
invoke
(
callbackId
,
data
)
})
})
return
function
(
callbackId
)
{
callbacks
.
push
(
callbackId
)
}
}
export
const
onBluetoothDeviceFound
=
on
(
'
onBluetoothDeviceFound
'
)
export
const
onBluetoothAdapterStateChange
=
on
(
'
onBluetoothAdapterStateChange
'
)
export
const
onBLEConnectionStateChange
=
on
(
'
onBLEConnectionStateChange
'
)
export
const
onBLECharacteristicValueChange
=
on
(
'
onBLECharacteristicValueChange
'
)
src/core/service/bridge.js
浏览文件 @
c5692d01
export
function
pack
(
args
)
{
return
args
}
export
function
unpack
(
args
)
{
return
args
}
...
...
src/platforms/app-plus/service/api/device/bluetooth.js
浏览文件 @
c5692d01
import
{
invoke
,
publish
publish
,
pack
,
unpack
}
from
'
../../bridge
'
/**
* 执行蓝牙相关方法
*/
function
bluetoothExec
(
method
,
callbackId
,
data
=
{}
,
beforeSuccess
)
{
function
bluetoothExec
(
method
,
callbackId
,
data
=
{})
{
var
deviceId
=
data
.
deviceId
if
(
deviceId
)
{
data
.
deviceId
=
deviceId
.
toUpperCase
()
...
...
@@ -18,10 +20,7 @@ function bluetoothExec (method, callbackId, data = {}, beforeSuccess) {
plus
.
bluetooth
[
method
.
replace
(
'
Changed
'
,
'
Change
'
)](
Object
.
assign
(
data
,
{
success
(
data
)
{
if
(
typeof
beforeSuccess
===
'
function
'
)
{
beforeSuccess
(
data
)
}
invoke
(
callbackId
,
Object
.
assign
({},
data
,
{
invoke
(
callbackId
,
Object
.
assign
({},
pack
(
data
),
{
errMsg
:
`
${
method
}
:ok`
,
code
:
undefined
,
message
:
undefined
...
...
@@ -38,12 +37,9 @@ function bluetoothExec (method, callbackId, data = {}, beforeSuccess) {
/**
* 监听蓝牙相关事件
*/
function
bluetoothOn
(
method
,
beforeSuccess
)
{
function
bluetoothOn
(
method
)
{
plus
.
bluetooth
[
method
.
replace
(
'
Changed
'
,
'
Change
'
)](
function
(
data
)
{
if
(
typeof
beforeSuccess
===
'
function
'
)
{
beforeSuccess
(
data
)
}
publish
(
method
,
Object
.
assign
({},
data
,
{
publish
(
method
,
Object
.
assign
({},
pack
(
data
),
{
code
:
undefined
,
message
:
undefined
}))
...
...
@@ -51,16 +47,6 @@ function bluetoothOn (method, beforeSuccess) {
return
true
}
function
checkDevices
(
data
)
{
data
.
devices
=
data
.
devices
.
map
(
device
=>
{
var
advertisData
=
device
.
advertisData
if
(
advertisData
&&
typeof
advertisData
!==
'
string
'
)
{
device
.
advertisData
=
wx
.
arrayBufferToBase64
(
advertisData
)
}
return
device
})
}
var
onBluetoothAdapterStateChange
var
onBluetoothDeviceFound
var
onBLEConnectionStateChange
...
...
@@ -81,7 +67,7 @@ export function getBluetoothAdapterState (data, callbackId) {
}
export
function
startBluetoothDevicesDiscovery
(
data
,
callbackId
)
{
onBluetoothDeviceFound
=
onBluetoothDeviceFound
||
bluetoothOn
(
'
onBluetoothDeviceFound
'
,
checkDevices
)
onBluetoothDeviceFound
=
onBluetoothDeviceFound
||
bluetoothOn
(
'
onBluetoothDeviceFound
'
)
bluetoothExec
(
'
startBluetoothDevicesDiscovery
'
,
callbackId
,
data
)
}
...
...
@@ -90,7 +76,7 @@ export function stopBluetoothDevicesDiscovery (data, callbackId) {
}
export
function
getBluetoothDevices
(
data
,
callbackId
)
{
bluetoothExec
(
'
getBluetoothDevices
'
,
callbackId
,
{}
,
checkDevices
)
bluetoothExec
(
'
getBluetoothDevices
'
,
callbackId
,
{})
}
export
function
getConnectedBluetoothDevices
(
data
,
callbackId
)
{
...
...
@@ -116,18 +102,12 @@ export function getBLEDeviceCharacteristics (data, callbackId) {
}
export
function
notifyBLECharacteristicValueChange
(
data
,
callbackId
)
{
onBLECharacteristicValueChange
=
onBLECharacteristicValueChange
||
bluetoothOn
(
'
onBLECharacteristicValueChange
'
,
data
=>
{
data
.
value
=
wx
.
arrayBufferToBase64
(
data
.
value
)
})
onBLECharacteristicValueChange
=
onBLECharacteristicValueChange
||
bluetoothOn
(
'
onBLECharacteristicValueChange
'
)
bluetoothExec
(
'
notifyBLECharacteristicValueChange
'
,
callbackId
,
data
)
}
export
function
notifyBLECharacteristicValueChanged
(
data
,
callbackId
)
{
onBLECharacteristicValueChange
=
onBLECharacteristicValueChange
||
bluetoothOn
(
'
onBLECharacteristicValueChange
'
,
data
=>
{
data
.
value
=
wx
.
arrayBufferToBase64
(
data
.
value
)
})
onBLECharacteristicValueChange
=
onBLECharacteristicValueChange
||
bluetoothOn
(
'
onBLECharacteristicValueChange
'
)
bluetoothExec
(
'
notifyBLECharacteristicValueChanged
'
,
callbackId
,
data
)
}
...
...
@@ -136,6 +116,5 @@ export function readBLECharacteristicValue (data, callbackId) {
}
export
function
writeBLECharacteristicValue
(
data
,
callbackId
)
{
data
.
value
=
wx
.
base64ToArrayBuffer
(
data
.
value
)
bluetoothExec
(
'
writeBLECharacteristicValue
'
,
callbackId
,
data
)
bluetoothExec
(
'
writeBLECharacteristicValue
'
,
callbackId
,
unpack
(
data
))
}
src/platforms/app-plus/service/bridge.js
浏览文件 @
c5692d01
export
{
pack
,
unpack
,
invoke
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录