UserController.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: zilongs
  5. * Date: 20-9-23
  6. * Time: 上午11:36
  7. */
  8. namespace App\Http\Controllers\Api\V1;
  9. use App\Models\User;
  10. use App\Models\UserBalanceLog;
  11. use EasyWeChat\Factory;
  12. class UserController extends AuthController
  13. {
  14. public function userInfo()
  15. {
  16. $user = $this->user;
  17. unset($user['session_key']);
  18. return out($user);
  19. }
  20. public function getPhoneNumber()
  21. {
  22. $req = request()->post();
  23. $this->validate(request(), [
  24. 'iv' => 'required',
  25. 'encryptData' => 'required',
  26. ]);
  27. $user = $this->user;
  28. $app = Factory::miniProgram(config('config.wechat_small_program'));
  29. try {
  30. $decryptedData = $app->encryptor->decryptData($user['session_key'], $req['iv'], $req['encryptData']);
  31. } catch (\Exception $e) {
  32. return out(null, 10001, '获取手机号失败', $e->getMessage());
  33. }
  34. return out($decryptedData);
  35. }
  36. public function updateUser()
  37. {
  38. $req = request()->post();
  39. $this->validate(request(), [
  40. 'nickname' => 'max:100',
  41. 'avatar' => 'url',
  42. 'sex' => 'in:1,2',
  43. 'birthday' => 'date',
  44. 'latitude' => 'numeric',
  45. 'longitude' => 'numeric',
  46. ]);
  47. $user = $this->user;
  48. User::where('id', $user['id'])->update($req);
  49. return out();
  50. }
  51. public function userBalanceLog()
  52. {
  53. $user = $this->user;
  54. $data = UserBalanceLog::where('user_id', $user['id'])->orderBy('id', 'desc')->paginate();
  55. return out($data);
  56. }
  57. }