From 2330652047233581699771940f5de625fd80ae54 Mon Sep 17 00:00:00 2001 From: Vinjor Date: Mon, 12 Aug 2024 16:59:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/codeStyles/Project.xml | 63 ++++++++++++++++++++++++++++ .idea/codeStyles/codeStyleConfig.xml | 5 +++ .idea/lanan-ui-go-view.iml | 12 ++++++ .idea/vcs.xml | 6 +++ .idea/watcherTasks.xml | 25 +++++++++++ .stylelintrc.js | 12 ++++++ package.json | 2 +- pnpm-lock.yaml | 44 +++++++++---------- src/views/login/index.vue | 41 +++++++++++++++++- 9 files changed, 186 insertions(+), 24 deletions(-) create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/lanan-ui-go-view.iml create mode 100644 .idea/vcs.xml create mode 100644 .idea/watcherTasks.xml create mode 100644 .stylelintrc.js diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..8f4012c --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/lanan-ui-go-view.iml b/.idea/lanan-ui-go-view.iml new file mode 100644 index 0000000..0c8867d --- /dev/null +++ b/.idea/lanan-ui-go-view.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/watcherTasks.xml b/.idea/watcherTasks.xml new file mode 100644 index 0000000..c70980f --- /dev/null +++ b/.idea/watcherTasks.xml @@ -0,0 +1,25 @@ + + + + + + + + \ No newline at end of file diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 0000000..5a5ba91 --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,12 @@ +module.exports = { + rules: { + 'selector-pseudo-class-no-unknown': [ + true, + { + ignorePseudoClasses: ['deep'] + } + ], + + } + +}; diff --git a/package.json b/package.json index 12adbbf..0e0ec70 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "mockjs": "^1.1.0", "plop": "^3.0.5", "prettier": "^2.6.2", - "sass": "^1.49.11", + "sass": "1.77.6", "sass-loader": "^12.6.0", "typescript": "4.6.3", "vite": "2.9.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b104d9..86502df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -125,7 +125,7 @@ importers: version: 0.11.0 '@vitejs/plugin-vue': specifier: ^1.10.2 - version: 1.10.2(vite@2.9.9(sass@1.77.8)) + version: 1.10.2(vite@2.9.9(sass@1.77.6)) '@vitejs/plugin-vue-jsx': specifier: ^1.3.9 version: 1.3.10 @@ -175,26 +175,26 @@ importers: specifier: ^2.6.2 version: 2.8.8 sass: - specifier: ^1.49.11 - version: 1.77.8 + specifier: 1.77.6 + version: 1.77.6 sass-loader: specifier: ^12.6.0 - version: 12.6.0(sass@1.77.8)(webpack@5.93.0) + version: 12.6.0(sass@1.77.6)(webpack@5.93.0) typescript: specifier: 4.6.3 version: 4.6.3 vite: specifier: 2.9.9 - version: 2.9.9(sass@1.77.8) + version: 2.9.9(sass@1.77.6) vite-plugin-compression: specifier: ^0.5.1 - version: 0.5.1(vite@2.9.9(sass@1.77.8)) + version: 0.5.1(vite@2.9.9(sass@1.77.6)) vite-plugin-importer: specifier: ^0.2.5 version: 0.2.5 vite-plugin-mock: specifier: ^2.9.6 - version: 2.9.8(mockjs@1.1.0)(vite@2.9.9(sass@1.77.8)) + version: 2.9.8(mockjs@1.1.0)(vite@2.9.9(sass@1.77.6)) vite-plugin-monaco-editor: specifier: ^1.1.0 version: 1.1.0(monaco-editor@0.33.0) @@ -2872,8 +2872,8 @@ packages: sass-embedded: optional: true - sass@1.77.8: - resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==} + sass@1.77.6: + resolution: {integrity: sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==} engines: {node: '>=14.0.0'} hasBin: true @@ -3812,7 +3812,7 @@ snapshots: '@types/node': 20.5.1 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.5.4) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@4.6.3))(ts-node@10.9.2(@types/node@16.18.104)(typescript@4.6.3))(typescript@5.5.4) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -4167,9 +4167,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@1.10.2(vite@2.9.9(sass@1.77.8))': + '@vitejs/plugin-vue@1.10.2(vite@2.9.9(sass@1.77.6))': dependencies: - vite: 2.9.9(sass@1.77.8) + vite: 2.9.9(sass@1.77.6) '@volar/code-gen@0.28.10': dependencies: @@ -4777,7 +4777,7 @@ snapshots: convert-source-map@2.0.0: {} - cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4): + cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@4.6.3))(ts-node@10.9.2(@types/node@16.18.104)(typescript@4.6.3))(typescript@5.5.4): dependencies: '@types/node': 20.5.1 cosmiconfig: 8.3.6(typescript@5.5.4) @@ -6526,15 +6526,15 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@12.6.0(sass@1.77.8)(webpack@5.93.0): + sass-loader@12.6.0(sass@1.77.6)(webpack@5.93.0): dependencies: klona: 2.0.6 neo-async: 2.6.2 webpack: 5.93.0 optionalDependencies: - sass: 1.77.8 + sass: 1.77.6 - sass@1.77.8: + sass@1.77.6: dependencies: chokidar: 3.6.0 immutable: 4.3.7 @@ -6910,12 +6910,12 @@ snapshots: evtd: 0.2.4 vue: 3.4.36(typescript@4.6.3) - vite-plugin-compression@0.5.1(vite@2.9.9(sass@1.77.8)): + vite-plugin-compression@0.5.1(vite@2.9.9(sass@1.77.6)): dependencies: chalk: 4.1.2 debug: 4.3.6 fs-extra: 10.1.0 - vite: 2.9.9(sass@1.77.8) + vite: 2.9.9(sass@1.77.6) transitivePeerDependencies: - supports-color @@ -6927,7 +6927,7 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-mock@2.9.8(mockjs@1.1.0)(vite@2.9.9(sass@1.77.8)): + vite-plugin-mock@2.9.8(mockjs@1.1.0)(vite@2.9.9(sass@1.77.6)): dependencies: '@types/mockjs': 1.0.10 chalk: 4.1.2 @@ -6938,7 +6938,7 @@ snapshots: fast-glob: 3.3.2 mockjs: 1.1.0 path-to-regexp: 6.2.2 - vite: 2.9.9(sass@1.77.8) + vite: 2.9.9(sass@1.77.6) transitivePeerDependencies: - supports-color @@ -6946,7 +6946,7 @@ snapshots: dependencies: monaco-editor: 0.33.0 - vite@2.9.9(sass@1.77.8): + vite@2.9.9(sass@1.77.6): dependencies: esbuild: 0.14.54 postcss: 8.4.41 @@ -6954,7 +6954,7 @@ snapshots: rollup: 2.79.1 optionalDependencies: fsevents: 2.3.3 - sass: 1.77.8 + sass: 1.77.6 void-elements@3.1.0: {} diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 794a051..5bdaa22 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -137,6 +137,7 @@ import { reactive, ref, onMounted } from 'vue' import shuffle from 'lodash/shuffle' import { carouselInterval } from '@/settings/designSetting' +import { useRoute } from 'vue-router'; import { useSystemStore } from '@/store/modules/systemStore/systemStore' import { SystemStoreUserInfoEnum, SystemStoreEnum } from '@/store/modules/systemStore/systemStore.d' import { GoThemeSelect } from '@/components/GoThemeSelect' @@ -146,7 +147,7 @@ import { LayoutFooter } from '@/layout/components/LayoutFooter' import { PageEnum } from '@/enums/pageEnum' import { StorageEnum } from '@/enums/storageEnum' import { icon } from '@/plugins' -import { routerTurnByName } from '@/utils' +import { fetchRouteParams, fetchRouteParamsLocation, routerTurnByName } from '@/utils' import {getTenantIdByNameApi, getUserProfileApi, loginApi} from '@/api/path' import { Verify } from '@/components/Verifition' @@ -167,6 +168,13 @@ const systemStore = useSystemStore() const t = window['$t'] +// 解析URL中的查询字符串 +const urlParams = new URLSearchParams(window.location.search); +const params_token = urlParams.get('token'); +const params_tenantId = urlParams.get('tenantId'); +console.log("token",params_token) +console.log("tenantId",params_tenantId) + const formInline = reactive({ tenantName: '芋道源码', username: 'admin', @@ -221,6 +229,35 @@ const shuffleHandle = () => { bgList.value = shuffle(bgList.value) }, carouselInterval) } +// 自动登录 +const loginAuto = async() => { + if(null!=params_token && null!=params_tenantId){ + systemStore.setItem(SystemStoreEnum.TENANT_INFO, { + tenantId: Number(params_tenantId) + }) + const tokenValue = params_token + const tokenName = 'Authorization' + systemStore.setItem(SystemStoreEnum.USER_INFO, { + [SystemStoreUserInfoEnum.USER_TOKEN]: tokenValue, + [SystemStoreUserInfoEnum.TOKEN_NAME]: tokenName + }) + + // 个人信息 + const profileRes = await getUserProfileApi() + const id = profileRes?.data?.id + const username = profileRes?.data?.nickname + const nickname = profileRes?.data?.nickname + // 存储到 pinia + systemStore.setItem(SystemStoreEnum.USER_INFO, { + [SystemStoreUserInfoEnum.USER_TOKEN]: tokenValue, + [SystemStoreUserInfoEnum.TOKEN_NAME]: tokenName, + [SystemStoreUserInfoEnum.USER_ID]: id, + [SystemStoreUserInfoEnum.USER_NAME]: username, + [SystemStoreUserInfoEnum.NICK_NAME]: nickname, + }) + routerTurnByName(PageEnum.BASE_HOME_NAME, true) + } +} // 验证码 const verify = ref() @@ -316,6 +353,8 @@ onMounted(() => { }, 100) shuffleHandle() + // 自动登录 + loginAuto() })