微信小程序

分类下相关文章

golang gin 实现微信小程序支付

微信小程序支付最多关联多少个三方商户 50 个。 https://developers.weixin.qq.com/community/develop/doc/000a0a92e50360b6554aa165b5a400 获取微信商户的 MchID(商户 id)和 MchKey(商户密钥) MchID(商户 id)左侧菜单里的商户信息里查找 MchKey(商户密钥)左侧菜单里的 API 安全里生成,共 32 位 微信支付 golang 库 最新的是 V3 版本。 官方提供了 golang 版本的库,良心。。。(官方同时提供了 java, php, golang 三种语言) https:// ...

阅读全文...

小程序 ios 上隐藏 input 输入框闪烁的光标

在微信小程序里实现一个密码输入界面,采用流行的6个点交互。 原理就是用一个隐藏的 input 输入框接受收入,并弹出数字键盘。然后 input 中的文字颜色与背景色一致,这样就看不到输入框了。 问题 在 Android 上一切正常,但是到了 iOS 上,input 闪烁的光标,暴露了。 不得不说还是 iOS 安全性好,但这个确实头痛。 隐藏光标方法 我网上搜了一圈,没一个好用的。 没有思路,于是看了会小程序的 input 文档,发现两个有趣的属性: hold-keyboard: focus 时,点击页面的时候不收起键盘 adjust-position: 键盘弹起时,是否自动上推页面 突然有 ...

阅读全文...

微信小程序跨页面的蓝牙状态共享

例如,在微信小程序首页建立了蓝牙连接,但是要进入配置页面,进行蓝牙设备参数修改。 两个页面都需要监听蓝牙设备的数据回复。如何做到跨页面的蓝牙状态共享呢? 主要是几个参数缓存一下就行,不需要重复服务发现过程。但是,监听还是需要的。 Done: 测试切换页面监听是否还存在 例如,从首页(已建立监听),进入配置页(没有建立监听)。 这时,从蓝牙设备,发送数据,看看是否能接收到数据。 经测试,依然能收到数据。只是 toast 显示之类的跟界面相关的看不到罢了。 Done: 监听放全局的改造是否可行 似乎也不可行,因为每个页面接收到数据后的处理逻辑也不一样。 例如,有的更新这里,有的要更新界面的那里。 ...

阅读全文...

微信小程序支持 await 关键字的用法

使用场景 在一个微信小程序与蓝牙设备交互的场景中,我担心一次性发送过多请求导致蓝牙设备扛不住压力。 所以想每次发送间隔几十毫秒。 可读性最好的写法当然是使用 await 关键字了,否则要异步回调实现间隔性发送,代码可读性是个问题。 查了一下,微信小程序已经支持: https://developers.weixin.qq.com/community/develop/article/doc/0008ee7efe4cf0a25799a071c5b013 看上去只要勾选了“增强编译”就可以了,不需要额外的配置。 简单测试 使用 timeout 来测试一下。 首先在 utils/util.js 中定义 ...

阅读全文...

微信小程序 scroll-view 中的 input 输入框获得焦点时,文字浮起错位

非常诡异的一个问题,微信小程序中做了一个参数配置页面,这个页面参数有点多,所以做成了在 scroll view 中嵌套 input 的实现。但是当 input 输入框获得焦点时,里面的文字就会上浮错位。 这个体验完全不能接收啊。。。 解决方法 搜索了半天,找到了一个完全相同的案例: 一句话描述一下解决方式:不要给scroll-view 指定height=100vh; 设置为 95vh 就可以解决。 我改成了 99vh 也可以完美解决这个 bug。 但是底部会出现一块小区域空白,给 page 设置个默认背景色来解决。 修复后的效果: 参考 https://developers.weix ...

阅读全文...

小程序多页面间共享蓝牙连接状态

场景 设备列表页,展示可连接的蓝牙设备列表,并选中指定设备建立连接 数据展示页,自动同步设备上的运行状态数值 (使用设备列表页已建立的连接) 参数设置页,进行设置操作 (也需要用到设备列表页建立的连接) 发送、接收涉及的参数 发送:wx.writeBLECharacteristicValue deviceId serviceId characteristicId 接收: wx.onBLECharacteristicValueChange & wx.notifyBLECharacteristicValueChange deviceId serviceId characteris ...

阅读全文...

小程序蓝牙设备通信逻辑及接口

主要分三大块功能: 开始扫描附近的蓝牙设备列表 建立连接 断开连接 开始扫描:1. 初始化蓝牙模块 接口:wx.openBluetoothAdapter 开始扫描:2. 开始搜寻附近的蓝牙外围设备 接口:wx.startBluetoothDevicesDiscovery 注意事项: 此操作比较耗费系统资源,请在搜索并连接到设备后调用 wx.stopBluetoothDevicesDiscovery 方法停止搜索 参数 services:如果设置此参数,则只搜索广播包有对应 uuid 的主服务的蓝牙设备。建议主要通过该参数过滤掉周边不需要处理的其他蓝牙设备。主服务 uuid 都是四位的。 ...

阅读全文...

桌面工具 XCOM 调试小程序蓝牙通信

