更新记录

1.0.0(2026-02-03)

初始化


平台兼容性

uni-app(4.61)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - 5.0 - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.56)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - 5.0 - - -

其他

多语言 暗黑模式 宽屏模式

xtf-sppbt

若需要ble蓝牙可以用 Ble低功耗蓝牙uts插件 支持安卓ios 鸿蒙 微信小程序(2025插件大赛三等奖)

插件测试使用方法

1.选择试用,绑定要试用的项目appid,

2.选择后下载到对应的本地项目,

3.按照文档 -》把插件引入项目(即 import {BtClient,,BtServer,openBtBluetooth,string2ByteStrWithCharset,byte2StringWithCharset,isEnabled,MyApiResult,ConnectPara,setConnectUUID,ServerReadData} from "@/uni_modules/xtf-sppbt" 需要先引入),

4.发布-》云打包-》选择制作基座-》打包等基座制作完成

5.运行 -》 运行到手机或模拟器-》运行到Androidapp基座-》选择使用自定义基座运行-》选择手机-》运行

6.之前若安装过基座 ,请卸载之前的基座

引入

import {BtClient,,BtServer,openBtBluetooth,string2ByteStrWithCharset,byte2StringWithCharset,isEnabled,MyApiResult,ConnectPara,setConnectUUID,ServerReadData} from "@/uni_modules/xtf-sppbt"

判断系统蓝牙是否开启

var b=isEnabled();// true 表示开启

请求开启蓝牙

uniappx

openBtBluetooth(function(res:MyApiResult){
    //res.type  0 表示开启成功  1 表示失败
    console.log(res);
})

uniapp

openBtBluetooth(function(res){
    //res.type  0 表示开启成功  1 表示失败
    console.log(res);
})

字符转16进制字符串

var b=string2ByteStrWithCharset("您好 经典蓝牙","gbk")// 支持多种格式 可以传ut8-8 iso8859-1等
//b 的值为C4FABAC320BEADB5E4C0B6D1C0

16进制字符串转字符

var b=byte2StringWithCharset("C4FABAC320BEADB5E4C0B6D1C0") // 支持多种格式 可以传ut8-8 iso8859-1等
//b 的值为 您好 经典蓝牙

设置蓝牙的uuid 默认为下方值 需要自定义请自行设置

setConnectUUID("00001101-0000-1000-8000-00805F9B34FB")

经典蓝牙客户端

var client=new BtClient();

扫描蓝牙

uniappx

client.startScanDevice(function(res:MyApiResult){
    console.log(res);
    // res.type  -1 表示无蓝牙权限  0 表示扫描到蓝牙  res.data 为DeviceData
})

uniapp

client.startScanDevice(function(res){
    console.log(res);
    // res.type  -1 表示无蓝牙权限  0 表示扫描到蓝牙  res.data 为DeviceData
})

停止扫描蓝牙

    client.stopScan();

获取系统已配对蓝牙

var bonds= client.getBondDevices()// bonds为MyApiResult  res.data 为DeviceData

请求蓝牙配对

uniappx

client.bond("41:42:8D:29:21:47",function(res:MyApiResult){
    // 有返回表示配对状态发生变化
})

uniapp

client.bond("41:42:8D:29:21:47",function(res){
    // 有返回表示配对状态发生变化
})

链接到经典蓝牙服务端

uniappx

client.onConnnect({
        mac:"41:42:8D:29:21:47",
        connectCallback:function(res:MyApiResult){
            console.log(res);
            // res.type  0 链接成功  10001 链接失败

        },
        dataCallback:function(res:MyApiResult){
            console.log(res);
            //res.type  0 读取到数据  数据为res.data    10000 开启读取成功   10001 为链接断开 读取异常了
        }
} as ConnectPara)

uniapp

client.onConnnect({
        mac:"41:42:8D:29:21:47",
        connectCallback:function(res){
            console.log(res);
            // res.type  0 链接成功  10001 链接失败

        },
        dataCallback:function(res){
            console.log(res);
            //res.type  0 读取到数据  数据为res.data    10000 开启读取成功   10001 为链接断开 读取异常了
        }
} )

发送数据

client.write("5566778899")

断开链接

client.close();

蓝牙是否链接

var b=client.isBtConnect()

经典蓝牙spp 服务端

BtServer

var server=new BtServer();

开启spp 蓝牙服务端

uniappx

server.startSppServer("xtf",function(res:MyApiResult){
    console.log(res);
})

uniapp

server.startSppServer("xtf",function(res){
    console.log(res);
})

开启spp 蓝牙服务端

uniappx

server.startSppServer("xtf",function(res:MyApiResult){
    console.log(res);
    // res.type 0服务已经开启 等待链接  10000 设备链接成功  res.data 为DeviceData  10001 为设备 断开链接 res.data 为DeviceData  10002 为 设备发送过来的数据 res.data 为ServerReadData
})

uniapp

server.startSppServer("xtf",function(res){
    console.log(res);
    // res.type 0服务已经开启 等待链接  10000 设备链接成功  res.data 为DeviceData  10001 为设备 断开链接 res.data 为DeviceData  10002 为 设备发送过来的数据 res.data 为ServerReadData

})

服务端主动关闭已链接蓝牙

server.closeSocket("41:42:8D:29:21:47")

关闭蓝牙服务端

server.closeServer()

开发文档

UTS 语法 UTS API插件 UTS uni-app兼容模式组件 UTS 标准模式组件 Hello UTS

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/> <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。