From b933b7f747c87e27dd9e0e70f043b5b56ed34fd7 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 29 Nov 2021 14:18:02 +0800 Subject: [PATCH] 1 --- doc/User.py | 3 +- webapp/controller/UserController.class.php | 38 +++++++++++++++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/doc/User.py b/doc/User.py index cdbf8af..070364c 100644 --- a/doc/User.py +++ b/doc/User.py @@ -30,6 +30,7 @@ class User(object): ], 'response': [ _common.RspHead(), + ['info',_common.UserInfo(), '更新后的用户信息'], ] }, { @@ -43,7 +44,7 @@ class User(object): ], 'response': [ _common.RspHead(), - ['info',_common.UserInfo(), '用户信息'] + ['info',_common.UserInfo(), '用户信息'], ] }, { diff --git a/webapp/controller/UserController.class.php b/webapp/controller/UserController.class.php index 32280d9..e4d5fa4 100644 --- a/webapp/controller/UserController.class.php +++ b/webapp/controller/UserController.class.php @@ -94,8 +94,44 @@ class UserController extends BaseAuthedController { public function update() { $validFields = array( - + 'hero_id' => array( + 'field_name' => 'hero_id', + 'val_func' => function ($val) { + return $val; + }, + 'valid_func' => function ($val, &$errCode, &$errMsg) { + if (Hero::find($val)) { + return true; + } else { + $errCode = 1; + $errMsg = '英雄不存在'; + return false; + } + } + ) ); + $fieldsKv = array(); + $errCod = 0; + $errMsg = ''; + foreach ($validFields as $key => $field) { + $reqVal = getReqVal($key, ''); + if (!empty($reqVal)) { + if (isset($field['valid_func'])) { + if (!$field['valid_func']($reqVal, $errCode, $errMsg)) { + $this->_rspErr($errCode, $errMsg); + return; + } + $fieldsKv[$field['field_name']] = $field['val_func']($reqVal); + } + } + } + + if (count($fieldsKv) > 0) { + $this->_updateUserInfo($fieldsKv); + } + $this->_rspData(array( + 'info' => User::info($this->_getUserInfo()) + )); } public function info()