laravel8 +微信小程序静默登录

1.小程序app.js onLaunch()方法中插入

    let token = wx.getStorageSync('token')
    if (!token) {
      wx.login({
        success:ret=>{
          let code = ret.code
          wx.request({
            url: 'http://www.zy.com/api/wxlogin',
            method:"POST",
            data:{code},
            success:res=>{
              console.log(res.data);
              wx.setStorageSync('token', res.data.data)
            }
          })
        }
      })
    }

2.后台代码

/**
     * 微信静默登录
     */
    public function wxLogin(Request $request)
    {
        $code = $request->post('code');
        $appid = '**********';
        $appSecret= '**********';
        $url = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$appSecret&js_code=$code&grant_type=authorization_code";
        $res = json_decode(file_get_contents($url), true);  //返回openid,session_key
        $getUserInfo = User::where('openid',$res['openid'])->first();
        if ($getUserInfo) {
            $userId = $getUserInfo->id;
        } else {
            $create['openid'] = $res['openid'];
            $create['session_key'] = $res['session_key'];
            $result = User::create($create);
            $userId = $result->id;
        }
        $token=JwtService::createToken($userId);
        return ['code'=>200,'msg'=>'ok','data'=>$token];
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值