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); }
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); }