theme.ts 875 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import axios from 'axios';
  2. import type {
  3. ThemeSettings
  4. } from '../../share/types.ts';
  5. // Theme API 定义
  6. export const ThemeAPI = {
  7. // 获取主题设置
  8. getThemeSettings: async (): Promise<ThemeSettings> => {
  9. try {
  10. const response = await axios.get('/theme');
  11. return response.data.data;
  12. } catch (error) {
  13. throw error;
  14. }
  15. },
  16. // 更新主题设置
  17. updateThemeSettings: async (themeData: Partial<ThemeSettings>): Promise<ThemeSettings> => {
  18. try {
  19. const response = await axios.put('/theme', themeData);
  20. return response.data.data;
  21. } catch (error) {
  22. throw error;
  23. }
  24. },
  25. // 重置主题设置
  26. resetThemeSettings: async (): Promise<ThemeSettings> => {
  27. try {
  28. const response = await axios.post('/theme/reset');
  29. return response.data.data;
  30. } catch (error) {
  31. throw error;
  32. }
  33. }
  34. };