From ac7bee6eb4f4de3fc3455b4c34b566eecaf1465c Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Mon, 10 Jul 2023 17:25:44 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E5=89=8D=E7=AB=AF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=80=82=E9=85=8DABP4=E7=9A=84=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=9A=E8=8E=B7=E5=8F=96=E7=AB=99=E7=82=B9=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=81=E7=99=BB=E5=BD=95=E3=80=81=E8=8E=B7=E5=8F=96=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF=EF=BC=9B2.=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=92=8C=E8=A7=92=E8=89=B2=E7=9A=84=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E5=92=8C=E8=A1=A8=E5=8D=95=E9=85=8D=E7=BD=AE=EF=BC=8C?= =?UTF-8?q?=E9=80=82=E9=85=8D=E5=88=97=E8=A1=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/WebApp/vanilla/api/site.js | 2 +- code/WebApp/vanilla/api/user.js | 16 +- .../vanilla/components/form/form-input.js | 27 +- .../vanilla/components/form/form-item.js | 11 +- code/WebApp/vanilla/components/form/index.js | 67 +- code/WebApp/vanilla/components/icon/index.js | 43 +- code/WebApp/vanilla/components/list/index.js | 687 ++++++++++++------ .../vanilla/components/markdown/index.js | 36 +- code/WebApp/vanilla/index.html | 13 +- code/WebApp/vanilla/layouts/header.js | 13 +- code/WebApp/vanilla/layouts/index.js | 26 +- code/WebApp/vanilla/layouts/locale.js | 7 +- code/WebApp/vanilla/layouts/menu-item.js | 20 +- code/WebApp/vanilla/layouts/menu.js | 2 +- code/WebApp/vanilla/layouts/tabs.js | 35 +- .../lib/element-plus/index.full.min.mjs | 36 +- code/WebApp/vanilla/main.js | 2 +- code/WebApp/vanilla/models/login.js | 52 ++ code/WebApp/vanilla/models/role.js | 50 ++ code/WebApp/vanilla/models/user.js | 98 +++ code/WebApp/vanilla/request/index.js | 72 +- code/WebApp/vanilla/router/index.js | 114 ++- code/WebApp/vanilla/router/routes.js | 101 +++ code/WebApp/vanilla/signalr/index.js | 33 +- code/WebApp/vanilla/store/app.js | 7 +- code/WebApp/vanilla/styles/site.css | 5 +- code/WebApp/vanilla/utils/index.js | 6 +- code/WebApp/vanilla/views/404.js | 2 +- code/WebApp/vanilla/views/base-data/role.js | 17 + code/WebApp/vanilla/views/base-data/user.js | 17 + code/WebApp/vanilla/views/list.js | 17 +- code/WebApp/vanilla/views/login.js | 84 +-- code/WebApp/vanilla/views/user/index.js | 15 - 33 files changed, 1196 insertions(+), 537 deletions(-) create mode 100644 code/WebApp/vanilla/models/login.js create mode 100644 code/WebApp/vanilla/models/role.js create mode 100644 code/WebApp/vanilla/models/user.js create mode 100644 code/WebApp/vanilla/router/routes.js create mode 100644 code/WebApp/vanilla/views/base-data/role.js create mode 100644 code/WebApp/vanilla/views/base-data/user.js delete mode 100644 code/WebApp/vanilla/views/user/index.js diff --git a/code/WebApp/vanilla/api/site.js b/code/WebApp/vanilla/api/site.js index 614ccd9f..3543762a 100644 --- a/code/WebApp/vanilla/api/site.js +++ b/code/WebApp/vanilla/api/site.js @@ -17,7 +17,7 @@ async function getLocalizationAsync() { locale: "zh", messages: { zh: { - application: "北京北汽模塑-SAS结算分析系统", + application: "北汽模塑销售结算系统", copyright: "长春市闻荫科技有限公司 ©2023", test: "测试", compareAttribute: "{0}”和{1}不匹配", diff --git a/code/WebApp/vanilla/api/user.js b/code/WebApp/vanilla/api/user.js index 51d53a10..e830bbdd 100644 --- a/code/WebApp/vanilla/api/user.js +++ b/code/WebApp/vanilla/api/user.js @@ -16,6 +16,7 @@ const isLogin = async () => { return true; } else { appStore.token = null; + removeAccessToken(); } } return false; @@ -39,6 +40,7 @@ const login = async (data) => { const logout = () => { const appStore = useAppStore(); appStore.token = null; + removeAccessToken(); removeRefreshToken(); router.push({ path: "/login", query: { redirect: router.currentRoute.value.fullPath } }); }; @@ -47,11 +49,13 @@ const getUser = async () => { const result = await get("abp/application-configuration"); const data = result.data; const user = {}; - user.name = data.currentUser.userName; + user.id = data.currentUser.id; + user.userName = data.currentUser.userName; user.email = data.currentUser.email; + user.phoneNumber = data.currentUser.phoneNumber; user.roles = data.currentUser.roles; - const menus = (await get("base/role-menus")).data; - user.permissions = menus.items; + user.permissions = data.auth.policies; + user.localization = data.localization; return user; }; @@ -66,6 +70,10 @@ const hasPermission = (to) => { } }; +const accessTokenKey = "access_token"; +const getAccessToken = () => localStorage.getItem(accessTokenKey); +const setAccessToken = (token) => localStorage.setItem(accessTokenKey, token); +const removeAccessToken = () => localStorage.removeItem(accessTokenKey); const refreshTokenKey = "refresh_token"; const getRefreshToken = () => localStorage.getItem(refreshTokenKey); @@ -77,4 +85,4 @@ const removeRefreshToken = () => { connection.stop(); }; -export { isLogin, login, logout, getUser, hasPermission }; +export { isLogin, login, logout, getAccessToken, setAccessToken, setRefreshToken, getUser, hasPermission }; diff --git a/code/WebApp/vanilla/components/form/form-input.js b/code/WebApp/vanilla/components/form/form-input.js index 02911edf..a99cc6c0 100644 --- a/code/WebApp/vanilla/components/form/form-input.js +++ b/code/WebApp/vanilla/components/form/form-input.js @@ -1,6 +1,7 @@ import html from "html"; import { ref, reactive, watch } from "vue"; import { dayjs } from "element-plus"; +import { post } from "../../request/index.js"; export default { template: html` @@ -20,8 +21,9 @@ export default { :multiple="!!schema.multiple" clearable style="width:100%" + :title="JSON.stringify(options)" > - +