1. 程式人生 > >微信公眾號授權登入一(laravel)

微信公眾號授權登入一(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';
}