64 lines
1.8 KiB
PHP
64 lines
1.8 KiB
PHP
|
|
<?php
|
||
|
|
namespace app\guildadmin\model;
|
||
|
|
|
||
|
|
use fast\Random;
|
||
|
|
use think\Model;
|
||
|
|
use think\Session;
|
||
|
|
use app\guildadmin\library\Auth;
|
||
|
|
|
||
|
|
class Admin extends Model
|
||
|
|
{
|
||
|
|
|
||
|
|
// 开启自动写入时间戳字段
|
||
|
|
protected $autoWriteTimestamp = 'int';
|
||
|
|
// 定义时间戳字段名
|
||
|
|
protected $table = 'fa_vs_guild_admin';
|
||
|
|
protected $createTime = 'createtime';
|
||
|
|
protected $updateTime = 'updatetime';
|
||
|
|
|
||
|
|
protected $hidden = [
|
||
|
|
'password',
|
||
|
|
'salt'
|
||
|
|
];
|
||
|
|
|
||
|
|
public static function init()
|
||
|
|
{
|
||
|
|
self::beforeWrite(function ($row) {
|
||
|
|
$changed = $row->getChangedData();
|
||
|
|
//如果修改了用户或或密码则需要重新登录
|
||
|
|
if (isset($changed['username']) || isset($changed['password']) || isset($changed['salt'])) {
|
||
|
|
$row->token = '';
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
//创建管理员(公会创建调用)
|
||
|
|
public function createAdmin($data){
|
||
|
|
$params['salt'] = Random::alnum();
|
||
|
|
$params['username'] = $data['username'];
|
||
|
|
$params['nickname'] = $data['nickname'];
|
||
|
|
$params['password'] = md5(md5($data['password']) . $params['salt']);
|
||
|
|
$params['guild_id'] = $data['guild_id'];
|
||
|
|
$result = $this->save($params);
|
||
|
|
if ($result === false) {
|
||
|
|
return V(0,"失败", []);
|
||
|
|
}
|
||
|
|
//创建角色组
|
||
|
|
$group_data = [
|
||
|
|
'guild_id' => $data['guild_id'],
|
||
|
|
'pid' => 1,
|
||
|
|
'name' => '超级管理员',
|
||
|
|
'rules' => '*',
|
||
|
|
'status' => 'normal'
|
||
|
|
];
|
||
|
|
$group = model('guildadmin/AuthGroup')->create($group_data);
|
||
|
|
if (!$group) {
|
||
|
|
return V(0,"失败", []);
|
||
|
|
}
|
||
|
|
$dataset = [];
|
||
|
|
$dataset[] = ['uid' => $this->id, 'group_id' => $group['id']];
|
||
|
|
model('guildadmin/AuthGroupAccess')->saveAll($dataset);
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|