UserController.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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('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('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. return redirect('User/Login');
  55. }
  56. $data['uid'] = $request->session()->get('user_id');
  57. $data['username'] = $request->session()->get('username');
  58. $data['avatar'] = $request->session()->get('avatar');
  59. $response['code'] = 0;
  60. $response['info'] = $data;
  61. $response['msg'] = '获取成功';
  62. return response()->json($response);
  63. }
  64. /**
  65. * 绑定Socket
  66. */
  67. public function Bind(Request $request)
  68. {
  69. if(!$request->session()->has('user_id')){
  70. $user_id = uniqid();
  71. $request->session()->put('user_id', $user_id);
  72. }else{
  73. $user_id = $request->session()->get('user_id');
  74. }
  75. $client_id = $request->input('client_id');
  76. //注册地址
  77. Gateway::$registerAddress = '127.0.0.1:1238';
  78. // client_id与uid绑定
  79. Gateway::bindUid($client_id, $user_id);
  80. if($request->session()->has('room_id')){
  81. $room_id = $request->session()->get('room_id');
  82. Gateway::joinGroup($client_id, $room_id);
  83. }
  84. $response['code'] = 0;
  85. $response['msg'] = '服务连接成功';
  86. return response()->json($response);
  87. }
  88. }