3 天以前 8217c63d1610a9d89419c69947beb4fb3bb7c7e4
src/store/modules/user.js
@@ -18,20 +18,25 @@
    }),
    actions: {
      // 登录
      login(userInfo) {
        const username = userInfo.username.trim()
        const password = userInfo.password
        const code = userInfo.code
        const uuid = userInfo.uuid
        return new Promise((resolve, reject) => {
          login(username, password, code, uuid).then(res => {
            setToken(res.token)
            this.token = res.token
            resolve()
          }).catch(error => {
            reject(error)
          })
        })
      login(userInfo) {
        const username = userInfo.username.trim()
        const password = userInfo.password
        const code = userInfo.code
        const uuid = userInfo.uuid
        return new Promise((resolve, reject) => {
          login(username, password, code, uuid).then(res => {
            const token = res?.token || res?.data?.token
            if (!token) {
              reject(new Error('未获取到登录令牌'))
              return
            }
            setToken(token)
            this.token = token
            resolve()
          }).catch(error => {
            reject(error)
          })
        })
      },
      getCurrentTime() {
        const now = new Date();
@@ -47,7 +52,7 @@
      getInfo() {
        return new Promise((resolve, reject) => {
          getInfo().then(res => {
            const user = res.user
            const user = res.user || {}
            let avatar = user.avatar || ""
            avatar = import.meta.env.VITE_APP_BASE_API + '/profile/' + avatar
            if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
@@ -56,13 +61,13 @@
            } else {
              this.roles = ['ROLE_DEFAULT']
            }
            this.id = user.userId
            this.name = user.userName
            this.id = user.userId || ''
            this.name = user.userName || ''
            this.avatar = avatar
            this.currentFactoryName = user.currentFactoryName
            this.nickName = user.nickName
            this.roleName = user.roles[0].roleName
            this.currentDeptId = user.tenantId
            this.currentFactoryName = user.currentFactoryName || ''
            this.nickName = user.nickName || ''
            this.roleName = Array.isArray(user.roles) && user.roles.length > 0 ? (user.roles[0].roleName || '') : ''
            this.currentDeptId = user.tenantId || ''
            this.currentLoginTime = this.getCurrentTime()
            this.aiEnabled = Number(res.aiEnabled) === 1 ? 1 : 0
            resolve(res)
@@ -99,30 +104,40 @@
        })
      },
      // 部门登录
      loginCheckFactory(userInfo) {
        const username = userInfo.username.trim()
        const password = userInfo.password
        return new Promise((resolve, reject) => {
          loginCheckFactory(username, password).then(res => {
            setToken(res.token)
            this.token = res.token
            resolve()
          }).catch(error => {
            reject(error)
          })
        })
      loginCheckFactory(userInfo) {
        const username = userInfo.username.trim()
        const password = userInfo.password
        return new Promise((resolve, reject) => {
          loginCheckFactory(username, password).then(res => {
            const token = res?.token || res?.data?.token
            if (!token) {
              reject(new Error('未获取到登录令牌'))
              return
            }
            setToken(token)
            this.token = token
            resolve()
          }).catch(error => {
            reject(error)
          })
        })
      },
      TideLogin(code) {
        return new Promise((resolve, reject) => {
          tideLogin(code)
              .then((res) => {
                setToken(res.token);
                this.token = res.token
                Vue.prototype.uploadHeader = {
                  Authorization: "Bearer " + res.token,
                };
                resolve();
              })
      TideLogin(code) {
        return new Promise((resolve, reject) => {
          tideLogin(code)
              .then((res) => {
                const token = res?.token || res?.data?.token
                if (!token) {
                  reject(new Error('未获取到登录令牌'))
                  return
                }
                setToken(token);
                this.token = token
                Vue.prototype.uploadHeader = {
                  Authorization: "Bearer " + token,
                };
                resolve();
              })
              .catch((error) => {
                reject(error);
              });