修复:sex 字段类型统一为整数(0=保密 1=男 2=女)
- 生产库 sex 列为 int,之前错误传入中文字符串 - AuthController 注册时直接保存整数 - UpdateProfileRequest 验证改为 in:0,1,2 - 设置弹窗 select value 改为整数
This commit is contained in:
@@ -63,9 +63,11 @@ class AuthController extends Controller
|
|||||||
|
|
||||||
// --- 核心:第一次登录即为注册 ---
|
// --- 核心:第一次登录即为注册 ---
|
||||||
|
|
||||||
// 映射性别:1=男 2=女,默认保密
|
// 映射性别:1=男 2=女 0=保密(数据库 sex 列为 int)
|
||||||
$sexMap = ['1' => '男', '2' => '女'];
|
$sex = (int) $request->input('bSex', 0);
|
||||||
$sex = $sexMap[$request->input('bSex', '')] ?? '保密';
|
if (! in_array($sex, [1, 2])) {
|
||||||
|
$sex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
$newUser = User::create([
|
$newUser = User::create([
|
||||||
'username' => $username,
|
'username' => $username,
|
||||||
|
|||||||
@@ -60,7 +60,9 @@ class UserController extends Controller
|
|||||||
public function updateProfile(UpdateProfileRequest $request): JsonResponse
|
public function updateProfile(UpdateProfileRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
$user->update($request->validated());
|
$data = $request->validated();
|
||||||
|
|
||||||
|
$user->update($data);
|
||||||
|
|
||||||
return response()->json(['status' => 'success', 'message' => '资料更新成功。']);
|
return response()->json(['status' => 'success', 'message' => '资料更新成功。']);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class UpdateProfileRequest extends FormRequest
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'sex' => ['required', 'string', 'in:男,女,保密'],
|
'sex' => ['required', 'in:0,1,2'],
|
||||||
'headface' => ['required', 'string', 'max:50'], // 比如存放 01.gif - 50.gif
|
'headface' => ['required', 'string', 'max:50'], // 比如存放 01.gif - 50.gif
|
||||||
'sign' => ['nullable', 'string', 'max:255'],
|
'sign' => ['nullable', 'string', 'max:255'],
|
||||||
'email' => ['nullable', 'email', 'max:255'],
|
'email' => ['nullable', 'email', 'max:255'],
|
||||||
@@ -42,7 +42,7 @@ class UpdateProfileRequest extends FormRequest
|
|||||||
public function messages(): array
|
public function messages(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'sex.in' => '性别选项无效。',
|
'sex.in' => '性别选项无效(0=保密 1=男 2=女)。',
|
||||||
'headface.required' => '必须选择一个头像。',
|
'headface.required' => '必须选择一个头像。',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -445,9 +445,9 @@
|
|||||||
<label style="font-size:12px; width:50px; text-align:right;">性别:</label>
|
<label style="font-size:12px; width:50px; text-align:right;">性别:</label>
|
||||||
<select id="set-sex"
|
<select id="set-sex"
|
||||||
style="flex:1; padding:5px; border:1px solid #ccc; border-radius:4px; font-size:12px;">
|
style="flex:1; padding:5px; border:1px solid #ccc; border-radius:4px; font-size:12px;">
|
||||||
<option value="男" {{ Auth::user()->sex === '男' ? 'selected' : '' }}>男</option>
|
<option value="1" {{ Auth::user()->sex == 1 ? 'selected' : '' }}>男</option>
|
||||||
<option value="女" {{ Auth::user()->sex === '女' ? 'selected' : '' }}>女</option>
|
<option value="2" {{ Auth::user()->sex == 2 ? 'selected' : '' }}>女</option>
|
||||||
<option value="保密" {{ Auth::user()->sex === '保密' ? 'selected' : '' }}>保密</option>
|
<option value="0" {{ Auth::user()->sex == 0 ? 'selected' : '' }}>保密</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div style="display:flex; align-items:center; gap:8px;">
|
<div style="display:flex; align-items:center; gap:8px;">
|
||||||
|
|||||||
Reference in New Issue
Block a user