微信公众号授权登录一(laravel)

 
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Validator;
use Session;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Http\Models\AdminuserModel;
use App\Http\Models\ConfigModel;
use Overtrue\Wechat\Auth;
use DB;
/**
 * 进行用户授权登录
 * @param Request $req
 * @return 跳转到过来的网页
 */
public function login(Request $req)
{
    if ($req->session()->get('user')) {
        return redirect('/home/index');
    }
    $auth = new Auth($this->wx_id,$this->wx_secect);
    $user = $auth->authorize();
    $req->session()->put('user', $user->all());
    $this->add_userinfo($req,$req->session()->get('user'));
    return back();
}
 
 /**
     * 增加用户信息
     * @param $info 用户的信息
     *
     */
    public function add_userinfo($req,$info)
    {
        $data = array(
            'openid' => $info['openid'],
            'nickname' => $info['nickname'],
            'create_time' => time(),
//            'province' => $info['province'],
//            'city' => $info['city'],
//            'sex' => $info['sex'],
            'headimgurl' => $info['headimgurl'],
            'status' => 0,//默认未关注公众号
        );
         $user_info = AdminuserModel::where('openid',$info['openid'])->first();
         if(empty($user_info->openid)){
             AdminuserModel::create($data);
             $user_info = AdminuserModel::where('openid',$info['openid'])->first();
             $user_id = $user_info->id;
             $req->session()->put('user_id',$user_id);
         }
    }

 

 

 

/**
 * 用户退出登录
 *
 */
public function logout(Request $req){
    $req->session()->forget('user');//清除session
    $req->session()->forget('user_id');
    echo 'logout ok';
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值