UserController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace App\Home\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use GatewayWorker\Lib\Gateway;
  6. class UserController extends Controller
  7. {
  8. /**
  9. * 用户首页
  10. */
  11. public function Index(Request $request)
  12. {
  13. if(!$request->session()->has('user_id')){
  14. return redirect('Home/User/Login');
  15. }
  16. return view('home.user');
  17. }
  18. /**
  19. * 登陆页面
  20. */
  21. public function Login(Request $request)
  22. {
  23. if($request->session()->has('user_id')){
  24. return redirect('Home/User/Index');
  25. }
  26. return view('home.login');
  27. }
  28. /**
  29. * 登陆
  30. */
  31. public function doLogin(Request $request)
  32. {
  33. if(!$request->session()->has('user_id')){
  34. $user_id = uniqid();
  35. $request->session()->put('user_id', $user_id);
  36. }else{
  37. $user_id = $request->session()->get('user_id');
  38. }
  39. $username = $request->input('username');
  40. $user_id = $request->session()->get('user_id');
  41. $request->session()->put('username', $username);
  42. $avatar = rand(1,4);
  43. $request->session()->put('avatar', "/img/tx{$avatar}.jpg");
  44. $response['code'] = 0;
  45. $response['msg'] = '登陆成功';
  46. return response()->json($response);
  47. }
  48. /**
  49. * 获取用户信息
  50. */
  51. public function Info(Request $request)
  52. {
  53. if(!$request->session()->has('user_id')){
  54. $response['code'] = 400;
  55. $response['msg'] = '请先登录';
  56. return response()->json($response);
  57. }
  58. $data['user_id'] = $request->session()->get('user_id');
  59. $data['username'] = $request->session()->get('username');
  60. $data['avatar'] = $request->session()->get('avatar');
  61. $response['code'] = 0;
  62. $response['info'] = $data;
  63. $response['msg'] = '获取成功';
  64. return response()->json($response);
  65. }
  66. /**
  67. * 绑定Socket
  68. */
  69. public function Bind(Request $request)
  70. {
  71. if(!$request->session()->has('user_id')){
  72. $response['code'] = 400;
  73. $response['msg'] = '请先登录';
  74. return response()->json($response);
  75. }
  76. $user_id = $request->session()->get('user_id');
  77. $client_id = $request->input('client_id');
  78. //注册地址
  79. Gateway::$registerAddress = '127.0.0.1:1238';
  80. // client_id与uid绑定
  81. Gateway::bindUid($client_id, $user_id);
  82. if($request->session()->has('room_id')){
  83. $room_id = $request->session()->get('room_id');
  84. Gateway::joinGroup($client_id, $room_id);
  85. }
  86. $response['code'] = 0;
  87. $response['msg'] = '服务连接成功';
  88. return response()->json($response);
  89. }
  90. }