コード例 #1
0
 /**
  * 获取发送短信的令牌
  * @param Boolean  $flag  是否请求新令牌:true-请求(不管本地Redis是否保存令牌)  false-不请求(首先从本地Redis中取,没有的话再向服务器请求)
  * @return String 令牌
  */
 private static function getAccessToken($flag)
 {
     if (!$flag) {
         // 首先从本地Redis中取
         $accesstoken = MyRedis::get('sms.accesstoken');
         if ($accesstoken) {
             return $accesstoken;
         }
     }
     $url = "https://oauth.api.189.cn/emp/oauth2/v3/access_token";
     $postData['grant_type'] = 'client_credentials';
     $postData['app_id'] = YsSmSService::APPID;
     $postData['app_secret'] = YsSmSService::APPSECRET;
     foreach ($postData as $key => $value) {
         $post[] = $key . '=' . $value;
     }
     $curl = new t\Curl();
     $resultJson = $curl->post($url, implode('&', $post));
     $resObj = json_decode($resultJson);
     $expiers = intval($resObj->expires_in);
     $accesstoken = $resObj->access_token;
     if ($expiers > 0) {
         MyRedis::set('sms.accesstoken', $accesstoken, $expiers);
     }
     return $accesstoken;
 }
コード例 #2
0
ファイル: UserAdmin.class.php プロジェクト: skyshow/ticket
 private function kickUserOffline($userID)
 {
     // 删除用户userToken,踢用户下线
     $userToken = p\MyRedis::hashGet("user.info:{$userID}", 'usertoken');
     if ($userToken) {
         p\MyRedis::delete("token.to.userid:{$userToken}");
         // 删除用户userToken
         p\MyRedis::delete("user.info:{$userID}");
     }
 }
コード例 #3
0
ファイル: CommonAdmin.class.php プロジェクト: skyshow/ticket
 protected function getCommonUserTokenByUid($userId)
 {
     $userToken = p\MyRedis::hashGet("user.info:{$userId}", 'usertoken');
     if (!$userToken) {
         // 不存在才生成
         $expire = 5 * 24 * 3600;
         // userToken有效期暂时设置为5天
         $userToken = $this->getUserToken($userId, $expire);
         $userInfo = array();
         // 需要保存的用户信息
         $userInfo['usertoken'] = $userToken;
         $userInfo['logintype'] = 0;
         // 0:表示程序内部登录,非用户登录
         $userInfo['logintime'] = time();
         // 登录时间
         $this->saveUserInfoToRedis($userId, $userInfo, $expire + 60);
         // 保存新用户凭证到Redis中(备注:过期时间延长1分钟)
     }
     return $userToken;
 }