场景
使用uni app开发微信小程序,但是需要与之前的公众号进行用户关联。考虑到用户的唯一性,后端采用“UnionID”作为唯一标识。
【UnionID获取途径】
- 调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。
- 如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次授权。
- 如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。
步骤
1、由于业务需求,进入小程序的场景有两种:直接进入小程序和扫描普通二维码进入小程序,所以我这里首先需要先做一些前置处理。
2、小程序中进行公众号跳转授权
-
小程序中使用webView嵌套一个授权公众号的H5页面;
<web-view :src="webSrc"></web-view> onLoad() { this.webSrc = `${ _config.AUTH_URL}?appid=${ _config.APP_ID}`; }
//授权的h5页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title></title> <style>