阿牛博客

获取openId及openId与UnionID——微信相关的一些开发经验2

1.openId和UnionID

openId和UnionID的定义概念经常被搞混,所以有必要先整体说明一下: openId跟微信公众号有关,同一个微信用户对同一个微信公众号产生的openId是一样的,即同一微信用户进入不同的公众号产品的openId是不一样的
UnionID跟企业认证账号有关,一个企业认证账号可以注册5个微信公众平台账号,同一微信用户对这5个微信公众平台账号下的openid不同但是UnionID是一样的;
然后下面这段官文就很好理解了:
为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID,可以在用户管理-获取用户基本信息(UnionID机制)文档了解详情。

1-1.获取openid

说一下我们实际项目中获取openid的步骤方法吧:
比如页面地址是这样的:http://testws.xingmeihui.com/smilife/#/GoodsDetails/10357?test=123

步骤一:前端先传当前url(需要encodeURIComponent)给后端(获取code的一个接口),然后后端返回微信的跳转地址

这个地方也可以前端缓存一个appid,然后前端自己拼接微信地址跳转,因为appid相对稳定不会变来变去。

步骤二:前端跳转微信,微信再带上code跳回来;

步骤三:前端取出地址栏的code,传给后端获取openid的接口,后端接口返回用户openid(同一个微信用户对应同一个公众号openid是不会变的,所以可以直接把openid缓存起来,后面就不用再去获取了)

接下来上干货代码:

获取openid后,就可以开发很多功能了,比如微信自动登录(自动生成绑定项目用户),微信支付等等,后面的文章会有介绍,敬请期待!

给个赞() 踩一下()

温馨提示:本站文章除注明转载外,均为原创文章,会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,避免陈旧错误知 识的误导,同时有更好的阅读体验。

本文链接: http://aniublog.com/archives/400

上一篇: 各种授权域名目录及SPA ios端title不生效的解决方案——微信相关的一些开发经验1 » 下一篇: 超实用的浏览器终端判断方法~ »