关于微信小程序获取unionid的问题

先来看一段微信小程序对于unionid介绍


如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。
同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。

第一步准备

微信开放平台绑定微信公众号和小程序

第二步准备

相同主体:

进入微信公众号点击右上角小人查看资料中 的 帐号主体 需要和小程序微信公众平台 设置—>基本设置中的 帐号主体 保持一致

第三步准备

公众号和小程序同时绑定开发者账号

第四部

最坑的一句话 开发者可以直接通过wx.login获取到该用户UnionID

这句话根本就不是简单的使用 wx.login就可以获取到 UnionID ,还是需要服务器端配合的 , ( 这文档写的有点让人误会 )

wx.login({
      success: res => {
        let JSCODE = res.code    //获取微信code
        wx.request({
          url: 'https://XX.XXX.com.cn/XXXX',          //项目服务器 ( 需要添加到小程序服务器一栏 )
          header: { 'content-type': 'application/x-www-form-urlencoded' },
          method: 'POST',
          data: {
            code: JSCODE,           //将code传给服务器(因为需要服务器去拿openid和unionid)
            sign: 'XXXXX'           //你自己需要的其他参数
          },
          success: function (respotion) {
            let res = respotion.data;
            if (res.status == 'ok'){
              console.log(res)
              console.log('获取数据成功')
            } else if (res.status == 'error'){
              console.log(res.data)
            }
          }
        })
      }
    })

第五步服务器获取 openid和unionid

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

需要四个参数

这里写图片描述

返回结果

这里写图片描述

最后总结一下

api.weixin.qq.com 这个域名在前端是不能直接调用的 , 因为小程序服务器不能添加这个
域名, 不要看网上是直接调用这个接口
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值