From 5c95325765b525bb8722ed990c669573728068ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=89=E8=99=B9=E7=9D=BF?= <297504645@qq.com> Date: Tue, 5 Sep 2023 14:56:29 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=8E=A5=E5=8F=A3=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E3=80=91=E4=BD=BF=E7=94=A8=E5=8D=95=E7=82=B9=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E8=BF=9B=E8=A1=8C=E7=99=BB=E5=BD=95=E3=80=81?= =?UTF-8?q?=E7=99=BB=E5=87=BA=EF=BC=8C=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=EF=BC=8C=E8=B7=AF=E7=94=B1=E7=AD=89=E5=8A=9F=E8=83=BD=E5=BC=80?= =?UTF-8?q?=E5=8F=91=EF=BC=8C=E9=A6=96=E9=A1=B5=E9=9A=90=E8=97=8F=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E4=BC=98=E5=8C=96=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PC/InterFace.Dash/package-lock.json | 64 ++++ PC/InterFace.Dash/package.json | 1 + PC/InterFace.Dash/public/config.js | 4 + PC/InterFace.Dash/src/App.vue | 5 + PC/InterFace.Dash/src/api/wms-auth.js | 9 + .../src/layout/components/Navbar.vue | 25 +- PC/InterFace.Dash/src/oidc/oidc-client.js | 21 ++ PC/InterFace.Dash/src/permission.js | 67 ++-- PC/InterFace.Dash/src/permission0830.js | 140 -------- PC/InterFace.Dash/src/permission_old.js | 146 -------- PC/InterFace.Dash/src/router/index.js | 31 +- PC/InterFace.Dash/src/store/getters.js | 1 - .../src/store/modules/permission copy.js | 319 ------------------ .../src/store/modules/permission_old.js | 267 --------------- .../src/store/modules/user copy.js | 168 --------- PC/InterFace.Dash/src/store/modules/user.js | 72 +++- PC/InterFace.Dash/src/utils/request.js | 3 +- .../src/views/callback/index.vue | 25 ++ .../src/views/dashboard/index.vue | 7 +- .../src/views/error-page/401.vue | 4 +- PC/InterFace.Dash/vue.config.js | 2 +- 21 files changed, 281 insertions(+), 1100 deletions(-) create mode 100644 PC/InterFace.Dash/src/oidc/oidc-client.js delete mode 100644 PC/InterFace.Dash/src/permission0830.js delete mode 100644 PC/InterFace.Dash/src/permission_old.js delete mode 100644 PC/InterFace.Dash/src/store/modules/permission copy.js delete mode 100644 PC/InterFace.Dash/src/store/modules/permission_old.js delete mode 100644 PC/InterFace.Dash/src/store/modules/user copy.js create mode 100644 PC/InterFace.Dash/src/views/callback/index.vue diff --git a/PC/InterFace.Dash/package-lock.json b/PC/InterFace.Dash/package-lock.json index eaa1212..b32b900 100644 --- a/PC/InterFace.Dash/package-lock.json +++ b/PC/InterFace.Dash/package-lock.json @@ -27,6 +27,7 @@ "moment": "^2.29.1", "normalize.css": "7.0.0", "nprogress": "0.2.0", + "oidc-client": "^1.11.5", "path-to-regexp": "2.4.0", "qs": "^6.10.3", "screenfull": "4.2.0", @@ -7416,6 +7417,11 @@ "node": "*" } }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "node_modules/css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", @@ -16024,6 +16030,35 @@ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, + "node_modules/oidc-client": { + "version": "1.11.5", + "resolved": "https://registry.npmmirror.com/oidc-client/-/oidc-client-1.11.5.tgz", + "integrity": "sha512-LcKrKC8Av0m/KD/4EFmo9Sg8fSQ+WFJWBrmtWd+tZkNn3WT/sQG3REmPANE9tzzhbjW6VkTNy4xhAXCfPApAOg==", + "dependencies": { + "acorn": "^7.4.1", + "base64-js": "^1.5.1", + "core-js": "^3.8.3", + "crypto-js": "^4.0.0", + "serialize-javascript": "^4.0.0" + } + }, + "node_modules/oidc-client/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/oidc-client/node_modules/core-js": { + "version": "3.32.1", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.32.1.tgz", + "integrity": "sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==", + "hasInstallScript": true + }, "node_modules/omelette": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/omelette/-/omelette-0.4.5.tgz", @@ -29520,6 +29555,11 @@ "randomfill": "^1.0.3" } }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", @@ -36331,6 +36371,30 @@ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, + "oidc-client": { + "version": "1.11.5", + "resolved": "https://registry.npmmirror.com/oidc-client/-/oidc-client-1.11.5.tgz", + "integrity": "sha512-LcKrKC8Av0m/KD/4EFmo9Sg8fSQ+WFJWBrmtWd+tZkNn3WT/sQG3REmPANE9tzzhbjW6VkTNy4xhAXCfPApAOg==", + "requires": { + "acorn": "^7.4.1", + "base64-js": "^1.5.1", + "core-js": "^3.8.3", + "crypto-js": "^4.0.0", + "serialize-javascript": "^4.0.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "core-js": { + "version": "3.32.1", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.32.1.tgz", + "integrity": "sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==" + } + } + }, "omelette": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/omelette/-/omelette-0.4.5.tgz", diff --git a/PC/InterFace.Dash/package.json b/PC/InterFace.Dash/package.json index 518f341..a74c05c 100644 --- a/PC/InterFace.Dash/package.json +++ b/PC/InterFace.Dash/package.json @@ -33,6 +33,7 @@ "moment": "^2.29.1", "normalize.css": "7.0.0", "nprogress": "0.2.0", + "oidc-client": "^1.11.5", "path-to-regexp": "2.4.0", "qs": "^6.10.3", "screenfull": "4.2.0", diff --git a/PC/InterFace.Dash/public/config.js b/PC/InterFace.Dash/public/config.js index f80aefc..7953eb4 100644 --- a/PC/InterFace.Dash/public/config.js +++ b/PC/InterFace.Dash/public/config.js @@ -15,6 +15,10 @@ window.SITE_CONFIG['appClientId'] = 'Z_App' window.SITE_CONFIG['appClientScope'] = 'Z' // 浏览器名称 window.SITE_CONFIG['browserTitle'] = '接口看板-QAD&WMS' +// 单点登录使用数据 +window.SITE_CONFIG['oidcLogin_url'] = 'http://dev.ccwin-in.com:60065', +window.SITE_CONFIG['oidcLogin_clientId'] = 'InterfaceDash_App' +window.SITE_CONFIG['oidcLogin_scopes'] = 'offline_access Z profile' // 隐藏的页面 window.SITE_CONFIG['menuHiddenConfig'] = [ 'AsnDet','PoDet','ReceiptDet','ReturnDet', diff --git a/PC/InterFace.Dash/src/App.vue b/PC/InterFace.Dash/src/App.vue index faca134..f3c545e 100644 --- a/PC/InterFace.Dash/src/App.vue +++ b/PC/InterFace.Dash/src/App.vue @@ -18,6 +18,11 @@ localStorage.setItem('isSinglePage',window.SITE_CONFIG['isSinglePage']) localStorage.setItem('appClientId',window.SITE_CONFIG['appClientId']) localStorage.setItem('appClientScope',window.SITE_CONFIG['appClientScope']) localStorage.setItem('browserTitle',window.SITE_CONFIG['browserTitle']) +// 单点登录使用数据 +localStorage.setItem('oidcLogin_url',window.SITE_CONFIG['oidcLogin_url']) +localStorage.setItem('oidcLogin_clientId',window.SITE_CONFIG['oidcLogin_clientId']) +localStorage.setItem('oidcLogin_scopes',window.SITE_CONFIG['oidcLogin_scopes']) +// 隐藏菜单 localStorage.setItem('menuHiddenConfig',window.SITE_CONFIG['menuHiddenConfig']) // localStorage.setItem('isAutoLogin',window.SITE_CONFIG['isAutoLogin']) diff --git a/PC/InterFace.Dash/src/api/wms-auth.js b/PC/InterFace.Dash/src/api/wms-auth.js index aa49b23..8f0bc2f 100644 --- a/PC/InterFace.Dash/src/api/wms-auth.js +++ b/PC/InterFace.Dash/src/api/wms-auth.js @@ -30,6 +30,15 @@ export function token(data) { }) } +// 获取用户信息(单点登录) +export function getUsersByToken(token) { + return request({ + url: localStorage.getItem('oidcLogin_url') + '/connect/userinfo', + method: 'get', + Token:token + }) +} + // 通过用户名获取用户信息 export function getUsersByUserName(name) { return request({ diff --git a/PC/InterFace.Dash/src/layout/components/Navbar.vue b/PC/InterFace.Dash/src/layout/components/Navbar.vue index 51236ad..6f12500 100644 --- a/PC/InterFace.Dash/src/layout/components/Navbar.vue +++ b/PC/InterFace.Dash/src/layout/components/Navbar.vue @@ -1,5 +1,5 @@