微信小程序 (tp5之授权登录)

微信小程序 授权登陆PHP tp5框架_孤单的时候狗作陪!的博客-CSDN博客

HTML页面

<button open-type="getUserInfo" bindtap="login" wx:if="{{ showThis }}">授权登录</button>

<image src="/pages/image/2.png" style="width: 150rpx;height: 150rpx;padding-left: 300rpx;" wx:if="{{ pic }}"></image>

<text>\r\n</text>

<text wx:if="{{ pic }}" style="padding-left: 330rpx;">姓名</text>



JS:解说

// pages/login/login.js

Page({

    // 页面的初始数据

    data: {

        showThis:true,

        pic:false

    },

    onLoad: function (options) {

    },

    login(){

        //通过wx.getUserProfile弹出授权框

        let that = this;

        wx.getUserProfile({

          desc: 'desc',

          success:res=>{

            //通过wx.login获取code

            wx.login({

              success:d=>{

                let code = d.code;

                //发送ajax请求,并将code携带过去

                wx.request({

                  url: 'http://www.weekpic.com/loginDo',

                  data:{code:code},

                  success:function(r){

                        if(r.data.code==200)

                        {

                            let id=r.data.data.id;

                            let token=r.data.data.token;

                            wx.setStorage({

                                key:"uid",

                                data:id

                              })

                              that.setData({

                                  showThis:false,

                                  pic:true

                              })

                              wx.setStorage({

                                key:"token",

                                data:token

                              })

                            wx.showToast({

                              title: '登录成功!',

                            })

                            wx.switchTab({

                              url: '/pages/type/type',

                            })

                        }

                  }

                })

              }

            })

          },

          fail:res=>{

            wx.showToast({

              title: "授权失败",

            })

          }

        })

      }

})



php解说:


public function loginDo(Request $request)
   {
        $code=$request->get('code');
        $SECRET="";//SECRET
        $APPID="";//appid
        $url="https://api.weixin.qq.com/sns/jscode2session?appid=$APPID&secret=$SECRET&js_code=$code&grant_type=authorization_code";
        $url=json_decode(file_get_contents($url,true),true);

        $findRes=login::where('appid',$APPID)->find();

        if($findRes)
        {
             $token=Token::createToken(1);
                $data=[
                    'token'=>$token,
                    'id'=>$findRes['id']
                ];
             return ['code'=>200,'msg'=>'success','data'=>$data];
        }
        $createRes=login::create(['appid'=>$APPID]);
        if($createRes)
        {
//             $token=Token::createToken($createRes['id']);
                $data=[
                    'token'=>$token,
                    'id'=>$createRes['id']
                ];
             return ['code'=>200,'msg'=>'success','data'=>$data];
        }
   }

                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值