44 lines
1.2 KiB
PHP
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;
|
|
}
|
|
}
|