fix: 修复 OpenAI 路由中的 req.apiKeyData undefined 错误

- 将所有路由中的 req.apiKeyData 改为 req.apiKey(与中间件一致)
- 在 authenticateApiKey 中间件中添加缺失的字段(permissions, geminiAccountId, usage)
- 修复 openaiClaudeRoutes.js、openaiGeminiRoutes.js 和 geminiRoutes.js 中的引用错误
- 确保 API 权限检查正常工作

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
shaw
2025-07-22 13:08:24 +08:00
parent 6b0832bc2d
commit 9ad7feb94c
4 changed files with 17 additions and 14 deletions

View File

@@ -29,7 +29,7 @@ router.post('/messages', authenticateApiKey, async (req, res) => {
let abortController = null;
try {
const apiKeyData = req.apiKeyData;
const apiKeyData = req.apiKey;
// 检查权限
if (!checkPermissions(apiKeyData, 'gemini')) {
@@ -137,7 +137,7 @@ router.post('/messages', authenticateApiKey, async (req, res) => {
// 处理速率限制
if (error.status === 429) {
if (req.apiKeyData && req.account) {
if (apiKeyData && req.account) {
await geminiAccountService.setAccountRateLimited(req.account.id, true);
}
}
@@ -163,7 +163,7 @@ router.post('/messages', authenticateApiKey, async (req, res) => {
// 获取可用模型列表
router.get('/models', authenticateApiKey, async (req, res) => {
try {
const apiKeyData = req.apiKeyData;
const apiKeyData = req.apiKey;
// 检查权限
if (!checkPermissions(apiKeyData, 'gemini')) {
@@ -215,7 +215,7 @@ router.get('/models', authenticateApiKey, async (req, res) => {
// 使用情况统计(与 Claude 共用)
router.get('/usage', authenticateApiKey, async (req, res) => {
try {
const usage = req.apiKeyData.usage;
const usage = req.apiKey.usage;
res.json({
object: 'usage',
@@ -240,7 +240,7 @@ router.get('/usage', authenticateApiKey, async (req, res) => {
// API Key 信息(与 Claude 共用)
router.get('/key-info', authenticateApiKey, async (req, res) => {
try {
const keyData = req.apiKeyData;
const keyData = req.apiKey;
res.json({
id: keyData.id,