PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > HBuilderX教程 > 正文

    uni-app微信小程序登录授权(前端+后端)

    作者:admin来源:网络浏览:时间:2021-07-29 11:16:51我要评论
    导读:首先我们要了解在开发项目的时候你需要哪些参数,微信小程序登录过程中我们需要用户唯一标识,和一些用户信息,主要用到wx.login()和wx.get...
    首先我们要了解在开发项目的时候你需要哪些参数,微信小程序登录过程中我们需要用户唯一标识,和一些用户信息,主要用到wx.login()和wx.getUserInfo()两个接口。
    获取唯一标识这一步需要后端配合,也就是在你点击登录的时候把需要后端需要的数据传过去就可以了。具体看代码:

    1. <button @click="login"></button> 
    2.  
    3. login(){ 
    4.     var self=this
    5.     uni.showLoading({ 
    6.         mask:true
    7.         title: '正在登录···'
    8.         complete:()=>{} 
    9.     }); 
    10.     uni.login({ 
    11.       provider: 'weixin'
    12.       success: function (loginRes) { 
    13.         let js_code=loginRes.code;//js_code可以给后台获取unionID或openID作为用户标识 
    14.         // 获取用户信息 
    15.         uni.getUserInfo({ 
    16.           provider: 'weixin'
    17.           success: function (infoRes) { 
    18.             //infoRes里面有用户信息需要的话可以取一下 
    19.             let username=infoRes.userInfo.nickName;//用户名 
    20.             let gender=infoRes.userInfo.gender;//用户性别 
    21.             let formdata={code:js_code,username:username,sex:gender}; 
    22.             //login是接口地址,看下面PHP代码 
    23.             self.$go.post("/login",formdata).then(res=>{//这是我封装的请求方法 
    24.                 if(res.code==200){ 
    25.                     //登录成功 
    26.                 } 
    27.             }) 
    28.           }, 
    29.           fail:function(res){} 
    30.         }) 
    31.       }, 
    32.       fail:function(res){} 
    33.     }) 

    后台php接口示例,仅供参考,一定要理清逻辑

    1. /** 
    2.     * 小程序登录 
    3.     *  code 登录时获取的 code 
    4.     *  username 用户名 
    5.     *  sex 用户性别 
    6.     */ 
    7.     public function login(){//使用的tp5框架 
    8.         $appid = 'wxxxxxxxx';//微信小程序appid 
    9.         $secret = '211kdshsakdxxxxxxxxx1h2k';//微信小程序secret 
    10.         $code = input('code');//接收code参数,换取用户唯一标识 
    11.         $username = input('username');//接收用户名 
    12.         $sex = input('sex');//接收用户性别 
    13.         //下面url是请求微信端地址获取用户唯一标识的,对应的appid和secret改成自己的 
    14.         $url="https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$secret."&js_code=".$code."&grant_type=authorization_code"
    15.         $res = $this->https_request($url);//https_request是封装的发送请求的方法 
    16.         $res = json_decode($res,true);//将返回结果JSON化 
    17.         if(isset($res['errcode'])){ 
    18.              //如果请求微信那边报错,就返回前端报错信息 
    19.         }else
    20.             //请求微信那边成功,获取unionid,先判断数据库有没有 
    21.             $user = db('user')->where(array('unionid'=>$res['unionid']))->find(); 
    22.             if(empty($user)){ 
    23.                 //如果没有就将用户信息插入到数据库,这里就不做演示了。 
    24.             }else
    25.                 //存在用户就返回登陆成功 
    26.             } 
    27.         } 


     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-146-6591-1.html
    相关热词搜索: uni-app微信小程序