settings.ts 890 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { defineStore } from "pinia";
  2. import { store } from "/@/store";
  3. import { setType } from "./types";
  4. import { getConfig } from "/@/config";
  5. export const useSettingStore = defineStore({
  6. id: "pure-setting",
  7. state: (): setType => ({
  8. title: getConfig().Title,
  9. fixedHeader: getConfig().FixedHeader,
  10. hiddenSideBar: getConfig().HiddenSideBar
  11. }),
  12. getters: {
  13. getTitle() {
  14. return this.title;
  15. },
  16. getFixedHeader() {
  17. return this.fixedHeader;
  18. },
  19. getHiddenSideBar() {
  20. return this.HiddenSideBar;
  21. }
  22. },
  23. actions: {
  24. CHANGE_SETTING({ key, value }) {
  25. // eslint-disable-next-line no-prototype-builtins
  26. if (this.hasOwnProperty(key)) {
  27. this[key] = value;
  28. }
  29. },
  30. changeSetting(data) {
  31. this.CHANGE_SETTING(data);
  32. }
  33. }
  34. });
  35. export function useSettingStoreHook() {
  36. return useSettingStore(store);
  37. }