微信开放平台、公众号和小程序的总结

2,118 阅读3分钟
原文链接: www.jianshu.com
头图

最近接到企业微信和个人微信相关项目的开发,其中涉及到公众号、小程序、openID和unionID相关的知识点。之前我只是了解大致的关系和流程,并不是特别精通其中原理。借此机会,我把这部分信息整理总结,同时也分享给我的战友(产品经理周少爷)。

微信体系介绍

微信开放平台下属支持移动应用、网站应用、公众账号、小程序、第三方平台。微信开放平台有独立的登录账号和主体。

界面截图
  • 移动应用:如果iOS、Android或者WP的APP需要支持微信的分享、支付、登录等等微信功能,就需要在移动应用区域创建和配置APP信息。iOS配置Bundle ID、Android配置Package Name
  • 网站应用:类似移动应用,如果网站需要使用微信的登录等微信功能,就需要在网站应用区域创建和配置网站信息。
  • 公众账号:微信开放平台也可以绑定多个微信公众号(PS:相同主体:上限50个,绑定次数不限。不同主体:上限5个,本月还可以绑定5次。),无论微信公众号主体是否和微信开放平台主体一致。
  • 小程序:类似公众账号,微信开放平台也可以绑定多个微信小程序(PS:相同主体:上限50个,绑定次数不限。不同主体:上限5个,本月还可以绑定5次。),无论微信小程序主体是否和微信开放平台主体一致。
  • 第三方平台:公众平台第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台(并且可以同时授权给多家第三方),通过第三方平台来完成业务,开放给所有通过开发者资质认证后的开发者使用。(我暂时未使用过这类型)
    微信开放平台就类似下面的体系架构图
微信体系架构图

公众号 A和开放平台主体一致,公众号 B和公众号 A及开放平台主体都不一致。 小程序 A和开放平台主体一致,小程序 B和公众号 A及开放平台主体都不一致。

OpenID和UnionID

OpenID当用户(关注者)使用微信小程序(和微信公众号交互)时候,微信小程序(微信公众号)可以获得用户(关注者)的OpenID。

每个用户对每个微信公众号的OpenID是唯一的。
OpenID是每个微信公众号加密微信号后的结果
对于不同微信公众号,同一用户的OpenID不同

如何获取UnionID?
小程序和公众号需要绑定到微信开放平台,获取用户信息时才能等到UnionID,否则无法获取。换句话说UnionID是微信开放平台加密微信号的结果。
由此可见,只要是同一个微信开放平台账号下的移动应用、网站应用和公众帐号,用户的OpenID是不同的,但是UnionID是唯一的