first()){ $user = new User(); $user->mini_openid = $miniOpenid; $user->save(); } return $user; } public function login(User $user) { //记录当前登录时间、IP $ip = request()->getClientIp(); $user->last_login_ip = ip2long($ip); $user->last_login_at = now(); $user->save(); //撤销当前所有令牌; $user->tokens()->delete(); return $user->createToken( name: 'api', expiresAt: now()->addDay(), )->plainTextToken; } public function bindPhone(User $user, $phone) { $res = [ 'status' => false, 'message'=> '' ]; if(User::where('phone', $phone)->where('id', '<>', $user->id)->exists()){ $res['message'] = '该手机号已被其他微信号绑定,请更换手机号绑定'; return $res; } $user->update([ 'phone' => $phone, 'bind_phone_at' => now() ]); $res['status'] = true; return $res; } }