Ejemplo n.º 1
0
 public static function getJsToken($wechatId)
 {
     $msg = '参数有误';
     $tokenValue = '';
     $tokenModel = SettingModel::model()->find("wechatId = :wechatId and `key`=:key", array(':wechatId' => $wechatId, ':key' => Globals::SETTING_KEY_JS_TOKEN));
     if ($tokenModel) {
         if (time() - $tokenModel->created_at < WechatToken::EXPIRES_IN) {
             $tokenValue = $tokenModel->value;
         }
     }
     if (!$tokenValue) {
         $jsToken = WechatToken::getJsToken($tokenValue);
         if ($jsToken['status'] == WechatToken::OK) {
             $tokenValue = $jsToken['result'];
             //update token
             if (!$tokenModel) {
                 $tokenModel = new SettingModel();
                 $tokenModel->wechatId = $wechatId;
                 $tokenModel->key = Globals::SETTING_KEY_JS_TOKEN;
             }
             $tokenModel->value = $tokenValue;
             $tokenModel->created_at = time();
             $tokenModel->save();
         } else {
             $msg = $jsToken['result'];
         }
     }
     return array('tokenValue' => $tokenValue, 'msg' => $msg);
 }
Ejemplo n.º 2
0
 private function _getToken($wechatId)
 {
     $msg = '参数有误';
     $tokenValue = '';
     $tokenModel = SettingModel::model()->find("wechatId = :wechatId and `key`=:key", array(':wechatId' => $wechatId, ':key' => Globals::SETTING_KEY_ACCESS_TOKEN));
     if ($tokenModel) {
         if (time() - $tokenModel->created_at < WechatToken::EXPIRES_IN) {
             $tokenValue = $tokenModel->value;
         }
     }
     if (!$tokenValue) {
         $wechat = WechatModel::model()->findByPk($wechatId);
         $appid = $wechat->appid;
         $secret = $wechat->secret;
         //$tokenObj = new WechatToken($appid, $secret);
         $token = WechatToken::getToken($appid, $secret);
         if ($token['status'] == WechatToken::OK) {
             $tokenValue = $token['result'];
             //update token
             if (!$tokenModel) {
                 $tokenModel = new SettingModel();
                 $tokenModel->wechatId = $wechatId;
                 $tokenModel->key = Globals::SETTING_KEY_ACCESS_TOKEN;
             }
             $tokenModel->value = $tokenValue;
             $tokenModel->created_at = time();
             $tokenModel->save();
         } else {
             $msg = $token['result'];
         }
     }
     return array('tokenValue' => $tokenValue, 'msg' => $msg);
 }