浅谈微信活码架构及其简易实现

微信活码是一种动态二维码技术,能解决微信群聊二维码7天过期问题。通过固定二维码展示动态内容,实现二维码图案不变而内容可更新。活码系统基于云开发和服务器,可自定义展示页面,根据用户设备、地区进行分流。虽然存在用户需二次跳转和无法直接确认用户加入群聊的局限,但能有效管理和维护大规模微信群。简易实现包括使用Koa、云开发和测试公众号,通过云函数定时检查和提醒群主更新二维码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说一说微信活码

# 什么是活码

活码
对一个分配的短网址进行编码生成二维码。生成后可以随时修改内容,二维码图案不变,可跟踪扫描统计,支持存储大量文字、图片、文件、音视、视频等内容,同时图案简单易扫。

微信活码就是动态的微信二维码了(主要是群聊二维码)

# 为什么需要?

在微信生态中我们的公众号、微信群、微信号中默认使用的是静态的二维码,通过此二维码可以关注公众号,进入微信群等。但是微信群的二维码会有七天过期的问题。

这个其实主要是解决二维码过期问题。

# 原理简述

1.对外公开一个固定的二维码,二维码解析出来的 url 是固定死的,对应的是一个固定的网页链接,而不是真正的微信群聊二维码
ps:使用草料二维码对微信群聊二维码进行解码我们会得到类似如下格式的地址(g 字母以后部分是群聊对应的一串编码)


2.这个固定的网页链接打开之后,里面显示的二维码则是真正的微信群聊二维码。
3.可以假定如果二维码的显示超过200次(群聊200人扫码进群上限),则表示微信群已经满人需要显示另外一个二维码。

# 加强

因为用户首先打开的是我们自己的页面,所以可以增加很多自定义功能
可以根据客户端用户代理(user-agent)区分用户

  • 根据终端设备类型做分流区分不同设备的用户
  • 根据 IP 区分显示,分流不同地区的用户

# 优缺点

优点:

  • 部分解决7天过期问题
  • 自定义导流

缺点:

  • 用户需要两次跳转,流程变长
  • 扫码加群成功没有回调,无法确定用户是否真的进群
  • 没满人的二维码最终还是会过期,需手动维护
  • 满人后无法解决加群问题

# 简易实现

本站的技术交流群二维码就是一个简易活码,下面大概介绍下实现过程。
主要基于 koa + 云开发 + 测试公众号(都是免费的)进行实现:

  • 云开发的云数据库中新建记录用于存放二维码的更新(上传)时间及是否发送过二维码过期提醒
  • 测试公众号新建一个模板消用于提醒群主二维码将过期
  • 基于 koa 实现一个静态服务器展示一个中间页(用于跳转显示群聊二维码)。
  • 中间页内部使用插件以群聊二维码的 url 作为参数生成二维码并展示。
  • 静态服务器提供一个上传页面,打开后可以直接进行群聊二维码的上传。
  • 上传成功之后会把上传时间更新到云数据库中,并把提醒状态置为 false (未提醒)
  • 云开发中新建一个云函数用于检查二维码是否将要过期,要过期就发送模板消息提醒群主并把云数据库中的发送记录置为 true (已提醒)
  • 模板消息中的 url 可设置为二维码的上传页面,这样收到提醒之后保存新的二维码即可点击模板消息进行新二维码的上传
  • 云开发的云函数设置一个定时触发器,例如定为每天 10 点检查

至此一个简易实现就完成了,然后就可以在过期前收到测试公众号发来的过期提醒模板消息了。

提醒效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定喵君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值