Skip to content
This repository was archived by the owner on Jun 17, 2025. It is now read-only.

Commit 028f1f9

Browse files
authored
fix: only one default role exists (#216)
1 parent 518d78a commit 028f1f9

File tree

8 files changed

+42
-15
lines changed

8 files changed

+42
-15
lines changed

.eslintrc-auto-import.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"executeSQL": true,
3333
"generalKeys": true,
3434
"getActivePinia": true,
35-
"getAiIamge": true,
35+
"getAiImage": true,
3636
"getAiMessage": true,
3737
"getContributorsApi": true,
3838
"getCurrentInstance": true,

src/components/Function/components/ToggleAnswer.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const handleClick = () => {
1313
1414
updateSessionData(getLastItem(sessionDataList.value))
1515
} else {
16-
currentSession.value?.type === 'text' ? getAiMessage() : getAiIamge()
16+
currentSession.value?.type === 'text' ? getAiMessage() : getAiImage()
1717
}
1818
}
1919
</script>

src/components/Input/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const onKeydown = (event: KeyboardEvent) => {
3030
popoverVisible.value = false
3131
3232
if (currentSession.value?.type === 'text') getAiMessage(value)
33-
else getAiIamge(value)
33+
else getAiImage(value)
3434
3535
textAreaElement.value?.blur()
3636
textAreaValue.value = ''

src/locales/es.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,6 @@
158158
"edit": "Editar",
159159
"delete": "Eliminar",
160160
"cancel": "Cancelar",
161-
"confirm": "Confirmar"
161+
"confirm": "Confirmar"
162162
}
163163
}

src/sqls/index.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { appConfigDir } from '@tauri-apps/api/path'
22
import Database from 'tauri-plugin-sql-api'
3-
import type { TableName, TablePayload, WherePayload } from '@/types'
3+
import type {
4+
TableName,
5+
TablePayload,
6+
WherePayload,
7+
RolePayload
8+
} from '@/types'
49

510
const dbFile = import.meta.env.DEV ? 'sql.dev.db' : 'sql.db'
611
const db = await Database.load(`sqlite:${await appConfigDir()}${dbFile}`)
@@ -134,16 +139,14 @@ export const insertSQL = async (
134139
tableName: TableName,
135140
payload: TablePayload
136141
) => {
137-
if (tableName === 'role') {
138-
const findPayload = Object.keys(payload).reduce((result, key) => {
139-
const newKey = key as keyof TablePayload
142+
const { changeDefaultRole } = useRoleStore()
140143

141-
return result.concat({ key: newKey, value: payload[newKey] })
142-
}, [] as WherePayload[])
144+
if (tableName === 'role' && (payload as RolePayload).is_default) {
145+
const findDefaultRole = await selectSQL('role', [
146+
{ key: 'is_default', value: true }
147+
])
143148

144-
const findRole = await selectSQL('role', findPayload)
145-
146-
if (findRole.length) return
149+
if (findDefaultRole.length) return changeDefaultRole()
147150
}
148151

149152
const insertKeys = [],

src/stores/role.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,25 @@ export const useRoleStore = defineStore(
113113
)[0]
114114
}
115115

116+
// 改变默认角色的信息(适配语言变更)
117+
const changeDefaultRole = async () => {
118+
const findDefaultRole = await selectSQL('role', [
119+
{ key: 'is_default', value: true }
120+
])
121+
122+
if (!findDefaultRole.length) return
123+
124+
const { t } = i18n.global
125+
126+
await updateSQL('role', {
127+
...findDefaultRole[0],
128+
name: t('session.role.default.name'),
129+
description: t('session.role.default.description')
130+
})
131+
132+
if (currentRole.value?.is_default) changeCurrentRole()
133+
}
134+
116135
return {
117136
currentRole,
118137
roleList,
@@ -125,7 +144,8 @@ export const useRoleStore = defineStore(
125144
addRole,
126145
updateRole,
127146
deleteRole,
128-
changeCurrentRole
147+
changeCurrentRole,
148+
changeDefaultRole
129149
}
130150
},
131151
{

src/stores/settings.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ export const useSettingsStore = defineStore(
8686

8787
// 语言切换
8888
const setLanguage = async (lang?: Locales) => {
89+
const { changeDefaultRole } = useRoleStore()
90+
8991
let systemLang = ((await invoke('get_user_language')) as string).split(
9092
'-'
9193
)[0] as Locales
@@ -95,6 +97,8 @@ export const useSettingsStore = defineStore(
9597
}
9698

9799
locale.value = lang || currentLang.value || systemLang
100+
101+
changeDefaultRole()
98102
}
99103

100104
onMounted(() => {

src/utils/getMessage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export const getAiMessage = async (value?: string) => {
134134
* 获取 ai 作图
135135
* @param value 消息内容
136136
*/
137-
export const getAiIamge = async (value?: string) => {
137+
export const getAiImage = async (value?: string) => {
138138
const key = getOpenAIKey()
139139
if (!key) return
140140

0 commit comments

Comments
 (0)