From 19757a9a495c7b9a4456fb1b18f1771bf81d9572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=B4=E4=B8=9A=E4=BC=9F?= <806724993@qq.com> Date: Mon, 22 Jan 2024 18:02:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=92=8C=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/axios.ts | 3 + src/api/http.ts | 4 - src/api/system/user.ts | 10 + .../Table/src/hooks/useDataSource.ts | 1 - src/config/website.config.ts | 13 ++ src/enums/httpEnum.ts | 1 + src/enums/pageEnum.ts | 11 +- src/enums/storageEnum.ts | 4 +- src/layout/components/Header/index.vue | 5 +- src/layout/components/Sider/index.vue | 57 +++++- src/router/base.ts | 64 ++++--- src/router/generator.ts | 126 +++++++++++++ src/router/icons.ts | 7 + src/router/index.ts | 48 ++--- src/router/modules/system.router.ts | 52 ----- src/router/router-guards.ts | 120 ++++++++++-- src/store/modules/asyncRoute.ts | 107 +++++++++++ src/store/modules/user.ts | 106 +++++++++++ src/styles/index.scss | 12 +- src/utils/domUtils.ts | 6 +- src/utils/menu.ts | 2 + src/utils/router.ts | 28 ++- src/utils/storage.ts | 178 ++++++++++++------ src/views/login/index.vue | 64 +++---- src/views/redirect/index.vue | 22 +++ 25 files changed, 789 insertions(+), 262 deletions(-) create mode 100644 src/config/website.config.ts create mode 100644 src/router/generator.ts create mode 100644 src/router/icons.ts delete mode 100644 src/router/modules/system.router.ts create mode 100644 src/store/modules/asyncRoute.ts create mode 100644 src/store/modules/user.ts create mode 100644 src/views/redirect/index.vue diff --git a/src/api/axios.ts b/src/api/axios.ts index 5981971..dc33c67 100644 --- a/src/api/axios.ts +++ b/src/api/axios.ts @@ -2,6 +2,8 @@ import axios, { AxiosResponse, AxiosRequestConfig } from "axios"; import { ResultEnum } from "@/enums/httpEnum"; // import { ErrorPageNameMap } from "@/enums/pageEnum"; // import { redirectErrorPage } from "@/utils"; +import { storage } from "@/utils"; +import { StorageEnum } from "@/enums/storageEnum"; const axiosInstance = axios.create({ baseURL: import.meta.env.DEV @@ -13,6 +15,7 @@ const axiosInstance = axios.create({ // 请求拦截器 axiosInstance.interceptors.request.use( (config) => { + config.headers.Authorization = storage.get(StorageEnum.ZS_ACCESS_TOKEN); return config; }, (error: AxiosRequestConfig) => { diff --git a/src/api/http.ts b/src/api/http.ts index aefd735..7f8ad14 100644 --- a/src/api/http.ts +++ b/src/api/http.ts @@ -17,9 +17,6 @@ export const get = (url: string, params?: object) => { url: url, method: RequestHttpEnum.GET, params: params, - headers: { - Authorization: "7df1bd95-bf13-4660-a07d-90b8b1b314e8", - }, }); }; @@ -30,7 +27,6 @@ export const post = (url: string, data?: object, headersType?: string) => { data: data, headers: { "Content-Type": headersType || ContentTypeEnum.JSON, - Authorization: "7df1bd95-bf13-4660-a07d-90b8b1b314e8", }, }); }; diff --git a/src/api/system/user.ts b/src/api/system/user.ts index c3d2b83..9f66119 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -3,12 +3,22 @@ import { get, post } from "@/api/http"; const fix = "/user"; const url = { + login: `${fix}/login`, + userInfo: `${fix}/userInfo`, insert: `${fix}/insert`, page: `${fix}/page`, update: `${fix}/update`, delete: `${fix}/delete`, }; +export const login = (params: Object) => { + return post(url.login, params); +}; + +export const getUserInfo = () => { + return get(url.userInfo); +}; + export const insertUser = (params: Object) => { return post(url.insert, params); }; diff --git a/src/components/Table/src/hooks/useDataSource.ts b/src/components/Table/src/hooks/useDataSource.ts index 6794165..8b7a7f2 100644 --- a/src/components/Table/src/hooks/useDataSource.ts +++ b/src/components/Table/src/hooks/useDataSource.ts @@ -54,7 +54,6 @@ export function useDataSource( const sizeField = APISETTING.sizeField; const totalField = APISETTING.totalField; const listField = APISETTING.listField; - console.log(listField); const itemCount = APISETTING.countField; let pageParams = {}; diff --git a/src/config/website.config.ts b/src/config/website.config.ts new file mode 100644 index 0000000..c167fbd --- /dev/null +++ b/src/config/website.config.ts @@ -0,0 +1,13 @@ +import logoImage from "@/assets/images/logo.png"; +interface WebsiteConfig { + title: string; + logo: string; + loginImage: string; + loginDesc: string; +} +export const websiteConfig: WebsiteConfig = Object.freeze({ + title: "中盛起元基础框架", + logo: logoImage, + loginImage: logoImage, + loginDesc: "中盛起元基础框架", +}); diff --git a/src/enums/httpEnum.ts b/src/enums/httpEnum.ts index da1e0ff..469b2f1 100644 --- a/src/enums/httpEnum.ts +++ b/src/enums/httpEnum.ts @@ -2,6 +2,7 @@ * @description: 请求结果集 */ export enum ResultEnum { + STATUS = 200, DATA_SUCCESS = 0, SUCCESS = 2000, SERVER_ERROR = 500, diff --git a/src/enums/pageEnum.ts b/src/enums/pageEnum.ts index 7edd7df..986340f 100644 --- a/src/enums/pageEnum.ts +++ b/src/enums/pageEnum.ts @@ -1,12 +1,17 @@ import { ResultEnum } from "@/enums/httpEnum"; export enum PageEnum { + // 登录 + BASE_LOGIN = "/login", + BASE_LOGIN_NAME = "lOGIN", + //重定向 + REDIRECT = "/redirect", + REDIRECT_NAME = "Redirect", + // 首页 + BASE_HOME = "/system/menu", // 错误 ERROR_PAGE_NAME_403 = "ErrorPage403", ERROR_PAGE_NAME_404 = "ErrorPage404", - BASE_LOGIN = "/login", - REDIRECT = "/redirect", - REDIRECT_NAME = "Redirect", // ERROR_PAGE_NAME_500 = "ErrorPage500", } diff --git a/src/enums/storageEnum.ts b/src/enums/storageEnum.ts index 14cd505..2a6ede5 100644 --- a/src/enums/storageEnum.ts +++ b/src/enums/storageEnum.ts @@ -2,7 +2,9 @@ export enum StorageEnum { // 全局设置 ZS_SYSTEM_SETTING_STORE = "YSTEM_SETTING", // token 等信息 - ZS_ACCESS_TOKEN_STORE = "ACCESS_TOKEN", + ZS_ACCESS_TOKEN = "ACCESS_TOKEN", // 登录信息 ZS_LOGIN_INFO_STORE = "LOGIN_INFO", + // 当前用户信息 + ZS_CURRENT_USER = "CURRENT_USER", } diff --git a/src/layout/components/Header/index.vue b/src/layout/components/Header/index.vue index 953e443..f92dd2c 100644 --- a/src/layout/components/Header/index.vue +++ b/src/layout/components/Header/index.vue @@ -1,6 +1,7 @@ diff --git a/src/layout/components/Sider/index.vue b/src/layout/components/Sider/index.vue index efa6402..d73a60f 100644 --- a/src/layout/components/Sider/index.vue +++ b/src/layout/components/Sider/index.vue @@ -13,11 +13,12 @@