微信小程序和公众号会员数据打通的设计思路


关键词

微信小程序 公众号 会员

摘要

本文介绍在微信小程序和微信公众账号两者的会员数据如何进行打通。

我们经常遇到这样的情况:项目有公众号入口,也有小程序,各自都有业务功能,也都需要用到会员模块。但项目的运营者希望把小程序的用户和公众号用户整合起来,就是说一个小程序的用户也可以直接登录公众号,他的所有用户数据还要都在。反之,公众号的用户登录小程序也是一样。

我们知道,微信小程序和微信公众号,都可以实现一键登录或自动登录,而底层的原理是它们都有一个openid的参数。我们在用户第一次注册时,把他的openid和用户名等信息一起存入会员表。这样,下次用户登录时,我们就可以通过openid来判断登录的是哪个用户了。

但是,在微信小程序和微信公众号中,这个openid是不一样的。或者这样说,每个一个号,不管是公众号与小程序、公众号与公众号、小程序与小程序,它们的openid都是不一样的。那openid不一样,怎么来实现用户的统一呢?基于此,微信提供了开放平台。在开放平台上,可以把所有要统一用户信息的公众号或小程序都关联上去——前提应该要是同一主体。绑定上去之后的这些号,就多了一个和openid类似的参数,那就是unionId。对于不同的号,这个unionId是相同的。

于是,我们可以在用户表中设置三个字段,分别是unionId、公众号openid、小程序openid。注册时,传入unionId和自己的openid,判断逻辑如下:

openid存在:用户已注册,unionId也应该已存在,不用做任何操作;
openid不存在,unionId不存在:这是一个新用户,新增一条用户记录,保存openid和unionId;
openid不存在,unionId存在:用户已从其它端注册,现将openid保存即可。

通过以上的判断和处理,就可以将当前微信绑定到系统中了。不管你是先进的公众号还是小程序,都没有关系。

用户登录时,只需要传openid,去判断该openid是否存在即可。如果openid不存在,则跳转到注册功能,按前面的注册流程操作即可。

好了,关于微信小程序和公众号会员数据打通的设计思路,本文就介绍这么多,希望对大家有所帮助。

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« 微信小程序加载时先获取session_key登录状态 微信小程序中调用wx.getSetting可以获取到哪些权限设置 »