加入收藏 | 设为首页 | 会员中心 | 我要投稿 南昌站长网 (https://www.0791zz.cn/)- 终端安全、安全管理、数据治理、图像分析、大数据!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何微信小程序进行登陆从而提取用户信息

发布时间:2022-08-02 15:01:42 所属栏目:PHP教程 来源:互联网
导读:首先,小程序以js端调用框架登陆API,这样就可以获取到一个临时code,我们可 以拿着这个code去调用自己的服务端接口;另一方面在自己的服务器端,可以使 用app_id app_secrect code获取到用户的openid,这个id是用户唯一的id并且不 会改变,可以把这个id返回给
  首先,小程序以js端调用框架登陆API,这样就可以获取到一个临时code,我们可
  以拿着这个code去调用自己的服务端接口;另一方面在自己的服务器端,可以使
  用app_id app_secrect code获取到用户的openid,这个id是用户唯一的id并且不
  会改变,可以把这个id返回给小程序端小程序端本地保存openid。最重要的获取用
  户信息,不需要自己的服务器处理,只需要小程序端提供的API。前端页面wxml使
  用一个按钮,按钮里增加几个属性,就可以回调到小程序js部分的方法上,并且带
  着用户的个人信息,如昵称 头像等
        接下来可以把该用户的openid 和 昵称,头像,一块调用自己服务端接口,保存
  到数据库中
  以上是JS代码:
  index.js
   
   
  const app = getApp()
   
  Page({
    data: {
      openid:""
    },
    //按钮回调的方法
    getPerson:function(e){
      console.log(this.data.openid);
      console.log(e);
    },
    onLoad: function () {
      var self=this;
      wx.login({
        success(res) {
          //js调用登陆命令获取到code
          if (res.code) {
            //通过code调用自己服务接口获取到openid
            wx.request({
              url: 'https://api.sopans.com/third/wxOpenId.php',
              data: {
                code: res.code
              },
              success:function(wxInfo){
                console.log(wxInfo);
                self.data.openid = wxInfo.data.openid
              }
            })
          } else {
            console.log('登录失败!' + res.errMsg)
          }
        }
      })
    },
  })
   
  以下是wxml代码
  index.wxml
   
  <button open-type="getUserInfo" bindgetuserinfo="getPerson">获取用户信息</button>
   
          $appid = ''; // 小程序APPID
          $secret = ''; // 小程序secret
          $code=$_GET['code'];
          $url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' . $appid . '&secret='.$secret.'&js_code='.$code.'&grant_type=authorization_code';    
              
          $curl = curl_init();
          curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($curl, CURLOPT_TIMEOUT, 500);
          curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
          curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
          curl_setopt($curl, CURLOPT_URL, $url);
          $res = curl_exec($curl);
          curl_close($curl);
          
          echo $res; // 这里是获取到的信息

(编辑:南昌站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读