code-origin/pc/stores/app.ts

28 lines
826 B
TypeScript
Executable File

import { defineStore } from 'pinia'
import { getConfig } from '~~/api/app'
interface AppSate {
config: Record<string, any>
}
export const useAppStore = defineStore({
id: 'appStore',
state: (): AppSate => ({
config: {}
}),
getters: {
getImageUrl: (state) => (url: string) =>
url ? `${state.config.domain}${url}` : '',
getWebsiteConfig: (state) => state.config.website || {},
getLoginConfig: (state) => state.config.login || {},
getCopyrightConfig: (state) => state.config.copyright || [],
getQrcodeConfig: (state) => state.config.qrcode || {},
getAdminUrl: (state) => state.config.admin_url
},
actions: {
async getConfig() {
const config = await getConfig()
this.config = config
}
}
})