微信公眾號授權登入一(laravel)
阿新 • • 發佈:2019-02-07
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'; }