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