import { defineStore } from 'pinia' const getInitState = () => { return { appKey: '', appName: '', user: { platforms: [], }, } } const useAppStore = defineStore({ id: 'app', state: getInitState, getters: { getAppKey: (state) => { return state.appKey }, getPlatforms: (state) => { return state.user.platforms }, getAppName: (state) => { return state.user.platforms.find(v => v.appKey === state.appKey)?.name }, getUser: (state) => { return state.user } }, actions: { initState(): void { Object.assign(this, getInitState()) }, setAppkey(appKey: string) { this.appKey = appKey }, setUser(user: User) { this.user = user }, }, }) export default useAppStore