小程序获取unionid

31次阅读

共计 1671 个字符,预计需要花费 5 分钟才能阅读完成。

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

微信开放平台需要认证 (300)

然后进行相关的绑定, 绑定时需要相关账号的原始管理者进行扫码绑定

小程序也是一样操作

小程序获取 unionID

<button hidden="{{is_login}}" class='bottom' type='primary' open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="bindGetUserInfo" style='width:100px'>
          登录 </button>
bindGetUserInfo: function (e) {if (e.detail.userInfo) {
      // 用户按了允许授权按钮
      var that = this;
      // 插入登录的用户的相关信息到数据库
      var openid = getApp().globalData.openid;
      var session = getApp().globalData.session
      getApp().globalData.userInfo = e.detail.userInfo;
      // 通过 wx.login 获取 code  想要获取用户信息, 必须登录
      wx.login({success:  function(res){if(res.code){
                  var code = res.code;
                  // 获取 encryptedData  iv
                  wx.getUserInfo({
                    withCredentials: true,
                    success: function(res2){
                      // 请求自己的登录接口
                        wx.request({
                          url: config.api_base_url + 'login',
                          data: {
                            userinfo: e.detail.userInfo,
                            openid: openid,
                            encryptedData:res2.encryptedData,
                            iv:res2.iv,
                            session:session
                          },
                          header: {'content-type': 'application/json' // 默认值},
                          method: 'post',
                          success(res) {if (res.data.result == 1) {wx.setStorageSync('user', res.data.msg);
                              that.onLoad();
                              that.setData({is_login:true})
                              
                            } else {console.log("写入失败")
                            }
                          }
                        })
                    }
                  })
          }else{console.log('获取用户登录态失败!'+res.errMsg);
          }
        }
      })
      
    return ;
      
      // 授权成功后,跳转进入小程序首页
    } else {
      // 用户按了拒绝按钮
      wx.showModal({
        title: '警告',
        content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!',
        showCancel: false,
        confirmText: '返回授权',
        success: function (res) {if (res.confirm) {console.log('用户点击了“返回授权”')
          }
        }
      })
    }
  },
 后端
这里使用的 tp5.1+easywechat4
use EasyWeChat\Factory;
$miniProgram = Factory::miniProgram($this->config);
$decryptedData = $miniProgram->encryptor->decryptData($userinfo['session'],$userinfo['iv'],$userinfo['encryptedData']);
$data['unionid']= $decryptedData['unionId'];
      
      

高颜值后台管理系统免费使用 ### 子枫后台管理系统 ###,可在宝塔面板直接安装

欢迎关注我的公众号:子枫的奇妙世界,获得独家整理的学习资源和日常干货推送。
如果您对我的其他专题内容感兴趣,直达我的个人博客:www.wangmingchang.com。

正文完
 0