UserController.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 EasyWeChat\Factory;
  11. class UserController extends AuthController
  12. {
  13. public function userInfo()
  14. {
  15. $user = $this->user;
  16. unset($user['session_key']);
  17. return out($user);
  18. }
  19. public function getPhoneNumber()
  20. {
  21. $req = request()->post();
  22. $this->validate(request(), [
  23. 'iv' => 'required',
  24. 'encryptData' => 'required',
  25. ]);
  26. $user = $this->user;
  27. $app = Factory::miniProgram(config('config.wechat_small_program'));
  28. try {
  29. $decryptedData = $app->encryptor->decryptData($user['session_key'], $req['iv'], $req['encryptData']);
  30. } catch (\Exception $e) {
  31. return out(null, 10001, '获取手机号失败', $e->getMessage());
  32. }
  33. return out($decryptedData);
  34. }
  35. public function updateUser()
  36. {
  37. $req = request()->post();
  38. $this->validate(request(), [
  39. 'nickname' => 'max:100',
  40. 'avatar' => 'url',
  41. 'sex' => 'in:1,2',
  42. 'birthday' => 'date',
  43. 'latitude' => 'numeric',
  44. 'longitude' => 'numeric',
  45. ]);
  46. $user = $this->user;
  47. User::where('id', $user['id'])->update($req);
  48. return out();
  49. }
  50. }