MemberController.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Services\Api\MemberService;
  5. use Illuminate\Http\Request;
  6. /**
  7. * 会员管理
  8. * Class MemberController
  9. * @package App\Http\Controllers\Api
  10. */
  11. class MemberController extends webApp
  12. {
  13. /**
  14. * 信息
  15. * @return array
  16. */
  17. public function info()
  18. {
  19. $userId = request()->post('user_id', 0);
  20. $info = MemberService::make()->getInfo($userId ? $userId : $this->userId);
  21. if ($info) {
  22. return showJson(1010, true, $info);
  23. } else {
  24. return showJson(1004, false, [], '403');
  25. }
  26. }
  27. /**
  28. * 设置入口类型
  29. * @return array
  30. */
  31. public function setEntry()
  32. {
  33. $params = request()->all();
  34. if (!MemberService::make()->setEntry($this->userId, $params)) {
  35. return showJson(MemberService::make()->getError(), false);
  36. } else {
  37. return showJson(1013, true);
  38. }
  39. }
  40. /**
  41. * VIP列表
  42. * @return array
  43. */
  44. public function vipList()
  45. {
  46. $params = request()->all();
  47. $type = isset($params['type']) && $params['type']? $params['type'] : 1;
  48. $datas = MemberService::make()->getVipList($type);
  49. if ($datas) {
  50. return showJson(1010, true, $datas);
  51. } else {
  52. return showJson(1004, false);
  53. }
  54. }
  55. /**
  56. * 更新修改头像
  57. * @return array
  58. */
  59. public function setAvatar(Request $request)
  60. {
  61. // 上传单图统一调取方法
  62. ob_clean();
  63. $result = upload_image($request, 'file', 'avatar');
  64. if (!$result['success']) {
  65. return showJson($result['msg'], false, ['url' => '']);
  66. }
  67. // 文件路径
  68. $file_path = $result['data']['img_path'];
  69. if (!$file_path) {
  70. return showJson('上传失败', false, ['url' => '']);
  71. }
  72. // 网络域名拼接
  73. if ($file_path && strpos($file_path, IMG_URL) === false) {
  74. $file_path = get_image_url($file_path);
  75. }
  76. $avatar = $result['data']['img_path'];
  77. if (MemberService::make()->saveAvatar($this->userId, $avatar)) {
  78. return showJson(1013, true, ['url' => $file_path, 'path' => $avatar]);
  79. } else {
  80. return showJson(1014, false, ['url' => '']);
  81. }
  82. }
  83. /**
  84. * 修改账号信息
  85. * @return array
  86. */
  87. public function modify()
  88. {
  89. $params = request()->all();
  90. if (!MemberService::make()->modify($this->userId, $params)) {
  91. return showJson(MemberService::make()->getError(), false);
  92. } else {
  93. return showJson(1013, true);
  94. }
  95. }
  96. /**
  97. * 购买VIP
  98. * @return array
  99. */
  100. public function vipBuy()
  101. {
  102. try {
  103. $params = request()->all();
  104. if ($result = MemberService::make()->vipBuy($this->userId, $params)) {
  105. return showJson(MemberService::make()->getError(), true, $result);
  106. } else {
  107. return showJson(MemberService::make()->getError(), false);
  108. }
  109. } catch (\Exception $exception){
  110. $error = env('APP_DEBUG')? ['data'=>$exception->getTrace(),'err'=>$exception->getMessage()] : [];
  111. return showJson(1046, false, $error);
  112. }
  113. }
  114. }