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.
This commit is contained in:
kangfenmao 2025-04-08 19:59:32 +08:00
parent f78663f815
commit 2a0d6eb08a
3 changed files with 28 additions and 61 deletions

View File

@ -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
}
]

View File

@ -42,7 +42,7 @@ const persistedReducer = persistReducer(
{
key: 'cherry-studio',
storage,
version: 91,
version: 92,
blacklist: ['runtime', 'messages'],
migrate
},

View File

@ -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