微信公众号开发

微信开放平台,公众平台,小程序,折腾起来了

本文主要是介绍微信开放平台,公众平台,小程序,折腾起来了,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

最近被这几个概念和各种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了,公众平台公众号相当于只是公司的一个推广账号。

其实有一点我是挺想吐槽的,就是公众平台,开放平台,小程序的数据之前看似可以互通,可是又没有尽可能的互通,需要代码层面各种翻文档,并且他们之间的账号管理有点复杂

这篇关于微信开放平台,公众平台,小程序,折腾起来了的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!