request->post(); $service_user_id = $post['service_user_id']; $user = ServiceUser::findOne(['id'=>$service_user_id]); if(!$user){ throw new Exception('用户不存在'); } $lastToken = ServiceUserToken::find()->where(['su_id' => $service_user_id])->orderBy('id DESC')->one(); if(!ServiceUserToken::checkToken($lastToken->token)){ $ServiceUserToken = new ServiceUserToken(); $ServiceUserToken->su_id = $service_user_id; $token = \Yii::$app->security->generateRandomString() . '_' . time(); $ServiceUserToken->token = $token; $ServiceUserToken->saveOrFail(); }else{ $token = $lastToken->token; } return ['token' => $token]; } }