LoginController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Services\Api\MemberService;
  4. use App\Services\RedisService;
  5. /**
  6. * 授权登录控制器基类
  7. * Class LoginController
  8. * @package App\Http\Controllers
  9. */
  10. class LoginController extends webApp
  11. {
  12. /**
  13. * 用户登录
  14. * @return array
  15. */
  16. public function dapp(){
  17. $walletUrl = request()->post('wallet_url','');
  18. try {
  19. $scode = request()->post('scode','');
  20. if(empty($walletUrl)){
  21. return showJson('钱包授权失败',false);
  22. }
  23. // 钱包账号登录
  24. if($result = MemberService::make()->loginOrRegister($walletUrl, $scode)){
  25. return showJson(2004, true, $result);
  26. }else{
  27. $code = MemberService::make()->getError();
  28. return showJson($code, false,'',$code==2015? 403: 0);
  29. }
  30. }catch (\Exception $exception){
  31. RedisService::set("caches:login:{$walletUrl}", ['error'=>$exception->getMessage(),'line'=>$exception->getLine(),'data'=>$exception->getTrace()],600);
  32. return showJson(1018, false);
  33. }
  34. }
  35. }