有同学提问,他们公司的微信小程序,某个业务板块需要调用微信的openid,但是目前访问量巨大,已经突破了微信小程序对openid的最多次数限制,很多用户无法正常开展业务,该怎么办呢?
经过丁老师分析和研究,发现该公司的小程序因访问量巨大,调用openid的频率已经超过了微信小程序的限制,如图:

其实这个问题,不算什么特别复杂的业务问题。只是这个公司的小程序后端开发人员,在对调用openid时没有做出访问量预判,只是简单实现的了业务逻辑,并没有考虑到实际业务中的访问频次及数量需求。
丁老师曾主导开发几个千万级IP的产品,这个问题有很多种方案可以解决。
解决方法一:优化调用逻辑,对openid做数据缓存
同一微信公众号/小程序对单一用户的openid一般是固定的,是不会变的(用户解除绑定、微信AppID变更除外),当业务功能需要使用openid时,没有必要每次都通过微信接口去调用获取,这样会造成太多的资源浪费。完全可以将openid存储起来,存到数据库也好,存到Redis、Memcached也罢,反正就是存起来,不要每次都去读取。
解决方法二:调整调用方法,使用unionId
如果真的是,即使将openid做缓存了,数据量还是巨大,那么可以注册多个公众号、小程序,然后绑定微信开发者平台,使用统一的unionID来代替openid。
解决方法三:清零调用次数
微信提供了openid调用次数的清零接口,每月有10次清零机会。可调用接口https://api.weixin.qq.com/cgi - bin/clear_quota?access_token=ACCESS_TOKEN,请求体为{"appid": "APPID"}来重置调用次数。但如果超过10次清零上限,就会返回错误码48006,提示禁止清零,此时只能等待次月自动重置。
解决方法四:申请提额
临时提额:可在微信公众平台的“接口权限”处,查询临时提额机会,通常每3个月有一次机会,可根据提示申请临时提高调用额度。
永久提额:若业务量持续增长,可通过微信开放平台提交工单申请永久扩容,申请时需提供业务量证明等相关材料。此外,增加粉丝数量也可能会使部分接口配额自动提升,如模板消息、客服消息等接口,粉丝数达到10万/100万/1000万时,可能对应更高限额。升级账号类型也有助于提升配额,例如认证服务号比未认证账号拥有更高基础配额。
以上就是几个常用的处理方法。当然,还有更多的方法可以解决这个问题,如果你也恰巧遇却又不知如何解决,欢迎添加丁老师进行咨询和讨论。
有同学咨询,想知道怎么样使用Android Studio来构建Flutter应用项目,今天丁老师来教你。在Android Studio中,选择顶部菜单的Build-Flutter-Build APk,就可以生成Flutter项目的APK...
最近经常配置OJS系统的(Open Journal Systems期刊管理系统 )发信功能,客户使用的是网易企业邮箱,根据网易企业邮箱帮助中心的文档显示,smtp服务加密ssl的端口是994,如图:结果设置了以后,怎么也发不了邮件,就在...
不说废话,直接上解决办法。写mysqldump -uusername -ppassword DatabaseName | gzip /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql...
最近丁老师软件开发团队收到几个微信小程序二次开发的订单,客户想对他们现有的小程序进行版本迭代和功能升级,但是好多客户在提供资料时都表达不清楚,不是这个不知道就是那个不懂,今天丁老师就微信小程序二次开发,需要准备哪些资料以及流程等问题做一...
小程序定制开发的流程和费用,以及需要准备的材料,(包括但不限于微信小程序、百度小程序、支付宝小程序、抖音小程序、小红书小程序)具体如下:一、小程序开发的行政流程1.确定软件开发公司,和开发公司签订合同2.甲方支付首期开发费用3.乙方开始进行...
正确的USB连线,其次打开开发者选项、USB调试,这些都是老生常谈,就不说了。在确保以上操作无误后,如果还找不到真机,关闭IDE,然后去adb的目录下,即HBuilderX\plugins\launcher\tools\adbs,把adb....
宝塔系统相关问题解决方法
fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',functi...