|
@@ -4,69 +4,76 @@ import { usePermissionStore } from './permission'
|
|
|
import { login, getInfo } from '@/api/login'
|
|
|
|
|
|
const TokenKey = 'Access-Token'
|
|
|
-const store = () => {
|
|
|
- return {
|
|
|
- token: JSON.parse(localStorage.getItem(TokenKey)),
|
|
|
- name: JSON.parse(localStorage.getItem('name')),
|
|
|
- roles: JSON.parse(localStorage.getItem('roles'))
|
|
|
- }
|
|
|
-}
|
|
|
|
|
|
export const useUserStore = defineStore({
|
|
|
- id: 'user',
|
|
|
- store,
|
|
|
- actions: {
|
|
|
- login(data) {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- const { username } = data;
|
|
|
- const { password } = data;
|
|
|
- const { captchaCode } = data;
|
|
|
- const { uuid } = data;
|
|
|
+ id: 'user',
|
|
|
+ state: () => ({
|
|
|
+ token: localStorage.getItem(TokenKey) || '',
|
|
|
+ name: localStorage.getItem('name') || '',
|
|
|
+ roles: localStorage.getItem('roles') ? JSON.parse(localStorage.getItem('roles')) : [],
|
|
|
+ currencySymbol: localStorage.getItem('currencySymbol') || '',
|
|
|
+ }),
|
|
|
+ getters: {
|
|
|
+ getSymbol: ({ currencySymbol }) => currencySymbol,
|
|
|
+ },
|
|
|
+ actions: {
|
|
|
+ login(data) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ const { username } = data
|
|
|
+ const { password } = data
|
|
|
+ const { captchaCode } = data
|
|
|
+ const { uuid } = data
|
|
|
|
|
|
- login(username, password, captchaCode, uuid).then(res => {
|
|
|
- console.log('登录返回信息:', res.data);
|
|
|
- localStorage.setItem(TokenKey, res.data.token);
|
|
|
- this.token = res.data.token;
|
|
|
- localStorage.setItem("roles", JSON.stringify(["admin"]));
|
|
|
- localStorage.setItem("name", "Super Admin");
|
|
|
- this.name = "Super Admin";
|
|
|
- this.roles = ["admin"];
|
|
|
+ login(username, password, captchaCode, uuid)
|
|
|
+ .then((res) => {
|
|
|
+ console.log('登录返回信息:', res.data)
|
|
|
+ localStorage.setItem(TokenKey, res.data.token)
|
|
|
+ this.token = res.data.token
|
|
|
+ localStorage.setItem('roles', JSON.stringify(['admin']))
|
|
|
+ localStorage.setItem('name', 'Super Admin')
|
|
|
+ this.name = 'Super Admin'
|
|
|
+ this.roles = ['admin']
|
|
|
|
|
|
- resolve()
|
|
|
- }).catch(error => {
|
|
|
- reject(error);
|
|
|
- })
|
|
|
- })
|
|
|
-
|
|
|
- },
|
|
|
- logOut() {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- const { ResetRoutes } = usePermissionStore()
|
|
|
- localStorage.setItem(TokenKey, "");
|
|
|
- localStorage.setItem("roles", JSON.stringify([]));
|
|
|
- localStorage.setItem("name", "");
|
|
|
- this.token = "";
|
|
|
- this.name = "";
|
|
|
- this.roles = [];
|
|
|
- ResetRoutes();
|
|
|
- resetRouter();
|
|
|
- resolve();
|
|
|
- })
|
|
|
- },
|
|
|
- GetUserInfo() {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- getInfo().then(res => {
|
|
|
- const user = res.data.accountInfo;
|
|
|
- localStorage.setItem("name", user.accountName);
|
|
|
- localStorage.setItem("permissions", JSON.stringify(res.data.permissions));
|
|
|
- localStorage.setItem("roles", JSON.stringify(res.data.roles));
|
|
|
- this.name = user.accountName;
|
|
|
- this.roles = res.data.roles;
|
|
|
- resolve(this.roles);
|
|
|
- }).catch(error => {
|
|
|
- reject(error)
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ reject(error)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ logOut() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ const { ResetRoutes } = usePermissionStore()
|
|
|
+ localStorage.removeItem(TokenKey)
|
|
|
+ localStorage.removeItem('roles')
|
|
|
+ localStorage.removeItem('name')
|
|
|
+ this.token = ''
|
|
|
+ this.name = ''
|
|
|
+ this.roles = []
|
|
|
+ ResetRoutes()
|
|
|
+ resetRouter()
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ GetUserInfo() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ getInfo()
|
|
|
+ .then((res) => {
|
|
|
+ const user = res.data.accountInfo
|
|
|
+ localStorage.setItem('name', user.accountName)
|
|
|
+ localStorage.setItem('currencySymbol', user.currencySymbol)
|
|
|
+ localStorage.setItem('permissions', JSON.stringify(res.data.permissions))
|
|
|
+ localStorage.setItem('roles', JSON.stringify(res.data.roles))
|
|
|
+ this.name = user.accountName
|
|
|
+ this.roles = res.data.roles
|
|
|
+ this.permissions = res.data.permissions
|
|
|
+ this.currencySymbol = user.currencySymbol
|
|
|
+ resolve(this.roles)
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ reject(error)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ },
|
|
|
})
|