Crunchy
2025-04-29 e5454b769d44a34af423bf87ac8a740bf8c20341
src/store/modules/user.js
@@ -1,4 +1,4 @@
import { login, logout, getInfo, LoginBySSO } from "@/api/login";
import { login, logout, getInfo, LoginBySSO, tideLogin } from "@/api/login";
import { getToken, setToken, removeToken } from "@/utils/auth";
import { isHttp, isEmpty } from "@/utils/validate";
import defAva from "@/assets/images/profile.jpg";
@@ -11,6 +11,8 @@
    name: "",
    avatar: "",
    nickName: "",
    nameEn: "",
    userName: "",
    roles: [],
    permissions: [],
  },
@@ -30,6 +32,12 @@
    },
    SET_NICKNAME: (state, nickName) => {
      state.nickName = nickName;
    },
    SET_NAMEEN: (state, nameEn) => {
      state.nameEn = nameEn;
    },
    SET_USERNAME: (state, userName) => {
      state.userName = userName;
    },
    SET_ROLES: (state, roles) => {
      state.roles = roles;
@@ -101,6 +109,8 @@
            commit("SET_NAME", user.userName);
            commit("SET_AVATAR", avatar);
            commit("SET_NICKNAME", user.nickName);
            commit("SET_NAMEEN", user.nameEn);
            commit("SET_USERNAME", user.userName);
            resolve(res);
          })
          .catch((error) => {
@@ -138,6 +148,23 @@
        resolve();
      });
    },
    TideLogin({ commit }, code) {
      return new Promise((resolve, reject) => {
        tideLogin(code)
          .then((res) => {
            setToken(res.token);
            commit("SET_TOKEN", res.token);
            Vue.prototype.uploadHeader = {
              Authorization: "Bearer " + res.token,
            };
            resolve();
          })
          .catch((error) => {
            reject(error);
          });
      });
    },
  },
};