From 2a0d6eb08a8bedbe166035eef6dfe7e0c8f0a018 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Tue, 8 Apr 2025 19:59:32 +0800 Subject: [PATCH] feat: update dangbei miniapp integration and version bump - Added `bodered` property to the dangbei miniapp configuration. - Refactored migration logic to utilize a new `addMiniApp` function for cleaner code. - Incremented store version from 91 to 92 for migration compatibility. --- src/renderer/src/config/minapps.ts | 6 +-- src/renderer/src/store/index.ts | 2 +- src/renderer/src/store/migrate.ts | 81 +++++++++--------------------- 3 files changed, 28 insertions(+), 61 deletions(-) diff --git a/src/renderer/src/config/minapps.ts b/src/renderer/src/config/minapps.ts index 27f5106f..fb438634 100644 --- a/src/renderer/src/config/minapps.ts +++ b/src/renderer/src/config/minapps.ts @@ -6,6 +6,7 @@ import BaicuanAppLogo from '@renderer/assets/images/apps/baixiaoying.webp?url' import BoltAppLogo from '@renderer/assets/images/apps/bolt.svg?url' import CiciAppLogo from '@renderer/assets/images/apps/cici.webp?url' import CozeAppLogo from '@renderer/assets/images/apps/coze.webp?url' +import DangbeiLogo from '@renderer/assets/images/apps/dangbei.jpg?url' import DevvAppLogo from '@renderer/assets/images/apps/devv.png?url' import DifyAppLogo from '@renderer/assets/images/apps/dify.svg?url' import DoubaoAppLogo from '@renderer/assets/images/apps/doubao.png?url' @@ -48,8 +49,6 @@ import DeepSeekProviderLogo from '@renderer/assets/images/providers/deepseek.png import GroqProviderLogo from '@renderer/assets/images/providers/groq.png?url' import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png?url' import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.png?url' -import DangbeiLogo from '@renderer/assets/images/apps/dangbei.jpg?url' - import { MinAppType } from '@renderer/types' export const DEFAULT_MIN_APPS: MinAppType[] = [ { @@ -391,6 +390,7 @@ export const DEFAULT_MIN_APPS: MinAppType[] = [ id: 'dangbei', name: '当贝AI', logo: DangbeiLogo, - url: 'https://ai.dangbei.com/' + url: 'https://ai.dangbei.com/', + bodered: true } ] diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts index 080a9158..f6fe36cd 100644 --- a/src/renderer/src/store/index.ts +++ b/src/renderer/src/store/index.ts @@ -42,7 +42,7 @@ const persistedReducer = persistReducer( { key: 'cherry-studio', storage, - version: 91, + version: 92, blacklist: ['runtime', 'messages'], migrate }, diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index 61d9508d..aea7201a 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -31,6 +31,17 @@ function removeMiniAppFromState(state: RootState, id: string) { } } +function addMiniApp(state: RootState, id: string) { + if (state.minapps) { + const app = DEFAULT_MIN_APPS.find((app) => app.id === id) + if (app) { + if (!state.minapps.enabled.find((app) => app.id === id)) { + state.minapps.enabled.push(app) + } + } + } +} + // add provider to state function addProvider(state: RootState, id: string) { if (!state.llm.providers.find((p) => p.id === id)) { @@ -737,12 +748,7 @@ const migrateConfig = { }, '59': (state: RootState) => { try { - if (state.minapps) { - const flowith = DEFAULT_MIN_APPS.find((app) => app.id === 'flowith') - if (flowith) { - state.minapps.enabled.push(flowith) - } - } + addMiniApp(state, 'flowith') return state } catch (error) { return state @@ -783,12 +789,7 @@ const migrateConfig = { }, '63': (state: RootState) => { try { - if (state.minapps) { - const mintop = DEFAULT_MIN_APPS.find((app) => app.id === '3mintop') - if (mintop) { - state.minapps.enabled.push(mintop) - } - } + addMiniApp(state, '3mintop') return state } catch (error) { return state @@ -815,16 +816,9 @@ const migrateConfig = { try { addProvider(state, 'gitee-ai') addProvider(state, 'ppio') - + addMiniApp(state, 'aistudio') state.llm.providers = state.llm.providers.filter((provider) => provider.id !== 'graphrag-kylin-mountain') - if (state.minapps) { - const aistudio = DEFAULT_MIN_APPS.find((app) => app.id === 'aistudio') - if (aistudio) { - state.minapps.enabled.push(aistudio) - } - } - return state } catch (error) { return state @@ -832,13 +826,7 @@ const migrateConfig = { }, '67': (state: RootState) => { try { - if (state.minapps) { - const xiaoyi = DEFAULT_MIN_APPS.find((app) => app.id === 'xiaoyi') - if (xiaoyi) { - state.minapps.enabled.push(xiaoyi) - } - } - + addMiniApp(state, 'xiaoyi') addProvider(state, 'modelscope') addProvider(state, 'lmstudio') addProvider(state, 'perplexity') @@ -856,16 +844,9 @@ const migrateConfig = { }, '68': (state: RootState) => { try { - if (state.minapps) { - const notebooklm = DEFAULT_MIN_APPS.find((app) => app.id === 'notebooklm') - if (notebooklm) { - state.minapps.enabled.push(notebooklm) - } - } - + addMiniApp(state, 'notebooklm') addProvider(state, 'modelscope') addProvider(state, 'lmstudio') - return state } catch (error) { return state @@ -873,12 +854,7 @@ const migrateConfig = { }, '69': (state: RootState) => { try { - if (state.minapps) { - const coze = DEFAULT_MIN_APPS.find((app) => app.id === 'coze') - if (coze) { - state.minapps.enabled.push(coze) - } - } + addMiniApp(state, 'coze') state.settings.gridColumns = 2 state.settings.gridPopoverTrigger = 'hover' return state @@ -923,12 +899,7 @@ const migrateConfig = { }, '72': (state: RootState) => { try { - if (state.minapps) { - const monica = DEFAULT_MIN_APPS.find((app) => app.id === 'monica') - if (monica) { - state.minapps.enabled.push(monica) - } - } + addMiniApp(state, 'monica') // remove duplicate lmstudio providers const emptyLmStudioProviderIndex = state.llm.providers.findLastIndex( @@ -954,7 +925,7 @@ const migrateConfig = { addProvider(state, 'lmstudio') addProvider(state, 'o3') - moveProvider(state.llm.providers, 'o3', 2) + state.llm.providers = moveProvider(state.llm.providers, 'o3', 2) state.assistants.assistants.forEach((assistant) => { const leadingEmoji = getLeadingEmoji(assistant.name) @@ -996,14 +967,9 @@ const migrateConfig = { }, '75': (state: RootState) => { try { - if (state.minapps) { - const you = DEFAULT_MIN_APPS.find((app) => app.id === 'you') - const cici = DEFAULT_MIN_APPS.find((app) => app.id === 'cici') - const zhihu = DEFAULT_MIN_APPS.find((app) => app.id === 'zhihu') - you && state.minapps.enabled.push(you) - cici && state.minapps.enabled.push(cici) - zhihu && state.minapps.enabled.push(zhihu) - } + addMiniApp(state, 'you') + addMiniApp(state, 'cici') + addMiniApp(state, 'zhihu') return state } catch (error) { return state @@ -1201,7 +1167,8 @@ const migrateConfig = { }, '92': (state: RootState) => { try { - addProvider(state, 'dangbei') + addMiniApp(state, 'dangbei') + state.llm.providers = moveProvider(state.llm.providers, 'qiniu', 12) return state } catch (error) { return state