首先,需要将蓝牙开发板用 USB 连接到 Windows 主机上,然后使用小程序连接蓝牙设备。 串口选择 COM3 串口操作 打开串口。 注意,如果不打开,就无法接收小程序发送到蓝牙设备的数据。 关闭发送新行 例如,我想模拟向小程序发送数据: 34 34 35 35 31 31 31 31 31 但实际上,从小程序接收到的数据为: 34 34 35 35 31 31 31 31 31 0D 0A 这个 0D0A 是 XCOM 自动加上的换行,需要取消勾选 "发送新行" 配置截图 ...

阅读全文...

微信小程序封面广告不显示问题

给我的大象计算器微信小程序设置了封面广告,从介绍看,类似于 APP 的开屏广告。 不过展示场景仅限于从微信首页下拉界面点击打开小程序时,才会显示封面广告。 后台开启了封面广告,但是不显示 开始是猜测需要等一段时间才生效。 后来发现是,因为之前已经打开了小程序,从手机系统杀掉小程序,然后再次从微信首页下拉打开小程序, 就能看到封面广告了。并不需要发布新版本审核。 用户体验并不好 由于我是工具类的小程序,我觉得我的用户都是抱着提升效率的目的来使用我的小程序的。 如果增加了开屏广告,反而使他们的效率降低,因为需要先看一个完全无关的广告。 而且微信的封面广告,不但设计丑陋,相关性也差。 所以,丝毫没有 ...

阅读全文...

Javascript BCC校验(异或校验)

由于要使用微信小程序给蓝牙设备发送指令,但是担心指令传输中数据错乱,所以添加了异或校验,即BCC校验。 异或校验原理 参考 http://www.ip33.com/bcc.html BCC(Block Check Character/信息组校验码),因校验码是将所有数据异或得出,故俗称异或校验。具体算法是:将每一个字节的数据(一般是两个16进制的字符)进行异或后即得到校验码。 例如16进制数据:01 A0 7C FF 02 计算:01 xor A0 xor 7C xor FF xor 02 = 20 校验码是:20 即,最终结果就是一个字节(两个十六进制字符) 异或的计算规则 异或的运算法则为 ...

阅读全文...

微信小程序蓝牙通信发送指令,十六进制编码转换

示例代码 这是微信小程序官方示例中的一段代码,用于向蓝牙设备发送指令。 writeBLECharacteristicValue() { // 向蓝牙设备发送一个0x00的16进制数据 let buffer = new ArrayBuffer(1) let dataView = new DataView(buffer) dataView.setUint8(0, Math.random() * 255 | 0) console.log("deviceId: " + this._deviceId); console.log(&q ...

阅读全文...

小程序 wx.writeBLECharacteristicValue 向蓝牙写入数据报错 10004 noservice

使用微信小程序官方提供的操作蓝牙设备示例代码 https://developers.weixin.qq.com/miniprogram/dev/framework/device/bluetooth.html 向低功耗蓝牙设备写入数据时,发现蓝牙设备没有收到数据。 为 wx.writeBLECharacteristicValue 增加了成功失败回调之后 wx.writeBLECharacteristicValue({ deviceId: this._deviceId, serviceId: this._deviceId, characteristicId: this._characteri ...

阅读全文...

故障报修微信小程序,扫码一键报修

使用需求 很多实体设备出故障、或者损坏时,不能及时找到售后服务报修。 百度搜索售后服务联系方法,搜出来的大多是广告 即便能联系上客服,也很难说明白设备型号,是否超出质保期 自动生成质量问题报表,可以查看客观的统计数据 微信小程序解决方案 在实体设备上贴上小程序报修二维码,或者小程序码 出故障时,用户可以直接用微信扫码一键报修 演示小程序码 例如,微信扫码下方小程序码,可以直接查看设备详情,并提交报修等操作。 如果您有定制开发需求,可以联系微信:zhongwei 管理后台: 报修小程序功能清单 反馈内容 故障描述 联系电话 联系人,选填 地址 其他功能 查看处理进度 查看 ...

阅读全文...

股票收益计算器 - 输入交易额自动计算盈亏、利润

收到一位大象计算器微信小程序的热心用户反馈,希望我能增加一个股票收益计算器的功能。即股票算利润的软件功能。 股票收益计算器小程序功能需求 输入交易额自动计算盈亏、利润。 输入项 交易数量,股数 佣金,百分比 买入价格 卖出价格 自动计算结果 盈亏额 收益率 买入交易额 买入税费 卖出交易额 卖出税费 小程序界面效果 扫码体验 ...

阅读全文...

微信小程序通过蓝牙控制硬件设备、及数据传输

给客户做了一个手机微信小程序蓝牙控制硬件设备启动,运行模式的功能;同时可以读取设备上的实时运行数据,展示在手机上(当时数值发生变化时由设备主动通过蓝牙推送到手机上)。 最终效果 微信小程序目前并不支持经典蓝牙 参考: https://developers.weixin.qq.com/community/develop/doc/000c20c0574c00b9a33b0c38c51400?_at=1618552916637 同一设备是否可以同时支持经典蓝牙与低功耗蓝牙 蓝牙 4.0 规范允许设备同时支持经典与低功耗蓝牙协议。 小程序蓝牙是否支持同时连接多个设备 https://develope ...

阅读全文...