feat(projects): 将主题配置持久化
This commit is contained in:
29
src/service/api/user-preference.ts
Normal file
29
src/service/api/user-preference.ts
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import { SYSTEM_SERVICE_PREFIX } from '@/constants/service';
|
||||||
|
import { request } from '../request';
|
||||||
|
|
||||||
|
const USER_PREFERENCE_THEME_PREFIX = `${SYSTEM_SERVICE_PREFIX}/user-preference/theme`;
|
||||||
|
|
||||||
|
/** 获取当前登录用户的主题偏好覆盖项 */
|
||||||
|
export function fetchGetUserPreferenceTheme() {
|
||||||
|
return request<Api.UserPreference.ThemeSettings>({
|
||||||
|
url: USER_PREFERENCE_THEME_PREFIX,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 保存当前登录用户的主题偏好覆盖项 */
|
||||||
|
export function fetchSaveUserPreferenceTheme(data: Api.UserPreference.ThemeSettings) {
|
||||||
|
return request<boolean>({
|
||||||
|
url: USER_PREFERENCE_THEME_PREFIX,
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 重置当前登录用户的主题偏好覆盖项 */
|
||||||
|
export function fetchResetUserPreferenceTheme() {
|
||||||
|
return request<boolean>({
|
||||||
|
url: USER_PREFERENCE_THEME_PREFIX,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
}
|
||||||
9
src/typings/api/user-preference.d.ts
vendored
Normal file
9
src/typings/api/user-preference.d.ts
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
declare namespace Api {
|
||||||
|
namespace UserPreference {
|
||||||
|
type ThemeSettingsValue<T> = {
|
||||||
|
[K in keyof T]?: T[K] extends Record<string, unknown> ? ThemeSettingsValue<T[K]> : T[K];
|
||||||
|
};
|
||||||
|
|
||||||
|
type ThemeSettings = ThemeSettingsValue<App.Theme.ThemeSetting>;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user