huangxw hace 8 meses
padre
commit
57e7dc9011
Se han modificado 5 ficheros con 190 adiciones y 173 borrados
  1. 17 0
      .eslintignore
  2. 70 70
      src/plugins/cache.ts
  3. 74 74
      src/store/modules/user.ts
  4. 18 18
      vite/plugins/auto-import.ts
  5. 11 11
      vite/plugins/components.ts

+ 17 - 0
.eslintignore

@@ -0,0 +1,17 @@
+*.sh
+node_modules
+*.md
+*.woff
+*.ttf
+.vscode
+.idea
+dist
+/public
+/docs
+.husky
+.local
+/bin
+.eslintrc.js
+prettier.config.js
+src/assets
+tailwind.config.js

+ 70 - 70
src/plugins/cache.ts

@@ -1,79 +1,79 @@
 const sessionCache = {
-  set(key: string, value: any) {
-    if (!sessionStorage) {
-      return;
+    set(key: string, value: any) {
+        if (!sessionStorage) {
+            return;
+        }
+        if (key != null && value != null) {
+            sessionStorage.setItem(key, value);
+        }
+    },
+    get(key: string) {
+        if (!sessionStorage) {
+            return null;
+        }
+        if (key == null) {
+            return null;
+        }
+        return sessionStorage.getItem(key);
+    },
+    setJSON(key: string, jsonValue: any) {
+        if (jsonValue != null) {
+            this.set(key, JSON.stringify(jsonValue));
+        }
+    },
+    getJSON(key: string) {
+        const value = this.get(key);
+        if (value != null) {
+            return JSON.parse(value);
+        }
+        return null;
+    },
+    remove(key: string) {
+        sessionStorage.removeItem(key);
     }
-    if (key != null && value != null) {
-      sessionStorage.setItem(key, value);
-    }
-  },
-  get(key: string) {
-    if (!sessionStorage) {
-      return null;
-    }
-    if (key == null) {
-      return null;
-    }
-    return sessionStorage.getItem(key);
-  },
-  setJSON(key: string, jsonValue: any) {
-    if (jsonValue != null) {
-      this.set(key, JSON.stringify(jsonValue));
-    }
-  },
-  getJSON(key: string) {
-    const value = this.get(key);
-    if (value != null) {
-      return JSON.parse(value);
-    }
-    return null;
-  },
-  remove(key: string) {
-    sessionStorage.removeItem(key);
-  }
 };
 const localCache = {
-  set(key: string, value: any) {
-    if (!localStorage) {
-      return;
-    }
-    if (key != null && value != null) {
-      localStorage.setItem(key, value);
-    }
-  },
-  get(key: string) {
-    if (!localStorage) {
-      return null;
-    }
-    if (key == null) {
-      return null;
-    }
-    return localStorage.getItem(key);
-  },
-  setJSON(key: string, jsonValue: any) {
-    if (jsonValue != null) {
-      this.set(key, JSON.stringify(jsonValue));
-    }
-  },
-  getJSON(key: string) {
-    const value = this.get(key);
-    if (value != null) {
-      return JSON.parse(value);
+    set(key: string, value: any) {
+        if (!localStorage) {
+            return;
+        }
+        if (key != null && value != null) {
+            localStorage.setItem(key, value);
+        }
+    },
+    get(key: string) {
+        if (!localStorage) {
+            return null;
+        }
+        if (key == null) {
+            return null;
+        }
+        return localStorage.getItem(key);
+    },
+    setJSON(key: string, jsonValue: any) {
+        if (jsonValue != null) {
+            this.set(key, JSON.stringify(jsonValue));
+        }
+    },
+    getJSON(key: string) {
+        const value = this.get(key);
+        if (value != null) {
+            return JSON.parse(value);
+        }
+        return null;
+    },
+    remove(key: string) {
+        localStorage.removeItem(key);
     }
-    return null;
-  },
-  remove(key: string) {
-    localStorage.removeItem(key);
-  }
 };
 
 export default {
-  /**
-   * 会话级缓存
-   */
-  session: sessionCache,
-  /**
-   * 本地缓存
-   */
-  local: localCache
+    /**
+     * 会话级缓存
+     */
+    session: sessionCache,
+    /**
+     * 本地缓存
+     */
+    local: localCache
 };

+ 74 - 74
src/store/modules/user.ts

@@ -6,89 +6,89 @@ import defAva from '@/assets/images/profile.jpg';
 import store from '@/store';
 
 export const useUserStore = defineStore('user', () => {
-  const token = ref(getToken());
-  const name = ref('');
-  const nickname = ref('');
-  const userId = ref<string | number>('');
-  const tenantId = ref<string>('');
-  const avatar = ref('');
-  const roles = ref<Array<string>>([]); // 用户角色编码集合 → 判断路由权限
-  const permissions = ref<Array<string>>([]); // 用户权限编码集合 → 判断按钮权限
-  const rolesName = ref<string>(''); // 用户角色名称集合
+    const token = ref(getToken());
+    const name = ref('');
+    const nickname = ref('');
+    const userId = ref<string | number>('');
+    const tenantId = ref<string>('');
+    const avatar = ref('');
+    const roles = ref<Array<string>>([]); // 用户角色编码集合 → 判断路由权限
+    const permissions = ref<Array<string>>([]); // 用户权限编码集合 → 判断按钮权限
+    const rolesName = ref<string>(''); // 用户角色名称集合
 
-  /**
-   * 登录
-   * @param userInfo
-   * @returns
-   */
-  const login = async (userInfo: LoginData): Promise<void> => {
-    const [err, res] = await to(loginApi(userInfo));
-    if (res) {
-      const data = res.data;
-      setToken(data.access_token);
-      token.value = data.access_token;
-      return Promise.resolve();
-    }
-    return Promise.reject(err);
-  };
+    /**
+     * 登录
+     * @param userInfo
+     * @returns
+     */
+    const login = async (userInfo: LoginData): Promise<void> => {
+        const [err, res] = await to(loginApi(userInfo));
+        if (res) {
+            const data = res.data;
+            setToken(data.access_token);
+            token.value = data.access_token;
+            return Promise.resolve();
+        }
+        return Promise.reject(err);
+    };
 
-  // 获取用户信息
-  const getInfo = async (): Promise<void> => {
-    const [err, res] = await to(getUserInfo());
-    if (res) {
-      const data = res.data;
-      const user = data.user;
-      const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar;
+    // 获取用户信息
+    const getInfo = async (): Promise<void> => {
+        const [err, res] = await to(getUserInfo());
+        if (res) {
+            const data = res.data;
+            const user = data.user;
+            const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar;
 
-      if (data.roles && data.roles.length > 0) {
-        // 验证返回的roles是否是一个非空数组
-        roles.value = data.roles;
-        rolesName.value = user?.roles.map((item: any) => item.roleName || item.remark).join(',');
-        permissions.value = data.permissions;
-      } else {
-        roles.value = ['ROLE_DEFAULT'];
-      }
-      name.value = user.userName;
-      nickname.value = user.nickName;
-      avatar.value = profile;
-      userId.value = user.userId;
-      tenantId.value = user.tenantId;
-      return Promise.resolve();
-    }
-    return Promise.reject(err);
-  };
+            if (data.roles && data.roles.length > 0) {
+                // 验证返回的roles是否是一个非空数组
+                roles.value = data.roles;
+                rolesName.value = user?.roles.map((item: any) => item.roleName || item.remark).join(',');
+                permissions.value = data.permissions;
+            } else {
+                roles.value = ['ROLE_DEFAULT'];
+            }
+            name.value = user.userName;
+            nickname.value = user.nickName;
+            avatar.value = profile;
+            userId.value = user.userId;
+            tenantId.value = user.tenantId;
+            return Promise.resolve();
+        }
+        return Promise.reject(err);
+    };
 
-  // 注销
-  const logout = async (): Promise<void> => {
-    await logoutApi();
-    token.value = '';
-    roles.value = [];
-    permissions.value = [];
-    removeToken();
-  };
+    // 注销
+    const logout = async (): Promise<void> => {
+        await logoutApi();
+        token.value = '';
+        roles.value = [];
+        permissions.value = [];
+        removeToken();
+    };
 
-  const setAvatar = (value: string) => {
-    avatar.value = value;
-  };
+    const setAvatar = (value: string) => {
+        avatar.value = value;
+    };
 
-  return {
-    userId,
-    tenantId,
-    token,
-    nickname,
-    rolesName,
-    avatar,
-    roles,
-    permissions,
-    login,
-    getInfo,
-    logout,
-    setAvatar
-  };
+    return {
+        userId,
+        tenantId,
+        token,
+        nickname,
+        rolesName,
+        avatar,
+        roles,
+        permissions,
+        login,
+        getInfo,
+        logout,
+        setAvatar
+    };
 });
 
 export default useUserStore;
 // 非setup
 export function useUserStoreHook() {
-  return useUserStore(store);
+    return useUserStore(store);
 }

+ 18 - 18
vite/plugins/auto-import.ts

@@ -3,22 +3,22 @@ import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
 import IconsResolver from 'unplugin-icons/resolver';
 
 export default (path: any) => {
-  return AutoImport({
-    // 自动导入 Vue 相关函数
-    imports: ['vue', 'vue-router', '@vueuse/core', 'pinia'],
-    eslintrc: {
-      enabled: false,
-      filepath: './.eslintrc-auto-import.json',
-      globalsPropValue: true
-    },
-    resolvers: [
-      // 自动导入 Element Plus 相关函数ElMessage, ElMessageBox... (带样式)
-      ElementPlusResolver(),
-      IconsResolver({
-        prefix: 'Icon'
-      })
-    ],
-    vueTemplate: true, // 是否在 vue 模板中自动导入
-    dts: path.resolve(path.resolve(__dirname, '../../src'), 'types', 'auto-imports.d.ts')
-  });
+    return AutoImport({
+        // 自动导入 Vue 相关函数
+        imports: ['vue', 'vue-router', '@vueuse/core', 'pinia'],
+        eslintrc: {
+            enabled: false,
+            filepath: './.eslintrc-auto-import.json',
+            globalsPropValue: true
+        },
+        resolvers: [
+            // 自动导入 Element Plus 相关函数ElMessage, ElMessageBox... (带样式)
+            ElementPlusResolver(),
+            IconsResolver({
+                prefix: 'Icon'
+            })
+        ],
+        vueTemplate: true, // 是否在 vue 模板中自动导入
+        dts: path.resolve(path.resolve(__dirname, '../../src'), 'types', 'auto-imports.d.ts')
+    });
 };

+ 11 - 11
vite/plugins/components.ts

@@ -3,15 +3,15 @@ import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
 import IconsResolver from 'unplugin-icons/resolver';
 
 export default (path: any) => {
-  return Components({
-    resolvers: [
-      // 自动导入 Element Plus 组件
-      ElementPlusResolver(),
-      // 自动注册图标组件
-      IconsResolver({
-        enabledCollections: ['ep']
-      })
-    ],
-    dts: path.resolve(path.resolve(__dirname, '../../src'), 'types', 'components.d.ts')
-  });
+    return Components({
+        resolvers: [
+            // 自动导入 Element Plus 组件
+            ElementPlusResolver(),
+            // 自动注册图标组件
+            IconsResolver({
+                enabledCollections: ['ep']
+            })
+        ],
+        dts: path.resolve(path.resolve(__dirname, '../../src'), 'types', 'components.d.ts')
+    });
 };