pageSetting.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { defineStore } from 'pinia'
  2. import { ref } from 'vue'
  3. import { clearPageSetting, getPageSetting } from '@/api/sys/pageSetting'
  4. // 平台默认名称(与 core/config.js 的 appName 保持一致)
  5. const DEFAULT_NAME = '非结构化数据透明加密平台'
  6. export const usePageSettingStore = defineStore('pageSetting', () => {
  7. const pageSetting = ref({
  8. name: DEFAULT_NAME,
  9. logo: '',
  10. isLoaded: false
  11. })
  12. // 初始化(布局/登录页挂载时调用):读取失败时静默走默认值
  13. const initPageSetting = async () => {
  14. try {
  15. const res = await getPageSetting()
  16. if (res.code === 100000) {
  17. pageSetting.value = {
  18. name: res.data.name || DEFAULT_NAME,
  19. logo: res.data.logo || '',
  20. isLoaded: true
  21. }
  22. }
  23. } catch {
  24. // 占位接口阶段静默失败
  25. }
  26. pageSetting.value.isLoaded = true
  27. }
  28. const setPageSetting = val => {
  29. pageSetting.value = val
  30. }
  31. const resetPageSetting = async () => {
  32. const res = await clearPageSetting()
  33. if (res.code === 100000) {
  34. pageSetting.value = {
  35. name: DEFAULT_NAME,
  36. logo: '',
  37. isLoaded: true
  38. }
  39. }
  40. return pageSetting.value
  41. }
  42. return {
  43. pageSetting,
  44. setPageSetting,
  45. initPageSetting,
  46. resetPageSetting
  47. }
  48. })