<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ``` <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\BaseController; use Illuminate\Support\Facades\Auth; use Carbon\Carbon; use App\Models\User; use Validator; class UserController extends BaseController { /** * 注冊 * @author Neo * @param Request $request 請求 * @return mixed */ public function register(Request $request) { // 驗證參數 $validator = Validator::make($request->all(), [ 'name' => 'required|string', 'email' => 'required|string|email', 'password' => 'required|string|confirmed', ]); if ($validator->fails()) { return response()->json(['failed' => [],'status' => 'error', 'message' => '格式錯誤']); } // 字符@讓name和email獲得唯一性,可用name或者email做登錄, // 日后加入電話號碼,再分1.電話和2.用戶名/郵箱的輸入框 $nameStr = strstr(request('name'), '@'); if($nameStr) { return response()->json(['status' => 'success', 'code'=> 201, 'message' => '用戶名不可有@字符']); } $name = User::where('name', request('name'))->first(); if(!empty($name)) { return response()->json(['status' => 'success', 'code'=> 201, 'message' => '用戶名已經存在']); } $email = User::where('email', request('email'))->first(); if(!empty($email)) { return response()->json(['status' => 'success', 'code'=> 202, 'message' => '郵箱已經存在']); } // 創建新用戶 try { $user = new User(); $user->name = request('name'); $user->email = request('email'); $user->password = app('hash')->make(request('password')); if ($user->save()) { return $this->login($request); } } catch (\Exception $e) { return response()->json(['status' => 'error', 'message' => $e->getMessage()]); } } /** * 登錄 * @author Neo * @param Request $request 請求 * @return mixed */ public function login(Request $request) { $validator = Validator::make($request->all(), [ 'username' => 'required|string', 'password' => 'required|string', 'remember_me' => 'boolean', ]); if ($validator->fails()) { return response()->json(['failed' => [],'status' => 'error', 'message' => '格式錯誤']); } $user = User::where('name', request('username'))->first(); if(empty($user)) { return response()->json(['status' => 'success', 'code'=> 202, 'message' => '用戶名和郵箱還沒有注冊']); } else { $credentials['email'] = $user->email; $credentials['password'] = request('password'); } if(!Auth::attempt($credentials)) return response()->json([ 'message' => 'Unauthorized' ], 401); $user = $request->user(); $tokenResult = $user->createToken('Personal Access Token'); $token = $tokenResult->token; if ($request->remember_me) { $token->expires_at = Carbon::now()->addWeeks(1); } $token->save(); $data = [ 'status' => true, 'userId' => $user['id'], 'username' => $user['name'], // 'accessToken' => $tokenResult->accessToken, 'token' => $tokenResult->accessToken, 'tokenType' => 'Bearer', 'expiresAt' => Carbon::parse( $tokenResult->token->expires_at )->toDateTimeString(), ]; return response()->json([ 'code' => 200, 'message' => '登錄成功', 'data' => $data ]); } /** * 登出 * @author Neo * @param Request $request 請求 * @return mixed */ public function logout(Request $request) { try { auth()->user()->tokens()->each(function ($token) { $token->delete(); }); return response()->json(['status' => 'success', 'message' => '登出成功']); } catch (\Exception $e) { return response()->json(['status' => 'error', 'message' => $e->getMessage()]); } } /** * 用戶數據 * @author Neo * @param Request $request 請求 * @return mixed */ public function info(Request $request) { return response()->json($request->user()); } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看