新增默认积分和默认组别配置

新增是否允许批量删除会员配置
优化默认头像显示
pull/515/MERGE
Karson 2026-01-14 11:54:31 +08:00
parent e3dd067cef
commit 838a441b2a
5 changed files with 74 additions and 40 deletions

View File

@ -54,6 +54,7 @@ class User extends Backend
return json($result);
}
$this->assignconfig('multi_delete_user', config('fastadmin.multi_delete_user'));
return $this->view->fetch();
}
@ -93,14 +94,38 @@ class User extends Backend
if (!$this->request->isPost()) {
$this->error(__("Invalid parameters"));
}
$ids = $ids ? $ids : $this->request->post("ids");
$ids = $ids ?: $this->request->post("ids");
$ids = array_filter(explode(',', $ids));
if (!(config('fastadmin.multi_delete_user') ?: false)) {
if (count($ids) > 1) {
$this->error(__('Multi delete is not allowed'));
}
$row = $this->model->get($ids);
$this->modelValidate = true;
if (!$row) {
$this->error(__('No Results were found'));
}
Auth::instance()->delete($row['id']);
$result = Auth::instance()->delete($row['id']);
$count = $result ? 1 : 0;
if ($count) {
$this->success();
}
} else {
//允许批量删除
$list = $this->model->where('id', 'in', $ids)->select();
$count = 0;
foreach ($list as $item) {
$result = Auth::instance()->delete($item['id']);
if ($result) {
$count++;
}
}
}
if ($count) {
$this->success(__('%s rows deleted succeeded, %s rows deleted failed', $count, count($ids) - $count));
} else {
$this->error(__('No rows were deleted'));
}
}
}

View File

@ -32,4 +32,6 @@ return [
'Username must be 3 to 30 characters' => '用户名只能由3-30位数字、字母、下划线组合',
'Password must be 6 to 30 characters' => '密码长度必须在6-30位之间不能包含空格',
'Leave password blank if dont want to change' => '不修改密码请留空',
'Multi delete is not allowed' => '不支持批量删除会员',
'%s rows deleted succeeded, %s rows deleted failed' => '操作成功,其中%s行删除成功%s行删除失败',
];

View File

@ -166,12 +166,13 @@ class Auth
$time = time();
$data = [
'group_id' => config('fastadmin.user_default_group') ?: 0,
'username' => $username,
'password' => $password,
'email' => $email,
'mobile' => $mobile,
'level' => 1,
'score' => 0,
'score' => config('fastadmin.user_initial_score') ?: 0,
'avatar' => '',
];
$params = array_merge($data, [

View File

@ -45,7 +45,7 @@ class User extends Model
public function getAvatarAttr($value, $data)
{
if (!$value) {
$value = config('fastadmin.user_letter_avatar') ? letter_avatar($data['nickname']) : (config('fastadmin.user_default_avatar') ?: '/assets/img/avatar.png');
$value = config('fastadmin.user_letter_avatar') && $data && ($data['nickname'] ?? '') ? letter_avatar($data['nickname']) : (config('fastadmin.user_default_avatar') ?: '/assets/img/avatar.png');
}
return cdnurl($value, true);
}

View File

@ -289,6 +289,10 @@ return [
'user_letter_avatar' => true,
//会员默认头像仅当user_letter_avatar为false时有效
'user_default_avatar' => '/assets/img/avatar.png',
//会员默认组别
'user_default_group' => 0,
//会员初始积分
'user_initial_score' => 0,
//是否启用会员等级规则,支持none/auto/up,none表示不影响等级,auto表示自动升降级,up表示只升不降
'user_level_rule' => '',
//会员等级积分字典,键名表示等级,值表示所需的积分
@ -311,6 +315,8 @@ return [
'multipletab' => true,
//是否默认展示子菜单
'show_submenu' => false,
//是否开启批量删除会员
'multi_delete_user' => false,
//后台皮肤,为空时表示使用skin-black-blue
'adminskin' => '',
//后台是否启用面包屑