edu/admin/src/stores/modules/app.ts

49 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-08-12 10:44:09 +00:00
import { getConfig } from '@/api/app'
import { defineStore } from 'pinia'
interface AppSate {
config: Record<string, any>
isMobile: boolean
isCollapsed: boolean
isRouteShow: boolean
}
const useAppStore = defineStore({
id: 'app',
state: (): AppSate => {
return {
config: {},
isMobile: true,
isCollapsed: false,
isRouteShow: true
}
},
actions: {
getConfig() {
return new Promise((resolve, reject) => {
getConfig()
.then((data) => {
this.config = data
resolve(data)
})
.catch((err) => {
reject(err)
})
})
},
setMobile(value: boolean) {
this.isMobile = value
},
toggleCollapsed(toggle?: boolean) {
this.isCollapsed = toggle ?? !this.isCollapsed
},
refreshView() {
this.isRouteShow = false
nextTick(() => {
this.isRouteShow = true
})
}
}
})
export default useAppStore