鸿蒙智能电子锁前端项目
whychdw
2024-11-27 393eceedc6ed2382fe60901294f978b73f709fa4
src/store/modules/user.ts
@@ -1,6 +1,6 @@
import { defineStore } from 'pinia';
import { login as apiLogin, logout as apiLogout, getInfo as apiGetInfo } from '@/api/user';
import { getToken, setToken, removeToken } from '@/utils/auth';
import { login as apiLogin, logout as apiLogout } from '@/api/user';
import { getToken, removeToken, setToken } from '@/utils/auth';
import router, { resetRouter } from '@/router';
import tagsViewStore from './tagsView';
import permissionStore from './permission';
@@ -30,10 +30,10 @@
    login(userInfo):Promise<void> {
      const { username, password } = userInfo;
      return new Promise((resolve, reject) => {
        apiLogin({ username: username.trim(), password: password }).then(response => {
          const { data } = response;
          this.token = data.token;
          setToken(data.token);
        apiLogin(username.trim(), password).then(response => {
          this.token = 'admin';
          setToken('admin');
          console.log(response);
          resolve();
        }).catch(error => {
          reject(error);
@@ -43,36 +43,26 @@
    // get user info
    getInfo() {
      return new Promise((resolve, reject) => {
        apiGetInfo(this.token).then(response => {
          const { data } = response;
          if (!data) {
            reject('Verification failed, please Login again.');
          }
          const { roles, name, avatar, introduction } = data;
          // roles must be a non-empty array
          if (!roles || roles.length <= 0) {
            reject('getInfo: roles must be a non-null array!');
          }
          this.roles = roles;
          this.name = name;
          this.avatar = avatar;
          this.introduction = introduction;
          resolve(data);
        }).catch(error => {
          reject(error);
        });
      return new Promise((resolve) => {
        const data = {
          roles: ['admin'],
          introduction: 'I am a super administrator',
          avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
          name: 'Super Admin'
        };
        const { roles, name, avatar, introduction } = data;
        this.roles = roles;
        this.name = name;
        this.avatar = avatar;
        this.introduction = introduction;
        resolve(data);
      });
    },
    // user logout
    logout():Promise<void> {
      return new Promise((resolve, reject) => {
        apiLogout(this.token).then(() => {
        apiLogout().then(() => {
          this.token = '';
          this.roles = [];
          removeToken();