public function run()
 {
     list($uid, $username) = $this->getInput(array('uid', 'username'));
     if ($uid) {
     } elseif ($username) {
         $info = Wekit::load('user.PwUser')->getUserByName($username);
         $uid = $info['uid'];
     } else {
         $uid = 0;
     }
     $user = new PwUserBo($uid, true);
     $medals = array();
     if ($uid) {
         /* @var $service PwAttention */
         $service = Wekit::load('attention.PwAttention');
         $isFollowed = $service->isFollowed($this->loginUser->uid, $uid);
         $isFans = $service->isFollowed($uid, $this->loginUser->uid);
         $follow2num = $isFollowed || $uid == $this->loginUser->uid ? 0 : $service->countFollowToFollow($this->loginUser->uid, $uid);
         if ($follow2num > 0) {
             $uids = $service->getFollowToFollow($this->loginUser->uid, $uid, 2);
             $usernames = Wekit::load('user.PwUser')->fetchUserByUid(array_keys($uids));
             $this->setOutput($usernames, 'usernames');
         }
         if (Wekit::C('site', 'medal.isopen')) {
             $medalIds = explode(',', $user->info['medal_ids']);
             $medals = Wekit::load('medal.srv.PwMedalCache')->fetchMedal($medalIds);
         }
     } else {
         $isFollowed = false;
         $isFans = false;
         $follow2num = 0;
         $user->info['follows'] = 0;
         $user->info['fans'] = 0;
         $user->info['postnum'] = 0;
     }
     $this->setOutput($user->info['gender'] == 1, 'female');
     $this->setOutput(Pw::checkOnline($user->info['lastvisit']), 'isol');
     $this->setOutput($uid, 'uid');
     $this->setOutput($follow2num, 'follow2num');
     $this->setOutput($isFollowed, 'isFollowed');
     $this->setOutput($isFans, 'isFans');
     $this->setOutput($user, 'user');
     $this->setOutput($medals, 'medals');
     $this->setOutput(count($medals), 'medalNum');
     $this->setTemplate('TPL:common.card_run');
 }