UserApi.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Http\Api;
  3. use App\Models\UserInfo;
  4. use Illuminate\Support\Facades\Log;
  5. use Illuminate\Support\Facades\Storage;
  6. use Illuminate\Support\Facades\App;
  7. class UserApi{
  8. public static function getIdByName($name){
  9. return UserInfo::where('username',$name)->value('userid');
  10. }
  11. public static function getIdByUuid($uuid){
  12. return UserInfo::where('userid',$uuid)->value('id');
  13. }
  14. public static function getIntIdByName($name){
  15. return UserInfo::where('username',$name)->value('id');
  16. }
  17. public static function getById($id){
  18. $user = UserInfo::where('id',$id)->first();
  19. if($user){
  20. return [
  21. 'id'=>$id,
  22. 'uid'=>$user->userid,
  23. 'nickName'=>$user['nickname'],
  24. 'userName'=>$user['username'],
  25. 'realName'=>$user['username'],
  26. 'avatar'=>'',
  27. ];
  28. }else{
  29. Log::error('$user=null;$id='.$id);
  30. return [
  31. 'id'=>0,
  32. 'nickName'=>'unknown',
  33. 'userName'=>'unknown',
  34. 'realName'=>'unknown',
  35. 'avatar'=>'',
  36. ];
  37. }
  38. }
  39. public static function getByUuid($id){
  40. $user = UserInfo::where('userid',$id)->first();
  41. if($user){
  42. $data = [
  43. 'id'=>$id,
  44. 'nickName'=>$user['nickname'],
  45. 'userName'=>$user['username'],
  46. 'realName'=>$user['username'],
  47. ];
  48. if(!empty($user->role)){
  49. $data['roles'] = json_decode($user->role);
  50. }
  51. if($user->avatar){
  52. $img = str_replace('.jpg','_s.jpg',$user->avatar);
  53. if (App::environment('local')) {
  54. $data['avatar'] = Storage::url($img);
  55. }else{
  56. $data['avatar'] = Storage::temporaryUrl($img, now()->addDays(6));
  57. }
  58. }
  59. return $data;
  60. }else{
  61. Log::error('$user=null;$id='.$id);
  62. return [
  63. 'id'=>0,
  64. 'nickName'=>'unknown',
  65. 'userName'=>'unknown',
  66. 'realName'=>'unknown',
  67. 'avatar'=>'',
  68. ];
  69. }
  70. }
  71. }