diff --git a/apps/vue/src/api/settings/model/settingModel.ts b/apps/vue/src/api/settings/model/settingModel.ts index a577068b7..32cb86c0f 100644 --- a/apps/vue/src/api/settings/model/settingModel.ts +++ b/apps/vue/src/api/settings/model/settingModel.ts @@ -56,3 +56,7 @@ export class SettingGroup { description?: string; settings = new Array(); } + +export interface SettingGroupResult { + items: SettingGroup[]; +} diff --git a/apps/vue/src/api/settings/settings.ts b/apps/vue/src/api/settings/settings.ts index c1d65c9a8..34ace2748 100644 --- a/apps/vue/src/api/settings/settings.ts +++ b/apps/vue/src/api/settings/settings.ts @@ -1,16 +1,17 @@ import { defHttp } from '/@/utils/http/axios'; -import { SettingGroup, SettingsUpdate } from './model/settingModel'; -import { ListResultDto } from '/@/api/model/baseModel'; +import { SettingGroupResult, SettingsUpdate } from './model/settingModel'; enum Api { GetGlobalSettings = '/api/setting-management/settings/by-global', SetGlobalSettings = '/api/setting-management/settings/change-global', GetCurrentTenantSettings = '/api/setting-management/settings/by-current-tenant', SetCurrentTenantSettings = '/api/setting-management/settings/change-current-tenant', + GetCurrentUserSettings = '/api/setting-management/settings/by-current-user', + SetCurrentUserSettings = '/api/setting-management/settings/change-current-user', } export const getGlobalSettings = () => { - return defHttp.get>({ + return defHttp.get({ url: Api.GetGlobalSettings, }); }; @@ -23,7 +24,7 @@ export const setGlobalSettings = (payload: SettingsUpdate) => { }; export const getCurrentTenantSettings = () => { - return defHttp.get>({ + return defHttp.get({ url: Api.GetCurrentTenantSettings, }); }; @@ -34,3 +35,16 @@ export const setCurrentTenantSettings = (payload: SettingsUpdate) => { url: Api.SetCurrentTenantSettings, }); }; + +export const getCurrentUserSettings = () => { + return defHttp.get({ + url: Api.GetCurrentUserSettings, + }); +}; + +export const setCurrentUserSettings = (payload: SettingsUpdate) => { + return defHttp.put({ + data: payload, + url: Api.SetCurrentUserSettings, + }); +}; diff --git a/apps/vue/src/utils/http/axios/index.ts b/apps/vue/src/utils/http/axios/index.ts index 455453406..a00d3813d 100644 --- a/apps/vue/src/utils/http/axios/index.ts +++ b/apps/vue/src/utils/http/axios/index.ts @@ -38,13 +38,14 @@ const transform: AxiosTransform = { } const { data } = res; - if (!data) { - // return '[HTTP] Request has no return value'; - throw new Error(t('sys.api.apiRequestFailed')); - } - + // 对包装结果处理 if (res.headers['_abpwrapresult'] === 'true') { + if (!data) { + // return '[HTTP] Request has no return value'; + throw new Error(t('sys.api.apiRequestFailed')); + } + const { code, result, message, details } = data; const hasSuccess = data && Reflect.has(data, 'code') && code === ResultEnum.CODE; if (hasSuccess) { @@ -62,7 +63,7 @@ const transform: AxiosTransform = { throw new Error(content || t('sys.api.apiRequestFailed')); } - return res.data; + return data; }, // 请求之前处理config diff --git a/apps/vue/src/views/account/center/Setting.vue b/apps/vue/src/views/account/center/Setting.vue new file mode 100644 index 000000000..44284540b --- /dev/null +++ b/apps/vue/src/views/account/center/Setting.vue @@ -0,0 +1,31 @@ + + diff --git a/apps/vue/src/views/account/center/index.vue b/apps/vue/src/views/account/center/index.vue index a8519f37b..1f700b577 100644 --- a/apps/vue/src/views/account/center/index.vue +++ b/apps/vue/src/views/account/center/index.vue @@ -14,7 +14,7 @@
- +