@@ -530,51 +530,54 @@ export const useSettingsStore = defineStore("settingsStore", {
530530 async changeAppearanceSetting ( data : SettingsPostData ) {
531531 Toast . loading ( "保存外观设置中..." , { cover : true , id : "theme__loading" } ) ;
532532 const { showNotify } = useAppNotifyStore ( ) ;
533- const forceEditorGroupingMode = Boolean (
534- data . appearanceSetting
535- && ! this . hasRemoteEditorGroupingMode
536- && this . hasCachedEditorGroupingMode
537- && isEditorGroupingMode ( data . appearanceSetting . editorGroupingMode )
538- ) ;
539- const requestData = data . appearanceSetting
540- ? {
541- ...data ,
542- appearanceSetting : createAppearanceSettingPatch (
543- data . appearanceSetting ,
544- this . appearanceSetting ,
545- { forceEditorGroupingMode } ,
546- ) ,
547- }
548- : data ;
549- const res = await settingsApi . setSettings ( requestData ) ;
550- if ( res ?. data ?. status === "success" && res ?. data ?. data ) {
551- const hasAppearanceSettingPatch = hasRemoteAppearanceSetting ( requestData . appearanceSetting ) ;
552- const responseHasAppearanceSetting = hasRemoteAppearanceSetting ( res . data . data . appearanceSetting ) ;
553- const responseHasEditorGroupingMode = hasRemoteEditorGroupingMode ( res . data . data . appearanceSetting ) ;
554- const requestHasEditorGroupingMode = isEditorGroupingMode ( requestData . appearanceSetting ?. editorGroupingMode ) ;
555- this . hasRemoteAppearanceSetting = this . hasRemoteAppearanceSetting
556- || responseHasAppearanceSetting ;
557- this . hasRemoteEditorGroupingMode = responseHasEditorGroupingMode ;
558- this . applyAppearanceSetting (
559- hasAppearanceSettingPatch
560- ? {
561- ...this . appearanceSetting ,
562- ...requestData . appearanceSetting ,
563- }
564- : res . data . data . appearanceSetting ,
565- {
566- cacheEditorGroupingMode : responseHasEditorGroupingMode
567- || requestHasEditorGroupingMode
568- || this . hasCachedEditorGroupingMode ,
569- } ,
533+ try {
534+ const forceEditorGroupingMode = Boolean (
535+ data . appearanceSetting
536+ && ! this . hasRemoteEditorGroupingMode
537+ && this . hasCachedEditorGroupingMode
538+ && isEditorGroupingMode ( data . appearanceSetting . editorGroupingMode )
570539 ) ;
571- } else {
572- showNotify ( {
573- title : `保存外观设置失败` ,
574- type : "danger" ,
575- } ) ;
540+ const requestData = data . appearanceSetting
541+ ? {
542+ ...data ,
543+ appearanceSetting : createAppearanceSettingPatch (
544+ data . appearanceSetting ,
545+ this . appearanceSetting ,
546+ { forceEditorGroupingMode } ,
547+ ) ,
548+ }
549+ : data ;
550+ const res = await settingsApi . setSettings ( requestData ) ;
551+ if ( res ?. data ?. status === "success" && res ?. data ?. data ) {
552+ const hasAppearanceSettingPatch = hasRemoteAppearanceSetting ( requestData . appearanceSetting ) ;
553+ const responseHasAppearanceSetting = hasRemoteAppearanceSetting ( res . data . data . appearanceSetting ) ;
554+ const responseHasEditorGroupingMode = hasRemoteEditorGroupingMode ( res . data . data . appearanceSetting ) ;
555+ const requestHasEditorGroupingMode = isEditorGroupingMode ( requestData . appearanceSetting ?. editorGroupingMode ) ;
556+ this . hasRemoteAppearanceSetting = this . hasRemoteAppearanceSetting
557+ || responseHasAppearanceSetting ;
558+ this . hasRemoteEditorGroupingMode = responseHasEditorGroupingMode ;
559+ this . applyAppearanceSetting (
560+ hasAppearanceSettingPatch
561+ ? {
562+ ...this . appearanceSetting ,
563+ ...requestData . appearanceSetting ,
564+ }
565+ : res . data . data . appearanceSetting ,
566+ {
567+ cacheEditorGroupingMode : responseHasEditorGroupingMode
568+ || requestHasEditorGroupingMode
569+ || this . hasCachedEditorGroupingMode ,
570+ } ,
571+ ) ;
572+ } else {
573+ showNotify ( {
574+ title : `保存外观设置失败` ,
575+ type : "danger" ,
576+ } ) ;
577+ }
578+ } finally {
579+ Toast . hide ( "theme__loading" ) ;
576580 }
577- Toast . hide ( "theme__loading" ) ;
578581 } ,
579582 } ,
580583} ) ;
0 commit comments