微信小程序

分类下相关文章

微信小程序广告费提取

后台的流量主管理,财务管理 tab 页,可以看到 开票信息 邮寄地址 因为每月的邮件中的地址是二选一(原因是 2020 年年中变更过),所以,必须进入具体的小程序后台才能确认具体使用哪个。 多月合并开票规则 当合并多月结算单开票时,请注意: 使用增值税专用发票 2019年8月及之前月份的结算单可以合并开,2019年9月至2020年5月的结算单可以合并开,2020年6月及之后月份的结算单可以合并开 (主要原因是腾讯结算的公司名在变,只有这几个大时间段的名字相同) 相同抬头的发票可以合并开 每月的结算单必须分别盖章确认,与发票一同邮寄给腾讯公司 参考: https://ad.weixin ...

阅读全文...

小程序首页的设备列表按经纬度拉取,golang mysql 实现

经纬度的存储类型 latitude: 37.538155, longitude: 121.390169, 可见,最多有 6 位小数,所以存储类型为: decimal(10,6) decimal 的第二个参数 6 代表,最多 6 位小数; 第一个参数 10 - 6 = 4,代表小数点前最多 4 位数,即 -9999 ~ 9999. alter table sql ALTER TABLE `oxygen_backend`.`device` CHANGE COLUMN `lat` `lat` DECIMAL(10,6) NULL DEFAULT NULL , CHANGE COLUMN ...

阅读全文...

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 管理后台: 报修小程序功能清单 反馈内容 故障描述 联系电话 联系人,选填 地址 其他功能 查看处理进度 查看 ...

阅读全文...