|
@@ -63,35 +63,45 @@ class User extends Base
|
|
|
{
|
|
|
$user = $this->auth->getUser();
|
|
|
$params = $this->request->param();
|
|
|
- // 字段不传就报错 所以默认给值
|
|
|
- $username = $params['username'] ?? '';
|
|
|
- $avatar = $params['avatar'] ?? '';
|
|
|
- $nickname = $params['nickname'] ?? '';
|
|
|
- $bio = $params['bio'] ?? '';
|
|
|
- $age = $params['age'] ?? '';
|
|
|
- $gender = $params['gender'] ?? '';
|
|
|
- // 验证器
|
|
|
- // 替换有域名的头像
|
|
|
- $avatar = str_replace(cdnurl('', true), '', $avatar);
|
|
|
- $params['avatar'] = $avatar;
|
|
|
+
|
|
|
+ // 验证器 - 只验证传递的字段
|
|
|
$validate = new \app\api\validate\User();
|
|
|
if (!$validate->check($params, [], 'profile')) {
|
|
|
$this->error($validate->getError());
|
|
|
}
|
|
|
- // username 不传,则不修改
|
|
|
- if ($username) {
|
|
|
- $user->username = $username;
|
|
|
+
|
|
|
+ // 只有字段有值时才修改
|
|
|
+ if (isset($params['username']) && !empty($params['username'])) {
|
|
|
+ $username = $params['username'];
|
|
|
$exists = \app\common\model\User::where('username', $username)->where('id', '<>', $this->auth->id)->find();
|
|
|
if ($exists) {
|
|
|
$this->error(__('Username already exists'));
|
|
|
}
|
|
|
+ $user->username = $username;
|
|
|
}
|
|
|
- $user->bio = $bio;
|
|
|
- $user->nickname = $nickname;
|
|
|
- $user->username = $username;
|
|
|
- $user->avatar = $avatar;
|
|
|
- $user->age = $age;
|
|
|
- $user->gender = $gender;
|
|
|
+
|
|
|
+ if (isset($params['avatar']) && !empty($params['avatar'])) {
|
|
|
+ // 替换有域名的头像
|
|
|
+ $avatar = str_replace(cdnurl('', true), '', $params['avatar']);
|
|
|
+ $user->avatar = $avatar;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isset($params['nickname']) && !empty($params['nickname'])) {
|
|
|
+ $user->nickname = $params['nickname'];
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isset($params['bio']) && !empty($params['bio'])) {
|
|
|
+ $user->bio = $params['bio'];
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isset($params['age']) && !empty($params['age'])) {
|
|
|
+ $user->age = $params['age'];
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isset($params['gender']) && !empty($params['gender'])) {
|
|
|
+ $user->gender = $params['gender'];
|
|
|
+ }
|
|
|
+
|
|
|
$user->save();
|
|
|
|
|
|
$this->success('修改成功!');
|