getOneData([ ['user_id', '=', $this->userId] ], 'id,user_id,head_img,nick_name,gender,birth_day,sign'); // 解决:sign字段为null时,前端显示长度为undefined $info['sign'] = empty($info['sign']) ? '' : $info['sign']; //为空时重新组合数组 if (empty($info)) { $info = [ 'id' => '', 'head_img' => '', 'nick_name' => '', 'gender' => '', 'birth_day' => '', 'sign' => '', ]; } return sendSuccessArray([ // 用户信息 'info' => $info ]); } /** * 更新用户个人信息 * @param array $data 需要更新的信息 * @date 2022-12-27 */ public function updateUserInfo($data) { $info_model = new UserInfo(); // 获取用户信息 $update_data = [ 'uid' => $this->mid, 'user_agent' => $this->userAgent, 'user_id' => $this->userId, 'head_img' => $data['head_img'], 'nick_name' => $data['nick_name'], ]; $res = $info_model->updateUser($update_data); if (!$res) { return sendErrorArray(3001, '更新用户信息失败'); } return sendSuccessArray([], '信息保存成功'); } /** * 获取用户账户信息 * @date 2022-08-29 */ public function getAccountInfo() { $user_model = new \app\base\model\user\User(); $app_weixin_user_model = new AppWeixinUser(); $app_qq_user_model = new AppQqUser(); $app_sinaweibo_user_model = new AppSinaweiboUser(); $app_apple_user_model = new AppAppleUser(); $alipay_model = new UserAlipay(); // 获取用户信息 $user_info = $user_model->getOneData([ ['id', '=', $this->userId], // 没有注销 ['status', '<>', 3] ], 'id,mobile_phone'); // 获取微信授权信息 $app_weixin_info = $app_weixin_user_model->getOneData([ ['user_id', '=', $this->userId] ], 'id,nickname'); $app_weixin_info['is_auth'] = empty($app_weixin_info) ? 0 : 1; // 获取QQ授权信息 $app_qq_info = $app_qq_user_model->getOneData([ ['user_id', '=', $this->userId] ], 'id,nickname'); $app_qq_info['is_auth'] = empty($app_qq_info) ? 0 : 1; // 获取新浪微博授权信息 $app_sinaweibo_info = $app_sinaweibo_user_model->getOneData([ ['user_id', '=', $this->userId] ], 'id,nickname'); $app_sinaweibo_info['is_auth'] = empty($app_sinaweibo_info) ? 0 : 1; // 获取苹果授权信息 $app_apple_info = $app_apple_user_model->getOneData([ ['user_id', '=', $this->userId] ], 'id,email'); $app_apple_info['is_auth'] = empty($app_apple_info) ? 0 : 1; // 获取支付宝账户信息 $alipay_info = $alipay_model->getOneData([ ['user_id', '=', $this->userId] ], 'id,account'); $alipay_info['is_auth'] = empty($alipay_info) ? 0 : 1; $return_data = [ // 用户信息 'user_info' => $user_info, // APP绑定微信用户信息 'app_weixin_info' => $app_weixin_info, // APP绑定QQ用户信息 'app_qq_info' => $app_qq_info, // APP绑定新浪微博用户信息 'app_sinaweibo_info' => $app_sinaweibo_info, // APP绑定苹果用户信息 'app_apple_info' => $app_apple_info, // 绑定支付宝用户信息 'alipay_info' => $alipay_info ]; return sendSuccessArray($return_data); } /** * 获取用户手机号 * @date 2022-10-09 */ public function getMobilePhone() { $user_model = new \app\base\model\user\User(); // 获取用户信息 $user_info = $user_model->getOneData([ ['id', '=', $this->userId], // 没有注销 ['status', '<>', 3] ], 'id,mobile_phone'); $return_data = [ // 用户信息 'user_info' => $user_info ]; return sendSuccessArray($return_data); } /** * 注销账户 * @date 2022-12-27 */ public function deleteUser() { $user_service = new \app\base\service\user\User(); $jwt_class = new \jwt\Jwt(); Db::startTrans(); // 注销账户 $res = $user_service->destory($this->userId); if ($res['code'] != 0) { Db::rollback(); return $res; } Db::commit(); // 签发token $arr = TOKEN_DATA; $arr['user_id'] = ''; $res_token = $jwt_class->signToken($arr); return sendSuccessArray([ 'access_token' => $res_token['token'], 'access_token_expire_time' => $res_token['exp'], ]); } /** * 获取用户账号设置 * @date 2022-12-27 */ public function getAccountConfig() { $account_config_model = new UserAccountConfig(); // 获取用户账号设置 $account_config = $account_config_model->getOneData([ ['user_id', '=', $this->userId] ], 'id,is_personal_recommend'); return sendSuccessArray([ // 个性化推荐是否打开 'is_personal_recommend' => empty($account_config) ? 0 : $account_config['is_personal_recommend'], ]); } /** * 更新用户账号设置 * @param int $is_personal_recommend 个性化开关是否打开 * @date 2022-12-27 */ public function updateAccountConfig($is_personal_recommend) { $account_config_model = new UserAccountConfig(); // 更新信息 $data = [ 'uid' => $this->mid, 'user_agent' => $this->userAgent, 'user_id' => $this->userId, 'is_personal_recommend' => $is_personal_recommend ]; $res = $account_config_model->updateAccountConfig($data); if (!$res) { return sendErrorArray(3001, '更新失败'); } return sendSuccessArray(); } }