示例#1
0
 /**
  * 获取 token.
  * 
  * @access public
  * @return void
  */
 public function getToken()
 {
     // 生成 token 并写入缓存.
     $token = Token::generate(C('var_app_id'));
     $value = [C('var_locate_city') => C('default_locate_city')];
     // 写入默认定位城市.
     $this->setRequestToken($token);
     $this->setTokenData($value, NULL);
     $value[C('var_app_token')] = $token;
     $this->setAjaxData(Message::SUCCESS, Message::get(Message::SUCCESS), $value)->myAjaxReturn();
 }
示例#2
0
 /**
  * 重新生成 token.
  * 将数据写入该 token 缓存, 并返回新的 token.
  * 
  * @access protected
  * @param array $data 待写入的数据.
  * @param string $token 旧 token, 默认 NULL, 叵有值, 表示删除旧 token 并把旧 token 的值写入新 token 中.
  * @return string 返回生成的新 token.
  */
 protected function reNewToken(array $data, $token = NULL)
 {
     $oldData = [];
     if (NULL !== $token) {
         $oldData = S($token);
         $oldData = NULL === $oldData || FALSE === $oldData ? [] : $oldData;
         S($token, NULL);
         // 删除旧 token.
     }
     foreach ($oldData as $k => $v) {
         // 旧数据项在新数据中不存在, 才加入新数据
         if (!isset($data[$k])) {
             $data[$k] = $v;
         }
     }
     $this->_token = $newToken = Token::generate(C('var_app_id'));
     S($newToken, $data);
     return $newToken;
 }