绑定了开发者帐号的小程序,可以通过下面 4 种途径获取 UnionID。
调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。
如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次授权。
如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。
小程序端调用云函数时,当满足 UnionID 获取条件时可在云函数中通过 cloud.getWXContext 获取 UnionID
文档给到有4个条件,针对于第3条不理解,意思是说:①用户只要登录过一次同主体的公众号或移动应用,不管多久之前登录的 ,小程序这个接口都能拿到UnionID ;还是说:②用户最近登录过同主体的公众号,还在授权期内才能拿到?(微信用户授权登录一次,一段时间内不需要再次授权,我理解为授权期)
如果是①的话,只要code2session接口没有返回UnionID就能说明:用戶从来没有授权登录过同主体的公众号或移动应用