UserController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Http\Controllers\Api\mini;
  3. use App\Models\User;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Auth;
  6. use Illuminate\Support\Facades\Hash;
  7. class UserController extends BaseController
  8. {
  9. protected $model;
  10. public function __construct()
  11. {
  12. $this->model = new User();
  13. }
  14. public function search(Request $request)
  15. {
  16. $items = $this->model;
  17. $tmp_items = collect(['keyword']);
  18. foreach($tmp_items as $tmp_item) {
  19. if($request->has($tmp_item) && !empty($request->input($tmp_item))) {
  20. $items = $items->where('name', 'like', '%' . $request->input($tmp_item) . '%')->orWhere('phone', 'like', '%' . $request->input($tmp_item) . '%');
  21. }
  22. }
  23. $select_items = collect(['id']);
  24. foreach($select_items as $tmp_item) {
  25. if($request->has($tmp_item) && !empty($request->input($tmp_item))) {
  26. $items = $items->where($tmp_item, '=', $request->input($tmp_item));
  27. }
  28. }
  29. $items = $items->limit(1)->get();
  30. foreach($items as $item) {
  31. $item->project = $item->projects->implode('name', ',');
  32. $item->project = $item->project ? $item->project : '暂未添加项目';
  33. $item->role = $item->project_roles->implode('name', ',');
  34. $item->role = $item->role ? $item->role : '暂未添加角色';
  35. }
  36. return $this->success(['msg' => '操作成功', 'data' => $items]);
  37. }
  38. public function update(Request $request)
  39. {
  40. $user = Auth::guard('mini')->user();
  41. $user->update($request->only('avatar', 'name', 'phone'));
  42. return $this->success(['data' => $user]);
  43. }
  44. public function changePassword(Request $request)
  45. {
  46. $user = Auth::guard('mini')->user();
  47. if(!$user) return $this->error(['msg' => '找不到用户']);
  48. if(Hash::check($request->input('new'), $user->password)) {
  49. $res = $user->update(['password' => bcrypt($user->password)]);
  50. if($res) return $this->success();
  51. }
  52. return $this->error(['msg' => '原密码错误']);
  53. }
  54. }