| | |
| | | import { to } from 'await-to-js'; |
| | | import defAva from '@/assets/images/profile.jpg'; |
| | | import store from '@/store'; |
| | | import { getToken, removeToken, setToken } from '@/utils/auth'; |
| | | import { login as loginApi, logout as logoutApi, getInfo as getUserInfo } from '@/api/login'; |
| | | import { LoginData } from '@/api/types'; |
| | | import defAva from '@/assets/images/profile.jpg'; |
| | | import store from '@/store'; |
| | | |
| | | export const useUserStore = defineStore('user', () => { |
| | | const token = ref(getToken()); |
| | | const name = ref(''); |
| | | const nickname = ref(''); |
| | | const userId = ref<string | number>(''); |
| | | const tenantId = ref<string>(''); |
| | | const avatar = ref(''); |
| | | const roles = ref<Array<string>>([]); // 用户角色编码集合 → 判断路由权限 |
| | | const permissions = ref<Array<string>>([]); // 用户权限编码集合 → 判断按钮权限 |
| | |
| | | nickname.value = user.nickName; |
| | | avatar.value = profile; |
| | | userId.value = user.userId; |
| | | tenantId.value = user.tenantId; |
| | | return Promise.resolve(); |
| | | } |
| | | return Promise.reject(err); |
| | |
| | | removeToken(); |
| | | }; |
| | | |
| | | const setAvatar = (value: string) => { |
| | | avatar.value = value; |
| | | }; |
| | | |
| | | return { |
| | | userId, |
| | | tenantId, |
| | | token, |
| | | nickname, |
| | | avatar, |
| | |
| | | permissions, |
| | | login, |
| | | getInfo, |
| | | logout |
| | | logout, |
| | | setAvatar |
| | | }; |
| | | }); |
| | | |