家政小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

UserController.php 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Cache;
  5. use App\User;
  6. class UserController extends Controller
  7. {
  8. /**
  9. * @param Request $request
  10. * @return \Illuminate\Http\JsonResponse
  11. */
  12. public function login(Request $request) {
  13. $name = $request->input("name");
  14. $password = $request->input("password");
  15. if($name && $password) {
  16. $user = User::where("name", $name)->where("password", md5($password))->first();
  17. if($user) {
  18. $token = md5($user->name . mt_rand());
  19. //$request->session()->put($token, $user);
  20. Cache::put($token, $user, 60 * 24);
  21. return response()->json([
  22. "status" => 0,
  23. "token" => $token,
  24. "role" => $user->role
  25. ]);
  26. } else {
  27. return response()->json([
  28. "status" => -2,
  29. "message" => "用户不存在或密码错误"
  30. ]);
  31. }
  32. } else {
  33. return response()->json([
  34. "status" => -1,
  35. "message" => "信息不能为空"
  36. ]);
  37. }
  38. }
  39. /**
  40. * @param Request $request
  41. */
  42. public function logout(Request $request) {
  43. $token = $request->header("Authorization");
  44. if($token) {
  45. $token = trim($token);
  46. $token = str_replace("Bearer ", "", $token);
  47. if ($request->session()->has($token)) {
  48. $request->session()->forget($token);
  49. return response()->json([
  50. "status" => 0,
  51. "message" => "登出成功"
  52. ]);
  53. }
  54. }
  55. }
  56. }