login
This commit is contained in:
39
app/Http/Controllers/Base/BaseController.php
Normal file
39
app/Http/Controllers/Base/BaseController.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Base;
|
||||
|
||||
use App\Const\Responses;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
class BaseController extends Controller
|
||||
{
|
||||
public array $validateMethodParams = [];
|
||||
|
||||
function __call($method, $parameters)
|
||||
{
|
||||
if (isset($this->validateMethodParams[$method])) {
|
||||
request()->validate($this->validateMethodParams[$method]);
|
||||
}
|
||||
parent::__call($method, $parameters);
|
||||
}
|
||||
|
||||
function reply($code, $msg, $data = []): \Illuminate\Http\JsonResponse
|
||||
{
|
||||
return response()->json([
|
||||
'code' => $code,
|
||||
'msg' => $msg,
|
||||
'data' => $data,
|
||||
]);
|
||||
}
|
||||
|
||||
function success($data = []): \Illuminate\Http\JsonResponse
|
||||
{
|
||||
return $this->reply(Responses::CODE_SUCCESS, 'success', $data);
|
||||
}
|
||||
|
||||
function error($msg = 'error', $data = []): \Illuminate\Http\JsonResponse
|
||||
{
|
||||
return $this->reply(Responses::CODE_ERROR, $msg, $data);
|
||||
}
|
||||
|
||||
}
|
||||
7
app/Http/Controllers/Base/CustomerBaseController.php
Normal file
7
app/Http/Controllers/Base/CustomerBaseController.php
Normal file
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
namespace App\Http\Controllers\Base;
|
||||
|
||||
class CustomerBaseController extends BaseController
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, ValidatesRequests;
|
||||
}
|
||||
108
app/Http/Controllers/Customer/CustomerUserController.php
Normal file
108
app/Http/Controllers/Customer/CustomerUserController.php
Normal file
@ -0,0 +1,108 @@
|
||||
<?php
|
||||
namespace App\Http\Controllers\Customer;
|
||||
|
||||
use App\Http\Controllers\Base\CustomerBaseController;
|
||||
use App\Models\Customer\CustomerUser;
|
||||
use App\Service\AuthService;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\ValidatedInput;
|
||||
|
||||
class CustomerUserController extends CustomerBaseController
|
||||
{
|
||||
public array $validateMethodParams = [
|
||||
'signIn' => [
|
||||
'username' => 'required|alpha_dash:ascii|max:50',
|
||||
'password' => 'required|alpha_dash:ascii|max:50',
|
||||
'device' => 'required|alpha_dash:ascii|max:10',
|
||||
],
|
||||
];
|
||||
|
||||
function signIn(): \Illuminate\Http\JsonResponse
|
||||
{
|
||||
$request = request();
|
||||
$username = $request->input('username');
|
||||
$password = $request->input('password');
|
||||
$device = $request->input('device');
|
||||
|
||||
$oCustomerUser = new CustomerUser();
|
||||
$oUser = $oCustomerUser->findItemByUsername($username);
|
||||
|
||||
if (!$oUser) {
|
||||
return $this->error('用户名不存在');
|
||||
}
|
||||
|
||||
if (!$oCustomerUser->checkPasswd($oUser->id,$password)) {
|
||||
return $this->error('密码错误');
|
||||
}
|
||||
|
||||
$oAuthService = new AuthService();
|
||||
$token = $oAuthService->createTokenToUser($oUser->id,$device);
|
||||
|
||||
$data = [
|
||||
'token' => $token,
|
||||
'user' => [
|
||||
'id' => $oUser->id,
|
||||
'username' => $oUser->username,
|
||||
'nickname' => $oUser->nickname,
|
||||
'is_google_auth' => $oUser->is_google_auth,
|
||||
'created_at' => $oUser->created_at,
|
||||
'updated_at' => $oUser->updated_at,
|
||||
],
|
||||
];
|
||||
|
||||
return $this->success($data);
|
||||
|
||||
}
|
||||
|
||||
function signOut(): \Illuminate\Http\JsonResponse
|
||||
{
|
||||
$oAuthService = new AuthService();
|
||||
$token = $oAuthService->getTokenFromReq();
|
||||
$aUser = $oAuthService->getCurrentUser();
|
||||
$oAuthService->delTokenToUser($aUser['uid'],$token);
|
||||
return $this->success();
|
||||
}
|
||||
|
||||
function register()
|
||||
{
|
||||
$request = request();
|
||||
$username = $request->input('username');
|
||||
$password = $request->input('password');
|
||||
$device = $request->input('device');
|
||||
|
||||
$oCustomerUser = new CustomerUser();
|
||||
$oUser = $oCustomerUser->findItemByUsername($username,['id']);
|
||||
|
||||
if ($oUser) {
|
||||
return $this->error('用户名已存在');
|
||||
}
|
||||
|
||||
$oUser = $oCustomerUser->addUser([
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
'nickname' => $username,
|
||||
]);
|
||||
|
||||
if (!$oUser) {
|
||||
return $this->error('注册失败');
|
||||
}
|
||||
|
||||
$oAuthService = new AuthService();
|
||||
$token = $oAuthService->createTokenToUser($oUser->id,$device);
|
||||
|
||||
$data = [
|
||||
'token' => $token,
|
||||
'user' => [
|
||||
'id' => $oUser->id,
|
||||
'username' => $oUser->username,
|
||||
'nickname' => $oUser->nickname,
|
||||
'is_google_auth' => $oUser->is_google_auth,
|
||||
'created_at' => $oUser->created_at,
|
||||
'updated_at' => $oUser->updated_at,
|
||||
],
|
||||
];
|
||||
|
||||
return $this->success($data);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user