Просмотр исходного кода

用户管理增加对头像和昵称的显示和编辑

lh 5 дней назад
Родитель
Сommit
79d2c3ca27

+ 6 - 1
app/Http/Controllers/Manage/ManageUserController.php

@@ -68,6 +68,7 @@ class ManageUserController extends BaseController
         $validator = Validator::make($data, [
             'account'    => 'required|string|max:32',
             'nickname'   => 'required|string|max:100',
+            'avatar'     => 'nullable|string|max:255',
             'pwd'        => 'required|string|min:6|max:32',
             'is_enabled' => 'required|integer|in:0,1',
             'role'       => 'nullable|string|in:admin,user',
@@ -77,6 +78,7 @@ class ManageUserController extends BaseController
             'account.max'         => '账号不能超过32个字符',
             'nickname.required'   => '请传入昵称',
             'nickname.max'        => '昵称不能超过100个字符',
+            'avatar.max'          => '头像不能超过255个字符',
             'pwd.required'        => '请传入密码',
             'pwd.min'             => '密码长度不能少于6位',
             'pwd.max'             => '密码长度不能超过32位',
@@ -159,6 +161,7 @@ class ManageUserController extends BaseController
         $validator = Validator::make($data, [
             'uid'        => 'required|integer|min:1',
             'nickname'   => 'nullable|string|max:100',
+            'avatar'     => 'nullable|string|max:255',
             'pwd'        => 'nullable|string|min:6|max:32',
             'is_enabled' => 'nullable|integer|in:0,1',
             'role'       => 'nullable|string|in:superadmin,admin,user',
@@ -167,6 +170,7 @@ class ManageUserController extends BaseController
             'uid.integer'      => 'uid必须为整数',
             'uid.min'          => 'uid不能小于1',
             'nickname.max'     => '昵称不能超过100个字符',
+            'avatar.max'       => '头像不能超过255个字符',
             'pwd.min'          => '密码长度不能少于6位',
             'pwd.max'          => '密码长度不能超过32位',
             'is_enabled.in'    => 'is_enabled仅支持0或1',
@@ -178,11 +182,12 @@ class ManageUserController extends BaseController
         }
 
         $hasAny = array_key_exists('nickname', $data)
+            || array_key_exists('avatar', $data)
             || array_key_exists('pwd', $data)
             || array_key_exists('is_enabled', $data)
             || array_key_exists('role', $data);
         if (!$hasAny) {
-            Utils::throwError('1002:请至少传入昵称、密码、是否启用或角色之一');
+            Utils::throwError('1002:请至少传入昵称、头像、密码、是否启用或角色之一');
         }
 
         $result = $this->manageUserService->updateUser($data);

+ 9 - 0
app/Services/Manage/ManageUserService.php

@@ -88,6 +88,7 @@ class ManageUserService
 
         $account   = trim((string)getProp($params, 'account', ''));
         $nickname  = trim((string)getProp($params, 'nickname', ''));
+        $avatar    = trim((string)getProp($params, 'avatar', ''));
         $pwd       = (string)getProp($params, 'pwd', '');
         $isEnabled = (int)getProp($params, 'is_enabled', 1);
         $newRole   = (string)getProp($params, 'role', '');
@@ -150,6 +151,7 @@ class ManageUserService
         $uid = DB::table('mp_manage_users')->insertGetId([
             'account'    => $account,
             'nickname'   => $nickname,
+            'avatar'     => $avatar,
             'o_pass'     => $pwd,
             'pwd'        => md5($pwd . $this->salt),
             'role'       => $newRole,
@@ -180,6 +182,7 @@ class ManageUserService
             'uid'        => (int)getProp($user, 'id', 0),
             'account'    => (string)getProp($user, 'account', ''),
             'nickname'   => (string)getProp($user, 'nickname', ''),
+            'avatar'     => (string)getProp($user, 'avatar', ''),
             'is_enabled' => (int)getProp($user, 'is_enabled', 0),
             'role'       => (string)getProp($user, 'role', ''),
             'points'     => (float)getProp($user, 'points', 0),
@@ -217,6 +220,7 @@ class ManageUserService
                 'u.id',
                 'u.account',
                 'u.nickname',
+                'u.avatar',
                 'u.role',
                 'u.is_enabled',
                 'u.points',
@@ -297,6 +301,11 @@ class ManageUserService
             $update['nickname'] = (string)$nickname;
         }
 
+        $avatar = getProp($params, 'avatar');
+        if ($avatar !== null) {
+            $update['avatar'] = (string)$avatar;
+        }
+
         $pwd = getProp($params, 'pwd');
         if ($pwd !== null && $pwd !== '') {
             $newPwd = md5((string)$pwd . $this->salt);

+ 1 - 0
app/Transformer/Manage/ManageUserTransformer.php

@@ -29,6 +29,7 @@ class ManageUserTransformer
                 'uid'           => (int)getProp($item, 'id', 0),
                 'account'      => (string)getProp($item, 'account', ''),
                 'nickname'     => (string)getProp($item, 'nickname', ''),
+                'avatar'       => (string)getProp($item, 'avatar', ''),
                 'role'         => $role,
                 'role_info'    => self::ROLE_LABELS[$role] ?? $role,
                 'is_enabled'   => (int)getProp($item, 'is_enabled', 0),