let bluetooth = {} /** * 是否授权蓝牙(兼容微信小程序,其他平台未做兼容) * @date 2022-12-08 */ bluetooth.isAuth = function() { return new Promise((resolve, reject) => { // #ifdef MP-WEIXIN uni.getSetting({ success(res) { // 没有蓝牙权限 if (!res.authSetting['scope.bluetooth']) { // 提前向用户发起授权请求 uni.authorize({ scope: 'scope.bluetooth', success(res) { console.log('--请求权限成功--', res) resolve(true) }, fail(res) { console.log('--请求权限失败--', res) uni.showModal({ title: "您已拒绝蓝牙权限", content: "是否进入权限管理,调整授权?", success(res) { if (res.confirm) { // 打开设置界面,引导用户开启授权 uni.openSetting({ success(res) { reject(false) } }) } else { reject(false) } } }) }, complete(res) { // console.log('authorizeComplete', res) } }) } else { resolve(true) } } }) // #endif }) } /** * 初始化蓝牙 * @date 2022-12-08 */ bluetooth.init = function() { return new Promise((resolve, reject) => { // 初始化蓝牙 uni.openBluetoothAdapter({ success(res) { console.log('--初始化蓝牙成功--', res) resolve(res) }, fail(err) { console.log('--初始化蓝牙失败--', err) reject(err) } }) }) } /** * 开始搜寻附近的蓝牙外围设备 * @param {array} services 要搜索的蓝牙设备主 service 的 uuid 列表 * @date 2022-12-08 */ bluetooth.startDiscovery = function(services = []) { return new Promise((resolve, reject) => { // 开始搜寻附近的蓝牙外围设备 uni.startBluetoothDevicesDiscovery({ services: services, success(res) { console.log('--开始搜寻附近的蓝牙外围设备成功--', res) resolve(res) }, fail(err) { console.log('--开始搜寻附近的蓝牙外围设备失败--', err) reject(err) } }) }) } /** * 停止搜寻附近的蓝牙外围设备 * @date 2022-12-08 */ bluetooth.stopDiscovery = function() { return new Promise((resolve, reject) => { // 停止搜寻附近的蓝牙外围设备 uni.stopBluetoothDevicesDiscovery({ success(res) { console.log('--停止搜寻附近的蓝牙外围设备成功--', res) resolve(res) }, fail(err) { console.log('--停止搜寻附近的蓝牙外围设备失败--', err) reject(err) } }) }) } /** * 获取在蓝牙模块生效期间所有已发现的蓝牙设备 * @date 2022-12-08 */ bluetooth.getDevices = function() { return new Promise((resolve, reject) => { // 获取在蓝牙模块生效期间所有已发现的蓝牙设备 uni.getBluetoothDevices({ success(res) { console.log('--获取在蓝牙模块生效期间所有已发现的蓝牙设备成功--', res) resolve(res) }, fail(err) { console.log('--获取在蓝牙模块生效期间所有已发现的蓝牙设备失败--', err) reject(err) } }) }) } export default bluetooth