This commit is contained in:
2025-12-24 16:59:05 +08:00
parent b52a51c09b
commit b68946fe79
218 changed files with 10790 additions and 3878 deletions
+78 -8
View File
@@ -5,6 +5,7 @@ use Shopwwi\WebmanFilesystem\Facade\Storage;
use app\model\User as UserModel;
use app\model\Realname as RealnameModel;
use support\Request;
use support\Response;
use taoser\facade\Validate;
use support\think\Db;
use hg\apidoc\annotation as Apidoc;
@@ -34,14 +35,25 @@ class UserController extends BaseController{
$data = \support\Jwt::getUser();
if(Request()->method() == 'POST'){
$nickname = input('nickname');
//$username = input('username');
//$password = input('password');
if(!$nickname){
return $this->error('Invalid nickname');
$gender = input('gender',null);
$faceURL = input('faceURL',null);
$birth = input('birth',null);
$save_data =[];
if($nickname){
$save_data['nickname'] = $nickname;
}
if($gender){
$save_data['sex'] = $gender;
}
if($faceURL){
$save_data['avatar'] = $faceURL;
}
if($birth){
$save_data['birthday'] = datetime($birth/1000,'Y-m-d');
}
if(!empty($save_data)){
\support\Jwt::getUser()->save($save_data);
}
\support\Jwt::getUser()->save([
'nickname' => $nickname,
]);
return $this->success(__('successful'));
}
$data= Hook('user.profile',$data);
@@ -137,7 +149,8 @@ class UserController extends BaseController{
return $this->error($e->getMessage());
}
}
function realname(Request $request){
function realname(Request $request): Response
{
/**
* @var UserModel $user
*/
@@ -178,4 +191,61 @@ class UserController extends BaseController{
return $this->success('ok',$user);
}
}
/**
* find
* @Apidoc\Method("POST")
* @Apidoc\Param("userIDs", type="array", require=true, desc="userIDs")
*/
function find(Request $request): Response
{
$userIDs = Input('userIDs');
//$res = $request->IM->user->getUsersInfo($userIDs);
$list = Db::name('user')->
whereIn('id',$userIDs)
->paginate(Input('limit',10));
$list->each(function($user){
unset($user['password']);
unset($user['trade_password']);
//unset($user['avatar']);
unset($user['online']);
unset($user['token']);
unset($user['prev_time']);
unset($user['loginfailure']);
unset($user['successions']);
unset($user['maxsuccessions']);
unset($user['currency1']);
unset($user['currency2']);
unset($user['currency3']);
unset($user['currency4']);
unset($user['currency5']);
unset($user['currency6']);
unset($user['currency7']);
unset($user['currency8']);
unset($user['currency9']);
return $user;
//$user->hidden(['password']);
});
return $this->success('ok',$list);
}
/**
* search
* @Apidoc\Method("POST")
* @Apidoc\Param("keyword", type="string", require=true, desc="关键字")
* @Apidoc\Param("searchtype", type="string", require=true, desc="搜索类型")
*/
function search(Request $request): Response
{
$keyword = Input('keyword');
$searchtype = Input('searchtype');
$fields = 'id,avatar,username,nickname,avatar,sex,email,mobile,birthday,bio';
$model = Db::name('user')->field($fields)->where('status',1);
if($searchtype =='id'){
$model = $model->where('id',$keyword);
}else{
$model = $model->whereLike('username','%'.$keyword.'%');
}
$list = $model->paginate(Input('limit',10));
return $this->success('ok',$list);
}
}