UserController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. namespace App\Http\Controllers\V1;
  3. use App\Models\User;
  4. use App\Models\UserFeedback;
  5. use App\Services\Api\SortService;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Validator;
  8. class UserController extends Controller
  9. {
  10. public function __construct()
  11. {
  12. $this->user = auth('api')->user();
  13. $this->userId = $this->user ? $this->user->id : 0;
  14. //如果用户被删除,会自动退出登录
  15. if (!empty($this->user->deleted_at)) {
  16. $this->user->online = 0;
  17. $this->user->save();
  18. auth('api')->logout();
  19. }
  20. }
  21. //问题反馈
  22. public function feedback(Request $request)
  23. {
  24. $content = $request->input('content');
  25. $file_url = $request->input('file_url', '');
  26. $validator = Validator::make($request->all(), [
  27. 'content' => 'required|min:2|max:200',
  28. ]);
  29. if($validator->fails()){
  30. return $this->error($validator->errors()->first());
  31. }
  32. $feedback = new UserFeedback();
  33. $feedback->user_id = $this->userId;
  34. $feedback->content = $content;
  35. $feedback->file = !empty($file_url) ? json_encode($file_url) : '';
  36. $feedback->save();
  37. return $this->success();
  38. }
  39. //按照首字母进行分组排序,类似手机通讯录(注意:get()后面直接 ->toArray()在数据为空的时候导致报错)
  40. public function groupByInitial(Request $request)
  41. {
  42. $keyword = $request->input('keyword', '');
  43. $list = User::query()
  44. ->select('id', 'name', 'avatar')
  45. ->when($keyword, function ($query, $keyword){
  46. $query->where('name', 'like', '%'.$keyword.'%');
  47. })
  48. ->whereNotNull('name')
  49. ->whereNull('deleted_at')
  50. ->get();
  51. if($list->isNotEmpty()){
  52. $list = $list->toArray();
  53. $list = SortService::getResultList($list);
  54. }else{
  55. $list = [];
  56. }
  57. return $this->success($list);
  58. }
  59. // h5 绑定
  60. public function h5Bind()
  61. {
  62. }
  63. // h5 解绑
  64. public function h5ReBind()
  65. {
  66. }
  67. // 微信小程序 绑定
  68. public function miniProgramBind()
  69. {
  70. }
  71. // 微信小程序 解绑
  72. public function miniProgramReBind()
  73. {
  74. }
  75. // 手机号 绑定
  76. public function smsBind()
  77. {
  78. }
  79. // 手机号 解绑
  80. public function smsReBind()
  81. {
  82. }
  83. }