diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 3a81057..0e561ba 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -63,13 +63,17 @@ class AuthController extends Controller // --- 核心:第一次登录即为注册 --- + // 映射性别:1=男 2=女,默认保密 + $sexMap = ['1' => '男', '2' => '女']; + $sex = $sexMap[$request->input('bSex', '')] ?? '保密'; + $newUser = User::create([ 'username' => $username, 'password' => Hash::make($password), 'first_ip' => $ip, 'last_ip' => $ip, 'user_level' => 1, // 默认普通用户等级 - 'sex' => 0, // 默认性别: 0保密 1男 2女 + 'sex' => $sex, 'usersf' => '1.GIF', // 默认头像 ]); diff --git a/app/Http/Requests/LoginRequest.php b/app/Http/Requests/LoginRequest.php index 462b9df..fb4782a 100644 --- a/app/Http/Requests/LoginRequest.php +++ b/app/Http/Requests/LoginRequest.php @@ -39,6 +39,7 @@ class LoginRequest extends FormRequest 'regex:/^[^<>\'"]+$/u', ], 'password' => ['required', 'string', 'min:1'], + 'bSex' => ['nullable', 'in:1,2'], 'captcha' => ['required', 'captcha'], ]; } diff --git a/app/Http/Requests/UpdateProfileRequest.php b/app/Http/Requests/UpdateProfileRequest.php index 84f715d..0aa734b 100644 --- a/app/Http/Requests/UpdateProfileRequest.php +++ b/app/Http/Requests/UpdateProfileRequest.php @@ -33,6 +33,9 @@ class UpdateProfileRequest extends FormRequest 'sex' => ['required', 'string', 'in:男,女,保密'], 'headface' => ['required', 'string', 'max:50'], // 比如存放 01.gif - 50.gif 'sign' => ['nullable', 'string', 'max:255'], + 'email' => ['nullable', 'email', 'max:255'], + 'question' => ['nullable', 'string', 'max:100'], + 'answer' => ['nullable', 'string', 'max:100'], ]; } diff --git a/app/Models/User.php b/app/Models/User.php index b56920b..bfd3a70 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -32,6 +32,7 @@ class User extends Authenticatable 'password', 'email', 'sex', + 'sign', 'user_level', 'room_id', 'first_ip', @@ -39,6 +40,8 @@ class User extends Authenticatable 'usersf', 'vip_level_id', 'hy_time', + 'question', + 'answer', ]; /** diff --git a/database/migrations/2026_02_26_144806_add_question_answer_to_users.php b/database/migrations/2026_02_26_144806_add_question_answer_to_users.php new file mode 100644 index 0000000..d83e8d0 --- /dev/null +++ b/database/migrations/2026_02_26_144806_add_question_answer_to_users.php @@ -0,0 +1,49 @@ +string('question', 100)->nullable()->after('email')->comment('密保问题'); + } + if (! Schema::hasColumn('users', 'answer')) { + $table->string('answer', 100)->nullable()->after('question')->comment('密保答案'); + } + }); + } + + /** + * 回滚:删除密保字段 + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $columns = []; + if (Schema::hasColumn('users', 'question')) { + $columns[] = 'question'; + } + if (Schema::hasColumn('users', 'answer')) { + $columns[] = 'answer'; + } + if ($columns) { + $table->dropColumn($columns); + } + }); + } +}; diff --git a/resources/views/chat/frame.blade.php b/resources/views/chat/frame.blade.php index c7659b1..e1c7a2d 100644 --- a/resources/views/chat/frame.blade.php +++ b/resources/views/chat/frame.blade.php @@ -404,6 +404,168 @@ + {{-- ═══════════ 个人设置弹窗 ═══════════ --}} +
+ + +