|
@@ -6,95 +6,102 @@ import { store } from "@/store";
|
|
|
import { LoginData } from "@/api/auth/types";
|
|
|
import { UserInfo } from "@/api/user/types";
|
|
|
|
|
|
-export const useUserStore = defineStore("user", () => {
|
|
|
- const user = ref<UserInfo>({
|
|
|
- roles: [],
|
|
|
- perms: [],
|
|
|
- });
|
|
|
+export const useUserStore = defineStore(
|
|
|
+ "user",
|
|
|
+ () => {
|
|
|
+ const user = ref<UserInfo>({
|
|
|
+ roles: [],
|
|
|
+ perms: [],
|
|
|
+ });
|
|
|
|
|
|
- const isGetAuth = ref(false); //是否已经请求过auth接口活的role和menus了
|
|
|
+ const isGetAuth = ref(false); //是否已经请求过auth接口活的role和menus了
|
|
|
|
|
|
- /**
|
|
|
- * 登录
|
|
|
- *
|
|
|
- * @param {LoginData}
|
|
|
- * @returns
|
|
|
- */
|
|
|
- function login(loginData: LoginData) {
|
|
|
- return new Promise<void>((resolve, reject) => {
|
|
|
- loginApi(loginData)
|
|
|
- .then((response) => {
|
|
|
- // const { tokenType, accessToken } = response.data;
|
|
|
- // localStorage.setItem("token", tokenType + " " + accessToken); // Bearer eyJhbGciOiJIUzI1NiJ9.xxx.xxx
|
|
|
- localStorage.setItem("token", response.data + "");
|
|
|
- resolve();
|
|
|
- })
|
|
|
- .catch((error) => {
|
|
|
- reject(error);
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 登录
|
|
|
+ *
|
|
|
+ * @param {LoginData}
|
|
|
+ * @returns
|
|
|
+ */
|
|
|
+ function login(loginData: LoginData) {
|
|
|
+ return new Promise<void>((resolve, reject) => {
|
|
|
+ loginApi(loginData)
|
|
|
+ .then((response) => {
|
|
|
+ getUserInfo();
|
|
|
+ // const { tokenType, accessToken } = response.data;
|
|
|
+ // localStorage.setItem("token", tokenType + " " + accessToken); // Bearer eyJhbGciOiJIUzI1NiJ9.xxx.xxx
|
|
|
+ localStorage.setItem("token", response.data + "");
|
|
|
+ resolve();
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ reject(error);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- // 获取信息(用户昵称、头像、角色集合、权限集合)
|
|
|
- function getUserInfo() {
|
|
|
- return new Promise<any>((resolve, reject) => {
|
|
|
- getUserInfoApi()
|
|
|
- .then(({ data }) => {
|
|
|
- if (!data) {
|
|
|
- reject("Verification failed, please Login again.");
|
|
|
- return;
|
|
|
- }
|
|
|
- user.value.userId = data.id;
|
|
|
- user.value.username = data.userName;
|
|
|
- user.value.roles = data.roles;
|
|
|
- user.value.deptId = data.deptId;
|
|
|
+ // 获取信息(用户昵称、头像、角色集合、权限集合)
|
|
|
+ function getUserInfo() {
|
|
|
+ return new Promise<any>((resolve, reject) => {
|
|
|
+ getUserInfoApi()
|
|
|
+ .then(({ data }) => {
|
|
|
+ if (!data) {
|
|
|
+ reject("Verification failed, please Login again.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ user.value.avatar =
|
|
|
+ import.meta.env.VITE_APP_UPLOAD_URL + "/" + data.avatar;
|
|
|
+ user.value.userId = data.id;
|
|
|
+ user.value.username = data.userName;
|
|
|
+ user.value.roles = data.roles;
|
|
|
+ user.value.deptId = data.deptId;
|
|
|
|
|
|
- isGetAuth.value = true;
|
|
|
+ isGetAuth.value = true;
|
|
|
|
|
|
- user.value.perms = data.permissions ?? [];
|
|
|
+ user.value.perms = data.permissions ?? [];
|
|
|
|
|
|
- resolve(data);
|
|
|
- })
|
|
|
- .catch((error) => {
|
|
|
- reject(error);
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
+ resolve(data);
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ reject(error);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- // user logout
|
|
|
- function logout() {
|
|
|
- return new Promise<void>((resolve, reject) => {
|
|
|
- logoutApi()
|
|
|
- .then(() => {
|
|
|
- localStorage.setItem("token", "");
|
|
|
- location.reload(); // 清空路由
|
|
|
- resolve();
|
|
|
- })
|
|
|
- .catch((error) => {
|
|
|
- reject(error);
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
+ // user logout
|
|
|
+ function logout() {
|
|
|
+ return new Promise<void>((resolve, reject) => {
|
|
|
+ logoutApi()
|
|
|
+ .then(() => {
|
|
|
+ localStorage.setItem("token", "");
|
|
|
+ location.reload(); // 清空路由
|
|
|
+ resolve();
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ reject(error);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- // remove token
|
|
|
- function resetToken() {
|
|
|
- console.log("resetToken");
|
|
|
- return new Promise<void>((resolve) => {
|
|
|
- localStorage.setItem("token", "");
|
|
|
- resetRouter();
|
|
|
- resolve();
|
|
|
- });
|
|
|
- }
|
|
|
+ // remove token
|
|
|
+ function resetToken() {
|
|
|
+ console.log("resetToken");
|
|
|
+ return new Promise<void>((resolve) => {
|
|
|
+ localStorage.setItem("token", "");
|
|
|
+ resetRouter();
|
|
|
+ resolve();
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- return {
|
|
|
- user,
|
|
|
- login,
|
|
|
- getUserInfo,
|
|
|
- logout,
|
|
|
- resetToken,
|
|
|
- isGetAuth,
|
|
|
- };
|
|
|
-});
|
|
|
+ return {
|
|
|
+ user,
|
|
|
+ login,
|
|
|
+ getUserInfo,
|
|
|
+ logout,
|
|
|
+ resetToken,
|
|
|
+ isGetAuth,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ { persist: true }
|
|
|
+);
|
|
|
|
|
|
// 非setup
|
|
|
export function useUserStoreHook() {
|