记一次微信小程序蓝牙写数据错误Z.createEvent is not a function

错误表现

使用微信小程序官方文档的示例代码测试Ble蓝牙功能

蓝牙搜索设备后,发送数据时引发代码错误

image

VM13:1 MiniProgramError
Z.createEvent is not a function
TypeError: Z.createEvent is not a function

错误原因

wx.writeBLECharacteristicValue({
	deviceId: this._deviceId,
	serviceId: this._deviceId,
	characteristicId: this._characteristicId,
	value: buffer,
})

其中的serviceId传参写的是_deviceId

修改方法

wx.writeBLECharacteristicValue({
	deviceId: this._deviceId,
	serviceId: this._serviceId,
	characteristicId: this._characteristicId,
	value: buffer,
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于微信小程序的限制,无法直接将ICS文件导出到用户的本地设备,但我们可以将ICS文件存储在用户的微信云存储中,用户可以在小程序内下载文件。 以下是实现代码的核心部分: ```javascript const ics = require('ics') // 导入ics插件,用于生成ICS文件 const { promisify } = require('util') const wxGetImageInfo = promisify(wx.getImageInfo) const wxGetFileSystemManager = () => wx.getFileSystemManager() const wxGetFileInfo = promisify(wx.getFileInfo) const wxSaveFile = promisify(wx.saveFile) const wxCloudUploadFile = promisify(wx.cloud.uploadFile) // 生成ICS文件内容 const event = { start: [2022, 1, 1, 8, 0], // 开始时间,格式为[年, 月, 日, 时, 分] duration: { hours: 2 }, // 持续时间 title: '新年快乐', // 标题 description: '欢度新春佳节', // 描述 location: '中国', // 地点 url: 'https://www.example.com' // URL链接 } const { error, value } = ics.createEvent(event) if (error) { console.error(error) return } const icsContent = value // 将ICS文件存储在微信云存储中 const dirPath = wx.env.USER_DATA_PATH const fileName = 'event.ics' const filePath = `${dirPath}/${fileName}` wxGetFileSystemManager().writeFileSync(filePath, icsContent, 'utf-8') const { size } = await wxGetFileInfo({ filePath }) const cloudPath = `events/${fileName}` const { fileID } = await wxCloudUploadFile({ cloudPath, filePath }) console.log(`ICS file uploaded to ${fileID}`) // 下载ICS文件 wx.downloadFile({ url: fileID, success: async ({ tempFilePath }) => { const { path } = await wxSaveFile({ tempFilePath }) console.log(`ICS file saved to ${path}`) }, fail: (error) => { console.error(error) } }) ``` 以上代码中,我们首先使用 `ics` 插件生成ICS文件的内容,然后将文件存储在用户的微信云存储中。最后,我们使用 `wx.downloadFile` 方法下载ICS文件,下载成功后可以将文件保存到用户的本地设备上。 请注意,上述代码仅供参考,可能需要根据实际需求进行修改和适配。同时,由于微信小程序的限制,用户在下载ICS文件时需要手动点击下载按钮,无法直接将文件下载到本地设备上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值