mirror of
https://github.com/router-for-me/Cli-Proxy-API-Management-Center.git
synced 2026-06-16 21:03:58 +08:00
Compare commits
7 Commits
@@ -22,7 +22,7 @@ jobs:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: '24'
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
Generated
+534
-850
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -31,7 +31,7 @@
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@typescript-eslint/eslint-plugin": "^8.48.1",
|
||||
"@typescript-eslint/parser": "^8.48.1",
|
||||
"@vitejs/plugin-react": "^5.1.1",
|
||||
"@vitejs/plugin-react": "^6.0.1",
|
||||
"eslint": "^9.39.1",
|
||||
"eslint-plugin-react-hooks": "^7.0.1",
|
||||
"eslint-plugin-react-refresh": "^0.4.24",
|
||||
@@ -40,7 +40,7 @@
|
||||
"sass": "^1.94.2",
|
||||
"typescript": "^5.9.3",
|
||||
"typescript-eslint": "^8.48.1",
|
||||
"vite": "^7.2.6",
|
||||
"vite-plugin-singlefile": "^2.3.0"
|
||||
"vite": "^8.0.10",
|
||||
"vite-plugin-singlefile": "^2.3.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -410,14 +410,13 @@ const fetchCodexQuota = async (
|
||||
|
||||
const planTypeFromFile = resolveCodexPlanType(file);
|
||||
const accountId = resolveCodexChatgptAccountId(file);
|
||||
if (!accountId) {
|
||||
throw new Error(t('codex_quota.missing_account_id'));
|
||||
}
|
||||
|
||||
const requestHeader: Record<string, string> = {
|
||||
...CODEX_REQUEST_HEADERS,
|
||||
'Chatgpt-Account-Id': accountId,
|
||||
};
|
||||
if (accountId) {
|
||||
requestHeader['Chatgpt-Account-Id'] = accountId;
|
||||
}
|
||||
|
||||
const result = await apiCallApi.request({
|
||||
authIndex,
|
||||
|
||||
@@ -57,11 +57,7 @@ $openai-toolbar-control-height: 36px;
|
||||
.openaiProviderList {
|
||||
display: grid;
|
||||
gap: $spacing-md;
|
||||
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
|
||||
|
||||
@media (min-width: 1400px) {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
grid-template-columns: repeat(auto-fill, minmax(min(100%, 350px), 1fr));
|
||||
|
||||
@include mobile {
|
||||
grid-template-columns: 1fr;
|
||||
@@ -78,6 +74,7 @@ $openai-toolbar-control-height: 36px;
|
||||
align-items: stretch;
|
||||
gap: $spacing-sm;
|
||||
min-height: 0;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.openaiProviderMeta {
|
||||
@@ -456,6 +453,7 @@ $openai-toolbar-control-height: 36px;
|
||||
align-items: baseline;
|
||||
gap: 6px;
|
||||
margin-bottom: 4px;
|
||||
min-width: 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
@@ -470,6 +468,9 @@ $openai-toolbar-control-height: 36px;
|
||||
.fieldValue {
|
||||
color: var(--text-primary);
|
||||
font-weight: 600;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-all;
|
||||
font-family: 'Monaco', 'Menlo', 'Consolas', 'Ubuntu Mono', monospace;
|
||||
}
|
||||
@@ -480,22 +481,30 @@ $openai-toolbar-control-height: 36px;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px;
|
||||
margin-top: 6px;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.headerBadge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
flex-wrap: wrap;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
background: var(--accent-tertiary, #f3f4f6);
|
||||
border: 1px solid var(--border-primary);
|
||||
border-radius: 12px;
|
||||
padding: 4px 10px;
|
||||
font-size: 12px;
|
||||
color: var(--text-secondary);
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
|
||||
strong {
|
||||
font-weight: 600;
|
||||
color: var(--text-primary);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -506,6 +515,8 @@ $openai-toolbar-control-height: 36px;
|
||||
gap: 6px;
|
||||
margin-top: 8px;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.modelCountLabel {
|
||||
@@ -525,6 +536,8 @@ $openai-toolbar-control-height: 36px;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
flex-wrap: wrap;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
background: var(--bg-quinary, #f8f9fa);
|
||||
color: var(--text-secondary);
|
||||
border: 1px solid var(--border-secondary);
|
||||
@@ -542,12 +555,16 @@ $openai-toolbar-control-height: 36px;
|
||||
.modelName {
|
||||
font-weight: 600;
|
||||
color: var(--text-primary);
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.modelAlias {
|
||||
color: var(--text-tertiary);
|
||||
font-style: italic;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
overflow-wrap: anywhere;
|
||||
|
||||
&::before {
|
||||
@@ -581,6 +598,8 @@ $openai-toolbar-control-height: 36px;
|
||||
// API密钥条目列表(二级卡片)
|
||||
.apiKeyEntriesSection {
|
||||
margin-top: 10px;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.apiKeyEntriesLabel {
|
||||
@@ -594,6 +613,8 @@ $openai-toolbar-control-height: 36px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.apiKeyEntryCard {
|
||||
@@ -601,6 +622,8 @@ $openai-toolbar-control-height: 36px;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
padding: 8px 12px;
|
||||
background: var(--bg-secondary, #f9fafb);
|
||||
border: 1px solid var(--border-secondary);
|
||||
@@ -626,12 +649,19 @@ $openai-toolbar-control-height: 36px;
|
||||
font-family: 'Monaco', 'Menlo', 'Consolas', 'Ubuntu Mono', monospace;
|
||||
font-weight: 600;
|
||||
color: var(--text-primary);
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.apiKeyEntryProxy {
|
||||
color: var(--text-tertiary);
|
||||
font-size: 11px;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
|
||||
&::before {
|
||||
content: '| Proxy: ';
|
||||
|
||||
@@ -690,7 +690,21 @@
|
||||
}
|
||||
|
||||
.fileCardDisabled {
|
||||
opacity: 0.72;
|
||||
background-color: color-mix(in srgb, var(--bg-primary) 78%, var(--bg-secondary));
|
||||
border-color: color-mix(in srgb, var(--border-color) 62%, transparent);
|
||||
|
||||
.providerAvatar,
|
||||
.cardHeaderContent,
|
||||
.cardMeta,
|
||||
.healthStatusMessage,
|
||||
.cardInsights {
|
||||
opacity: 0.72;
|
||||
}
|
||||
|
||||
.cardSelection,
|
||||
.cardActions {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
transform: none;
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
:global([data-theme='dark']) {
|
||||
[data-theme='dark'] {
|
||||
.btn {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
+2
-3
@@ -68,10 +68,9 @@ export default defineConfig({
|
||||
assetsInlineLimit: 100000000,
|
||||
chunkSizeWarningLimit: 100000000,
|
||||
cssCodeSplit: false,
|
||||
rollupOptions: {
|
||||
rolldownOptions: {
|
||||
output: {
|
||||
inlineDynamicImports: true,
|
||||
manualChunks: undefined
|
||||
codeSplitting: false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user