微信开放平台,公众平台,小程序,折腾起来了
作者:互联网
最近被这几个概念和各种id,token搞晕了,简单记下笔记吐槽一下
1.公众平台 mp
主要是用来给自媒体或者企业推消息用的,但是我也发现很多小网站会用公众号来实现网站第三方登录,大致流程我也用代码实现了一次
首先在代码端和公众号平台打通token验证和加密解密,然后这个代码放在服务器一直跑着,公众号被扫码关注和取消关注,腾讯那边会post消息过来
利用公众号实现网站登录,首先我们可以先向腾讯公众号平台获取二维码ticket,然后得到一个二维码图片地址,放在前端给用户扫,只要扫码关注了(不管以前有没有关注,只要扫码进了公众号就会有消息推过来),我们就可以通过消息得到扫码用户的openId,把这个openId和自己网站的userId挂钩起来就信了
这里网上有个开源的封装的挺好
https://gitee.com/binary/weixin-java-tools
不过要注意公众平台的模块对应的是 里面的 weixin-java-mp
2.利用 关注公众号 来实现网站登录虽然有点方便,但也有些问题,一个是,用户扫码之后要等腾讯推给我们后端消息,我们才知道用户扫码关注了,然后还要自己代码推给前端,所以要么得用上websocket,要么就要前端轮询,没有向开放平台那种"扫码后直接代码回调然后前端页面自动跳转"来的方便,另一个问题当你想要做一个同时支持安卓,ios,小程序,web端的产品的时候,会有openId和公众号openId不一致的问题,最终还是要用到微信开放平台
3.小程序
用户打开我们的一个小程序时,我们是可以获取到这个打开小程序的用户的一个code,然后我们可以拿这个code去给腾讯发一个请求,得到这个code对应的用户对应我们小程序的openId的
可问题是这用户关注我的公众号后我拿到的他的openId,和这用户用了我的小程序后我拿到的另一个openId 不是同一个id.....
没想到当我辛苦走完公众号验证审核流程后,以为一个公众号能搞定一切时,我被小程序和公众号之前的openId不一致给打败了,然后不得不再去走一遍300元验证开放平台账号的流程,来回加起来就是600元了
4.微信开放平台 open
上面提到了 如果要做支持多端的应用,还是不得不走 微信开放平台。在微信开放平台里,可以对1.网页应用 2.移动端 3.小程序 4.公众号 之间做些配置和绑定,然后能达到一个什么目的呢? 比如我一个产品A,分别由A-web,A-IOS,A-android,A-miniprogram这几个端,甚至还有公众号,我希望同一个用户不管用哪个端,在我后台数据库里就只对应这个产品A的user表的一个记录,这个时候就要用到开放平台的unionId了,并且这个unionId就开放平台才有,如果你仅仅做了公众平台那边的工作,你也是得不到unionId的,必须要在开放平台走下流程才行
https://gitee.com/binary/weixin-java-tools
开放平台对应的是 weixin-java-open
这几天等开放平台审核完再对接下开放平台吧,后面有了新体会再回来记录
总之,如果只是做个小网站不做移动端,可以只在公众号端用用户的openId和自己网站的userId挂钩,但如果要做一个跨终端的产品,那就要利用开发平台的unionId了,公众平台公众号相当于只是公司的一个推广账号。
其实有一点我是挺想吐槽的,就是公众平台,开放平台,小程序的数据之前看似可以互通,可是又没有尽可能的互通,需要代码层面各种翻文档,并且他们之间的账号管理有点复杂
标签:openId,扫码,微信,程序,用户,开放平台,公众,折腾 来源: https://blog.csdn.net/live4what/article/details/118615886