AuthService.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2023/11/23 20:57
  7. */
  8. namespace App\Http\Services\Admin;
  9. use App\Http\Services\BaseService;
  10. use App\Models\Admin;
  11. use App\Models\Menu;
  12. use App\Models\Role;
  13. use App\Models\RoleAuth;
  14. use App\Models\User;
  15. use Illuminate\Support\Facades\Auth;
  16. use Illuminate\Support\Facades\DB;
  17. class AuthService extends BaseService
  18. {
  19. public function login(array $data)
  20. {
  21. try {
  22. $token = (new TokenService())->setToken($data);
  23. } catch (\Exception $e) {
  24. $this->apiError('用户名或密码错误');
  25. }
  26. return $this->apiSuccess('登录成功!', $token);
  27. }
  28. public function logout()
  29. {
  30. (new TokenService())->logout();
  31. return $this->apiSuccess('退出成功!');
  32. }
  33. public function menus()
  34. {
  35. $user = (new TokenService())->user();
  36. $auth_ids = RoleAuth::whereIn('role_id', $user->roles)->pluck('auth_ids')->toArray();
  37. $menu_ids = explode(',',join(',', $auth_ids));
  38. // DB::enableQueryLog(); // 启用查询日志
  39. $data = Menu::query()->where('status', 1)
  40. ->whereIn('id', $menu_ids)
  41. ->oldest('sort')
  42. ->get()
  43. ->toArray();
  44. // $query = DB::getQueryLog(); // 获取查询日志
  45. $menu = $this->buildMenu($data);
  46. return $this->apiSuccess('', $menu);
  47. }
  48. }