微信小程序

分类下相关文章

golang 实现微信小程序自动退款及 API 证书配置

之前用 golang 实现微信支付, 为了偷懒就没有加自动退款功能。 因为本以为是个试验性项目也没有人会去退款,再就是退款需要配置 API 证书,看起来很麻烦。 没想到,项目有真实客户需求了,于是不得不补上退款功能。 同时,由于涉及到一个微信小程序多个商户号的支付,及退款问题,需要每个商户配置一套证书。 微信官方的退款文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_4 主要看里面哪些参数是必填的。 API 证书 关于 API 证书的介绍文档 https://pay.weixin.qq.com/wiki/do ...

阅读全文...

微信小程序扫码支付确认流程及未完成订单提醒

扫码支付前,需要弹几个确认窗口。例如,退款规则明示,风险提示,禁忌症的确认等。所有窗口确认无误后,再开始支付流程。 要防止确认窗口能退回,需要 redirect to。这样支付页面的状态就会丢失。 三种方案 全局变量。扫码后,全局缓存设备 id,跳转回来 onshow 判断是否存在这个 id,有就弹支付页面。弹出支付页面后,清空这个 id。再就是扫码之后,不立即弹出模式选择窗口,而是先跳转确认窗口,确认返回后,onShow 判断是否有全局缓存的 device id,有就获取模式列表,并弹窗显示。 storage。同上,只是存储方式不同。 页面参数传递。太啰嗦了,要传递几个页面。 未完成的订 ...

阅读全文...

微信小程序通过 MQTT Over Websocket 实时获取远程设备运行状态

需要实时拉取的数据 远程设备当前运行状态。比如,是运行中,还是已暂停 设备运行时长 设备上传感器的实时数值 如果通过微信小程序端定时轮询,例如,每 10 秒拉取一次,体验上不够好,因为有肉眼可见的延迟。特殊是设备运行状态这里,点击开始,如果不能立即看已启动状态,那就太 low 了。而 MQTT 协议可以实现实时推送的效果。 小程序后台配置可信域名 在 socket 合法域名里填写。例如: wss://www.sunzhongwei.com 这里是一个大坑,配置时候是 wss,用的时候是 wxs。 配置 WSS 证书 参考EMQX MQTT 服务配置 WSS 证书,由于 WSS 默认是使 ...

阅读全文...

微信报修小程序功能清单

功能清单 小程序端 微信扫码查看设备详情,并报修 (也可以微信小程序内扫码) (客户) 查看自己的报修历史,及报修详情,处理进度及维修人员联系方式 查看所有设备的清单,及设备详情 可以查看设备电子说明书 可以查看单个设备的巡检历史,并提交巡检记录 可以申请工作人员认证,认证之后就可以参与巡检 管理后台 查看报修记录,及详情 可以查看设备清单,并添加、删除、修改。 可以下载设备对应的报修码 设备分类管理 巡检历史 工作人员认证审核 在线演示 故障报修微信小程序,扫码一键报修 如果您有定制开发需求,可以联系微信:zhongwei ...

阅读全文...

蓝牙应用的阻塞式/同步操作

最近写了一个蓝牙微信小程序的 bug,修复的过程中,我反思了一下蓝牙通信合理的交互模式。 原实现逻辑 在点击模式选择(即开始)/ 暂停 / 继续 / 停止,这几步操作时: 点击后,先向硬件发送蓝牙指令,然后立即更新本地状态,更新 UI 界面。 在通信正常,没有干扰,没有数据丢失的情况下,确实没有问题。 异常情况 然而在硬件放到控制柜之后,整体装机之后,诡异的现象就出现了。 20% 的概率出现界面卡住, 或者状态不同步。 根本原因在于概率性通信指令丢失。 新的交互逻辑 点击后,弹出 loading 状态框,禁止其他操作。提示,通信中... 收到状态变化的蓝牙回复,再允许操作,并去掉 loadi ...

阅读全文...

微信小程序显示蓝牙信号强弱

