diff --git a/app/controller/api/user/User.php b/app/controller/api/user/User.php index 4736d5d6..6a266a4a 100755 --- a/app/controller/api/user/User.php +++ b/app/controller/api/user/User.php @@ -48,6 +48,7 @@ use app\common\model\user\User as UserModel; use app\common\model\user\UserAddress; use app\common\model\user\UserRecharge; use think\db\Query; +use think\exception\ValidateException; use think\facade\Cache; use think\facade\Db; @@ -624,27 +625,28 @@ class User extends BaseController return app('json')->fail('验证码不正确'); } $auth = Cache::get('u_try' . $data['auth_token']); -// $auth && Cache::delete('u_try' . $data['auth_token']); + $auth && Cache::delete('u_try' . $data['auth_token']); + if (empty($auth)) { + return app('json')->fail('授权已过期,请重新登录'); + } $user = $repository->wechatUserIdBytUser($auth['id']); if (!empty($user['account'])) { return app('json')->fail('已绑定手机号'); } $targetUser = $repository->accountByUser($data['phone']); - if (!empty($user) && empty($targetUser)) { - $user->account = $data['phone']; - $user->phone = $data['phone']; - $user->save(); - $tokenInfo = $repository->createToken($user); - return app('json')->success($repository->returnToken($user, $tokenInfo)); + if (empty($targetUser) && !empty($user)) { + if (!empty($user)) { + $user->account = $data['phone']; + $user->phone = $data['phone']; + $user->save(); + $tokenInfo = $repository->createToken($user); + return app('json')->success($repository->returnToken($user, $tokenInfo)); + } else { + $targetUser = $repository->registr($data['phone'], $data['pwd'], $data['user_type']); + $repository->bindSpread($targetUser, intval($data['spread'])); + } } - if (empty($targetUser) && empty($user)) { - $targetUser = $repository->registr($data['phone'], $data['pwd'], $data['user_type']); - } - if ($auth) { - $repository->syncBaseAuth($auth, $targetUser); - } - $targetUser = $repository->mainUser($targetUser); - $repository->bindSpread($targetUser, intval($data['spread'])); + $repository->syncBaseAuth($auth, $targetUser); Db::startTrans(); try { StoreGroupOrder::where('uid', $user['uid'])->update(['uid' => $targetUser['uid']]); @@ -702,11 +704,12 @@ class User extends BaseController $user->save(); } Db::commit(); + $tokenInfo = $repository->createToken($targetUser); + return app('json')->success($repository->returnToken($targetUser, $tokenInfo)); } catch (\Throwable $e) { Db::rollback(); + throw new ValidateException('绑定出错'); } - $tokenInfo = $repository->createToken($targetUser); - return app('json')->success($repository->returnToken($targetUser, $tokenInfo)); } }