| | |
| | | import { defineStore } from 'pinia'; |
| | | import { login as apiLogin, logout as apiLogout } from '@/api/user'; |
| | | import { getToken, removeToken, setToken } from '@/utils/auth'; |
| | | import { getToken, removeToken, setToken, getUname, setUname, removeUname, getUrole, setUrole, removeUrole } from '@/utils/auth'; |
| | | import router, { resetRouter } from '@/router'; |
| | | import tagsViewStore from './tagsView'; |
| | | import permissionStore from './permission'; |
| | |
| | | state: () => ({ |
| | | token: getToken(), |
| | | userId: '', |
| | | name: '', |
| | | name: getUname(), |
| | | avatar: '', |
| | | urole: getUrole(), |
| | | introduction: '', |
| | | roles: [] |
| | | }), |
| | |
| | | return new Promise((resolve, reject) => { |
| | | apiLogin(username.trim(), password).then((response) => { |
| | | if (response.code === 1 && response.data) { |
| | | let name = response.data2.uname; |
| | | let role = response.data2.urole; |
| | | this.name = name; |
| | | setUname(name); |
| | | this.token = 'admin'; |
| | | setToken('admin'); |
| | | this.urole = role; |
| | | setUrole(role); |
| | | resolve(response); |
| | | } else { |
| | | reject('用户名/密码错误'); |
| | | // reject('用户名/密码错误'); |
| | | reject(response.msg); |
| | | } |
| | | }).catch(error => { |
| | | reject(error); |
| | | }); |
| | | }); |
| | | });u |
| | | }, |
| | | |
| | | // get user info |
| | |
| | | roles: ['admin'], |
| | | introduction: 'I am a super administrator', |
| | | avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', |
| | | name: 'Super Admin' |
| | | // name: 'Super Admin' |
| | | name: getUname() |
| | | }; |
| | | const { roles, name, avatar, introduction } = data; |
| | | const { roles, name, avatar, introduction } = data; |
| | | this.roles = roles; |
| | | this.name = name; |
| | | this.avatar = avatar; |
| | |
| | | this.token = ''; |
| | | this.roles = []; |
| | | removeToken(); |
| | | removeUname(); |
| | | removeUrole(); |
| | | resetRouter(); |
| | | |
| | | // reset visited views and cached views |