This commit is contained in:
SunSeekerX
2026-01-19 20:24:47 +08:00
parent 12fd5e1cb4
commit 76ecbe18a5
98 changed files with 8182 additions and 1896 deletions

View File

@@ -3804,8 +3804,9 @@
<script setup>
import { ref, computed, watch, onMounted } from 'vue'
import { showToast } from '@/utils/toast'
import { apiClient } from '@/config/api'
import { showToast } from '@/utils/tools'
import * as httpApi from '@/utils/http_apis'
import { getModels } from '@/utils/http_apis'
import { useAccountsStore } from '@/stores/accounts'
import { useConfirm } from '@/composables/useConfirm'
import ProxyConfig from './ProxyConfig.vue'
@@ -4110,20 +4111,20 @@ const allowedModels = ref([
'claude-3-5-haiku-20241022'
]) // 白名单模式下选中的模型列表
// 常用模型列表
const commonModels = [
{ value: 'claude-opus-4-5-20251101', label: 'Claude Opus 4.5', color: 'blue' },
{ value: 'claude-sonnet-4-20250514', label: 'Claude Sonnet 4', color: 'blue' },
{ value: 'claude-sonnet-4-5-20250929', label: 'Claude Sonnet 4.5', color: 'indigo' },
{ value: 'claude-3-5-haiku-20241022', label: 'Claude 3.5 Haiku', color: 'green' },
{ value: 'claude-haiku-4-5-20251001', label: 'Claude Haiku 4.5', color: 'emerald' },
{ value: 'claude-opus-4-20250514', label: 'Claude Opus 4', color: 'purple' },
{ value: 'claude-opus-4-1-20250805', label: 'Claude Opus 4.1', color: 'purple' },
{ value: 'deepseek-chat', label: 'DeepSeek Chat', color: 'cyan' },
{ value: 'Qwen', label: 'Qwen', color: 'orange' },
{ value: 'Kimi', label: 'Kimi', color: 'pink' },
{ value: 'GLM', label: 'GLM', color: 'teal' }
]
// 常用模型列表(从 API 获取)
const commonModels = ref([])
// 加载模型列表
const loadCommonModels = async () => {
try {
const result = await getModels()
if (result.success && result.data?.all) {
commonModels.value = result.data.all
}
} catch (error) {
console.error('Failed to load models:', error)
}
}
// 模型映射表数据
const modelMappings = ref([])
@@ -4330,7 +4331,7 @@ const loadAccountUsage = async () => {
if (!isEdit.value || !props.account?.id) return
try {
const response = await apiClient.get(`/admin/claude-console-accounts/${props.account.id}/usage`)
const response = await httpApi.get(`/admin/claude-console-accounts/${props.account.id}/usage`)
if (response) {
// 更新表单中的使用量数据
form.value.dailyUsage = response.dailyUsage || 0
@@ -5733,7 +5734,7 @@ const filteredGroups = computed(() => {
const loadGroups = async () => {
loadingGroups.value = true
try {
const response = await apiClient.get('/admin/account-groups')
const response = await httpApi.get('/admin/account-groups')
groups.value = response.data || []
} catch (error) {
showToast('加载分组列表失败', 'error')
@@ -6186,7 +6187,7 @@ watch(
// 否则查找账户所属的分组
const checkPromises = groups.value.map(async (group) => {
try {
const response = await apiClient.get(`/admin/account-groups/${group.id}/members`)
const response = await httpApi.get(`/admin/account-groups/${group.id}/members`)
const members = response.data || []
if (members.some((m) => m.id === newAccount.id)) {
foundGroupIds.push(group.id)
@@ -6214,7 +6215,7 @@ watch(
// 获取统一 User-Agent 信息
const fetchUnifiedUserAgent = async () => {
try {
const response = await apiClient.get('/admin/claude-code-version')
const response = await httpApi.get('/admin/claude-code-version')
if (response.success && response.userAgent) {
unifiedUserAgent.value = response.userAgent
} else {
@@ -6230,7 +6231,7 @@ const fetchUnifiedUserAgent = async () => {
const clearUnifiedCache = async () => {
clearingCache.value = true
try {
const response = await apiClient.post('/admin/claude-code-version/clear')
const response = await httpApi.post('/admin/claude-code-version/clear')
if (response.success) {
unifiedUserAgent.value = ''
showToast('统一User-Agent缓存已清除', 'success')
@@ -6336,6 +6337,9 @@ onMounted(() => {
initModelMappings()
}
// 加载模型列表
loadCommonModels()
// 获取Claude Code统一User-Agent信息
fetchUnifiedUserAgent()
// 如果是编辑模式且是Claude Console账户加载使用情况