mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-26 03:31:24 +08:00
refactor: update state management in UpdateDialogPopup and related components
- Replaced the use of `useAppDispatch` and `setUpdateState` with `useAppUpdateState` for better state handling in `UpdateDialogPopup`. - Updated `UpdateAppButton` to reference the new state structure. - Changed import paths for `HelpTooltip` in `AgentModal` and `ModelSetting` to maintain consistency across components. - Refactored API key management in `ApiService` to utilize `cacheService` instead of `window.keyv` for improved performance and reliability.
This commit is contained in:
parent
74ca4443d6
commit
361aa87838
@ -1,7 +1,7 @@
|
||||
import { loggerService } from '@logger'
|
||||
import { TopView } from '@renderer/components/TopView'
|
||||
import { handleSaveData, useAppDispatch } from '@renderer/store'
|
||||
import { setUpdateState } from '@renderer/store/runtime'
|
||||
import { useAppUpdateState } from '@renderer/hooks/useAppUpdate'
|
||||
import { handleSaveData } from '@renderer/store'
|
||||
import { Button, Modal } from 'antd'
|
||||
import type { ReleaseNoteInfo, UpdateInfo } from 'builder-util-runtime'
|
||||
import { useEffect, useState } from 'react'
|
||||
@ -23,8 +23,7 @@ const PopupContainer: React.FC<Props> = ({ releaseInfo, resolve }) => {
|
||||
const { t } = useTranslation()
|
||||
const [open, setOpen] = useState(true)
|
||||
const [isInstalling, setIsInstalling] = useState(false)
|
||||
const dispatch = useAppDispatch()
|
||||
|
||||
const { updateAppUpdateState } = useAppUpdateState()
|
||||
useEffect(() => {
|
||||
if (releaseInfo) {
|
||||
logger.info('Update dialog opened', { version: releaseInfo.version })
|
||||
@ -53,7 +52,7 @@ const PopupContainer: React.FC<Props> = ({ releaseInfo, resolve }) => {
|
||||
}
|
||||
|
||||
const onIgnore = () => {
|
||||
dispatch(setUpdateState({ ignore: true }))
|
||||
updateAppUpdateState({ ignore: true })
|
||||
setOpen(false)
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { HelpTooltip } from '@cherrystudio/ui'
|
||||
import { loggerService } from '@logger'
|
||||
import { ErrorBoundary } from '@renderer/components/ErrorBoundary'
|
||||
import { HelpTooltip } from '@renderer/components/TooltipIcons'
|
||||
import { TopView } from '@renderer/components/TopView'
|
||||
import { permissionModeCards } from '@renderer/config/agent'
|
||||
import { useAgents } from '@renderer/hooks/agents/useAgents'
|
||||
|
||||
@ -20,7 +20,7 @@ const UpdateAppButton: FC = () => {
|
||||
return null
|
||||
}
|
||||
|
||||
if (update.ignore) {
|
||||
if (appUpdateState.ignore) {
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { HelpTooltip } from '@renderer/components/TooltipIcons'
|
||||
import { HelpTooltip } from '@cherrystudio/ui'
|
||||
import SelectAgentBaseModelButton from '@renderer/pages/home/components/SelectAgentBaseModelButton'
|
||||
import type { AgentBaseWithId, ApiModel, UpdateAgentFunctionUnion } from '@renderer/types'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
/**
|
||||
* 职责:提供原子化的、无状态的API调用函数
|
||||
*/
|
||||
import { cacheService } from '@data/CacheService'
|
||||
import { preferenceService } from '@data/PreferenceService'
|
||||
import { loggerService } from '@logger'
|
||||
import type { AiSdkMiddlewareConfig } from '@renderer/aiCore/middleware/AiSdkMiddlewareBuilder'
|
||||
@ -467,9 +468,9 @@ function getRotatedApiKey(provider: Provider): string {
|
||||
return keys[0]
|
||||
}
|
||||
|
||||
const lastUsedKey = window.keyv.get(keyName)
|
||||
const lastUsedKey = cacheService.get(keyName) as string
|
||||
if (!lastUsedKey) {
|
||||
window.keyv.set(keyName, keys[0])
|
||||
cacheService.set(keyName, keys[0])
|
||||
return keys[0]
|
||||
}
|
||||
|
||||
@ -485,7 +486,7 @@ function getRotatedApiKey(provider: Provider): string {
|
||||
|
||||
const nextIndex = (currentIndex + 1) % keys.length
|
||||
const nextKey = keys[nextIndex]
|
||||
window.keyv.set(keyName, nextKey)
|
||||
cacheService.set(keyName, nextKey)
|
||||
|
||||
return nextKey
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user