AuthService.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Modules\Mini\Services;
  3. use App\Base\BaseService;
  4. use App\Exceptions\ClientException;
  5. use App\Models\User\User;
  6. use EasyWeChat\Kernel\HttpClient\Response;
  7. use EasyWeChat\MiniApp\Application;
  8. class AuthService extends BaseService
  9. {
  10. public function authByOpenid($openId): string
  11. {
  12. $user = User::where('openid', $openId)->first();
  13. if (is_null($user)) {
  14. $user = new User();
  15. $user->openid = $openId;
  16. $user->save();
  17. }
  18. return $this->encryptToken($user->id);
  19. }
  20. public function login($params)
  21. {
  22. }
  23. public function register($params)
  24. {
  25. if (User::where("email", $params['email'])->first()) {
  26. throw new ClientException("该邮件已经注册了");
  27. }
  28. if (User::where("phone", $params['phone'])->first()) {
  29. throw new ClientException("该手机已经注册了");
  30. }
  31. $user = new User();
  32. $user->email = $params['email'];
  33. $user->phone = $params['phone'];
  34. $user->group_id = 0;
  35. $user->status = User::STATUS_OK;
  36. $user->password = $user->hashPassword($params['password']);
  37. $user->save();
  38. return $user;
  39. }
  40. public function encryptToken($uid)
  41. {
  42. return md5($uid . time()) . $uid;
  43. }
  44. public function decryptToken($token)
  45. {
  46. return substr($token, 32);
  47. }
  48. }