Files
xk-api-yii/common/models/AdminAccessToken.php
2024-12-04 10:58:31 +08:00

44 lines
1.2 KiB
PHP

<?php
namespace common\models;
use common\enums\StatusEnum;
use yii\db\ActiveRecord;
use yii;
/**
* @author chatfeed@gmail.com
*/
class AdminAccessToken extends \common\modelsgii\AdminAccessToken
{
public function behaviors()
{
return [
[
'class' => yii\behaviors\TimestampBehavior::class,
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
],
],
];
}
static public function createToken($uid, $group = "")
{
$adminAccessToken = new static();
$adminAccessToken->where('admin_id',$uid)->andWhere('status',1)->save(['status' => -1, 'updated_at' => time()]);
$adminAccessToken->setAttributes([
'access_token' => Yii::$app->security->generateRandomString(),
'admin_id' => $uid,
'expired_at'=>time()+24*30*3600,
'group' => $group,
'status' => StatusEnum::ACTIVE
]);
if ($adminAccessToken->save()) {
return $adminAccessToken;
}
return false;
}
}