1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace App\Modules\Pc\Controllers;
- use App\Base\BaseController;
- use App\Base\Validation\Phone;
- use App\Exceptions\ClientException;
- use App\Models\User\User;
- use App\Modules\Mini\Services\AuthService;
- use App\Modules\Mini\Services\CaptchaService;
- use App\Modules\Mini\Services\EmailService;
- use Illuminate\Support\Facades\Auth;
- class AuthController extends BaseController
- {
- public function emailCaptcha()
- {
- $params = $this->valid([
- "email" => "required|email",
- "source" => "required",
- ]);
- return $this->ok(app(EmailService::class)->emailCaptcha($params['email'], $params['source']));
- }
- public function profile()
- {
- /** @var User $user */
- $user = Auth::user();
- return $this->ok([
- "id" => $user->id,
- "token" => app(AuthService::class)->encryptToken($user->id),
- "name" => $user->name,
- "avatar" => $user->avatar,
- "company" => [
- "id" => optional($user->company)->id ?? 0,
- "name" => optional($user->company)->name ?? "",
- ],
- ]);
- }
- public function register()
- {
- $params = $this->valid([
- "email" => "required|email",
- "phone" => ["required", new Phone()],
- "password" => "required",
- "captcha" => "required",
- ]);
- if (!app(CaptchaService::class)->checkCaptcha($params['email'], $params['captcha'])) {
- throw new ClientException("验证码错误");
- }
- $user = app(AuthService::class)->register($params);
- return $this->ok([
- "token" => app(AuthService::class)->encryptToken($user->id),
- "name" => $user->name,
- "phone" => $user->phone,
- ]);
- }
- public function login()
- {
- $params = $this->valid([
- "userinfo" => "required",
- "password" => "required",
- ]);
- app(AuthService::class)->login($params);
- return $this->ok([
- "token" => "token",
- "name" => "",
- "phone" => "",
- ]);
- }
- public function resetPassword()
- {
- return $this->ok([
- "token" => "token",
- "name" => "",
- "phone" => "",
- ]);
- }
- }
|