需求背景 蓝牙控制板放到控制柜里之后,就会有 20% 的概率出现蓝牙通信丢失的情况。 不确定是信号干扰的问题,还是放到控制柜之后,受隔音棉的影响信号变弱所致。 所以需要能够实时打印当前的蓝牙信号强度,来排除信号减弱的问题。 微信小程序界面上显示信号强度。底部,默认隐藏,点击显示。 参考文档 https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceRSSI.html wx.getBLEDeviceRSSI(Object object) 获取蓝牙低功耗设备的信号强度 (Rec ...

阅读全文...

微信小程序切换到后台时,取消蓝牙监听

需求背景 蓝牙设备一直在给微信小程序发送数据,例如一秒一次。 但是切到后台之后,再切回来,例如,间隔了5分钟,再切回来会收到大量的蓝牙数据。 看起来是微信帮小程序做了缓存队列,然后疯狂地传给小程序。 造成的影响就是,用户会看到界面在一顿疯狂地刷新,异常鬼畜。 我比较担心的是,如果时间更长,会不会导致用户切回来的时候,会在很长一段时间内无法操作。 解决思路 小程序切到后台时,需要取消监听。等切回来时,再重新监听。 因为在后台这期间收到的数据并没有处理的意义,只需要在再次打开时, 同步一下状态即可。 搜索了半天没有找到相关的文档。迫不得已浏览一遍小程序蓝牙文档,看看是否有相关接口。 没想到在车间里 ...

阅读全文...

微信小程序组件

我想在微信小程序的每个功能页面下,都加上统一的电脑端链接,方便用户体验同一功能对应的网页版。 感觉封装成一个组件比较节省代码。 写了这么久小程序,还是第一次自己封装组件,所以记录一下。 我看官方文档介绍的概念非常多,但实际上我的这个功能需求非常简单,只需 5 分钟看完介绍文档就能实现。 组件存放位置 小程序项目根目录,与 pages 平级,新建一个 components 目录。 组件目录结构 > tree components/ components/ └── web_url ├── web_url.js ├── web_url.json ├── web_url. ...

阅读全文...

微信小程序 wxml include 公共模板

需求 我想在微信小程序每个页面的底部都加上统一的页脚,例如,问题反馈入口和版权信息等。 由于页面太多,全部逐页手动添加不现实,所以需要用到引入公共模板的功能。 连 golang 的 template 都支持 include 功能,更何况小程序的 wxml 呢。 查了一下,确实支持。 https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/import.html 放在哪里 可以在项目根目录,与 pages 平级,新建一个 templates 的目录,专门用来存放公用模板。例如: footer.wxml header.wxm ...

阅读全文...

微信小程序被反编译上架,侵权投诉流程

我还是太天真了。有两个厦门公司的抄袭了我的微信小程序大象计算器,流量是我的十倍吧。 估计是有自己的流量矩阵,相互导流,所以流量比我大多了。正好今年清明假期有空,就直接在微信官网进行了投诉。但是估计能被处理希望渺茫。不管如何,记录一下流程。 小程序侵权细节 粉柚计算器和麻花计算器,这两个计算器小程序均通过小程序代码反编译抄袭了我个人开发的大象计算器微信小程序。界面及功能几乎一样,只是首页把我的顶部轮播图替换为了他们的广告,并且去掉了我的联系方式,功能界面完全一样。剽窃者还添加了我的微信,跟我索要代码,索要不成就威胁我可以趴取代码,找人反编译。 小程序侵权投诉入口 登录你的小程序后台, http ...

阅读全文...

猛男流泪,微信小程序要防止被扒取反编译

我一直知道有专门的开源工具可以把小程序的代码反编译出来,还未曾尝试, 没想到就有邪恶的手伸向了我的小程序。。。 然后他发了个我代码的截图,估计是想炫耀一下。我口吐芬芳后,就把他拉黑了。 就算他能上架,我也不太担心被抢走用户。毕竟 没啥用户,每天一百来个用户快一年没增长了 流量没那么好来,特别是短时间没法变现的,更加没有动力去拉流量 但是,这事还是让人非常恶心,就像房子里有个蟑螂一样,就算你们不在一屋,也异常恶心。 “奕弘” 们是做什么的 我在搜素“小程序反编译”的时候,居然神奇地搜到了微信里要扒我小程序的这个人奕弘,因为他回复了几个关于反编译的问题。 https://develope ...

阅读全文...

微信小程序预订午餐加个“订餐截止时间”限定

需求背景 公司行政部门每天都要在订餐群里吼几嗓子: 大家抓紧时间报餐啦,9点半结束!随时可以过来领餐券 估计,不少同事觉得消息打扰,或者觉得确实可以省去吼两下的工作,所以希望加上订餐截止时间的功能。 也间接解决了中午12点之后订午餐,实际应该提醒是否是要订第二天,体验上的优化。 真实需求 我觉得类似这种报名截止时间的需求,实际上不单单就是个截止的功能,还包括 管理员可以设置这个时间 (午餐截止时间,晚餐截止时间) 订餐报名截止后,管理员可以手动添加 提醒我明日订餐? 界面上能够显示明确的截止时间 效果图如下: 动态消息 如果微信群里分享的小程序卡片,能实时更新当前订餐人数,那就很方便 ...

阅读全文...

微信审核被拒,小程序实际运营内容与名称简介不符

满心欢喜地提交了第一版图像识别小程序,没想到傍晚收到被拒绝的噩耗。 搞得晚饭都没了胃口。晚上继续开发 Android 版的计划被打乱。 你的小程序"OpenCV 图像识别",提审时间:2022-02-26 10:50:09,版本审核未通过。 1: 你好,你的小程序实际运营内容与名称简介不符,请上架符合小程序名称简介描述的正式内容/商品,并保持服务内容与图文一致。 除了接受,我别无选择。 因为申诉里,需要提交无厘头的图片证据。微信审核真是令人抓狂。 我的锅,冤枉了审核人员 冷静下来,看了一下,确实由于我个人小程序改名的缘故,忘了修改介绍。 简介里的内容还是之前小程序的 ...

阅读全文...

微信小程序蓝牙进行设备参数配置经验总结

逻辑 打开小程序配置页面时,蓝牙协议拉取所有配置项 编辑修改后,检测修改项,逐一发送修改指令。注意间隔时间 发送保存指令 加载速度体验优化 如果配置项很多,达到 20 项以上,每次间隔几百毫秒拉取(防止设备死机),在用户体验上会非常不好,一种解决方案是,增加一条蓝牙指令,用于一键拉取所有配置项。这样就不需要批量发送一堆拉取指令了。 微信小程序端只需要等待设备逐一推送即可。 蓝牙协议解析 其实通过命令编号来解析最简单,而且可以方便做后期扩展。 我之前由于太天真,做了各种抽象,以为能以更少的代码来实现解析。 实际上,当遇到设备端协议由多人编辑,并且不可控时,会导致协议变的毫无规律,毫无规则,这 ...

阅读全文...

微信小程序广告费提取

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

阅读全文...