| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { defineStore } from 'pinia'
- import { ref } from 'vue'
- import { clearPageSetting, getPageSetting } from '@/api/sys/pageSetting'
- // 平台默认名称(与 core/config.js 的 appName 保持一致)
- const DEFAULT_NAME = '非结构化数据透明加密平台'
- export const usePageSettingStore = defineStore('pageSetting', () => {
- const pageSetting = ref({
- name: DEFAULT_NAME,
- logo: '',
- isLoaded: false
- })
- // 初始化(布局/登录页挂载时调用):读取失败时静默走默认值
- const initPageSetting = async () => {
- try {
- const res = await getPageSetting()
- if (res.code === 100000) {
- pageSetting.value = {
- name: res.data.name || DEFAULT_NAME,
- logo: res.data.logo || '',
- isLoaded: true
- }
- }
- } catch {
- // 占位接口阶段静默失败
- }
- pageSetting.value.isLoaded = true
- }
- const setPageSetting = val => {
- pageSetting.value = val
- }
- const resetPageSetting = async () => {
- const res = await clearPageSetting()
- if (res.code === 100000) {
- pageSetting.value = {
- name: DEFAULT_NAME,
- logo: '',
- isLoaded: true
- }
- }
- return pageSetting.value
- }
- return {
- pageSetting,
- setPageSetting,
- initPageSetting,
- resetPageSetting
- }
- })
|