diff --git a/app/Http/Controllers/Api/SystemController.php b/app/Http/Controllers/Api/SystemController.php index 09f8bd748..955dd034a 100755 --- a/app/Http/Controllers/Api/SystemController.php +++ b/app/Http/Controllers/Api/SystemController.php @@ -28,7 +28,7 @@ class SystemController extends AbstractController * @apiParam {String} type * - get: 获取(默认) * - all: 获取所有(需要管理员权限) - * - save: 保存设置(参数:['reg', 'reg_invite', 'login_code', 'password_policy', 'project_invite', 'chat_information', 'auto_archived', 'archived_day', 'all_group_mute', 'start_home', 'home_footer']) + * - save: 保存设置(参数:['reg', 'reg_invite', 'login_code', 'password_policy', 'project_invite', 'chat_information', 'auto_archived', 'archived_day', 'all_group_mute', 'all_group_autoin', 'start_home', 'home_footer']) * @apiSuccess {Number} ret 返回状态码(1正确、0错误) * @apiSuccess {String} msg 返回信息(错误描述) @@ -54,6 +54,7 @@ class SystemController extends AbstractController 'auto_archived', 'archived_day', 'all_group_mute', + 'all_group_autoin', 'start_home', 'home_footer' ])) { @@ -88,6 +89,7 @@ class SystemController extends AbstractController $setting['auto_archived'] = $setting['auto_archived'] ?: 'close'; $setting['archived_day'] = floatval($setting['archived_day']) ?: 7; $setting['all_group_mute'] = $setting['all_group_mute'] ?: 'open'; + $setting['all_group_autoin'] = $setting['all_group_autoin'] ?: 'yes'; $setting['start_home'] = $setting['start_home'] ?: 'close'; // return Base::retSuccess('success', $setting ?: json_decode('{}')); diff --git a/app/Models/User.php b/app/Models/User.php index de2096088..5c5ad7c9d 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -256,8 +256,10 @@ class User extends AbstractModel $user->pinyin = Base::cn2pinyin($user->nickname); if ($user->save()) { // 加入全员群组 - $dialog = WebSocketDialog::whereGroupType('all')->orderByDesc('id')->first(); - $dialog?->joinGroup($user->userid, 0); + if (Base::settingFind('system', 'all_group_autoin', 'yes') === 'yes') { + $dialog = WebSocketDialog::whereGroupType('all')->orderByDesc('id')->first(); + $dialog?->joinGroup($user->userid, 0); + } } return $user->find($user->userid); } diff --git a/resources/assets/js/pages/manage/setting/components/SystemSetting.vue b/resources/assets/js/pages/manage/setting/components/SystemSetting.vue index fcb232f19..a34114071 100644 --- a/resources/assets/js/pages/manage/setting/components/SystemSetting.vue +++ b/resources/assets/js/pages/manage/setting/components/SystemSetting.vue @@ -61,7 +61,7 @@