From 1e5c5f6b40c62e091d59775fa57494e4f531b85f Mon Sep 17 00:00:00 2001 From: fmm <1442620801@qq.com> Date: Mon, 22 Jul 2024 20:09:22 +0800 Subject: [PATCH 1/7] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=8A=9F=E8=83=BD=20&=20=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/toolkits/pro/template/tinyvue/.env | 6 +- .../pro/template/tinyvue/.idea/workspace.xml | 73 +++++++++++++++++++ .../tinyvue/config/vite.config.dev.ts | 2 +- .../pro/template/tinyvue/src/api/user.ts | 20 ++++- .../src/views/login/components/login-info.vue | 2 +- .../src/views/login/components/login-mail.vue | 4 +- 6 files changed, 96 insertions(+), 11 deletions(-) create mode 100644 packages/toolkits/pro/template/tinyvue/.idea/workspace.xml diff --git a/packages/toolkits/pro/template/tinyvue/.env b/packages/toolkits/pro/template/tinyvue/.env index 679e6062..9de4842e 100644 --- a/packages/toolkits/pro/template/tinyvue/.env +++ b/packages/toolkits/pro/template/tinyvue/.env @@ -1,5 +1,5 @@ VITE_CONTEXT=/vue-pro/ VITE_BASE_API=/api -VITE_SERVER_HOST= http://127.0.0.1:7001 -VITE_USE_MOCK= true -VITE_MOCK_IGNORE= /api/user/userInfo,/api/user/login,/api/user/register,/api/employee/getEmployee \ No newline at end of file +VITE_SERVER_HOST= http://127.0.0.1:3000 +VITE_USE_MOCK= false +VITE_MOCK_IGNORE= /api/user/userInfo,/api/user/login,/api/user/register,/api/employee/getEmployee diff --git a/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml b/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml new file mode 100644 index 00000000..7f5d3491 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1720688311054 + + + + + + + + \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/config/vite.config.dev.ts b/packages/toolkits/pro/template/tinyvue/config/vite.config.dev.ts index 951e8188..b18cbd3a 100644 --- a/packages/toolkits/pro/template/tinyvue/config/vite.config.dev.ts +++ b/packages/toolkits/pro/template/tinyvue/config/vite.config.dev.ts @@ -7,7 +7,7 @@ const proxyConfig = { target: loadEnv('', process.cwd()).VITE_SERVER_HOST, changeOrigin: true, logLevel: 'debug', - rewrite: (path) => + rewrite: (path: string) => path.replace( new RegExp(`${loadEnv('', process.cwd()).VITE_BASE_API}`), '' diff --git a/packages/toolkits/pro/template/tinyvue/src/api/user.ts b/packages/toolkits/pro/template/tinyvue/src/api/user.ts index e0806818..46653710 100644 --- a/packages/toolkits/pro/template/tinyvue/src/api/user.ts +++ b/packages/toolkits/pro/template/tinyvue/src/api/user.ts @@ -2,8 +2,15 @@ import axios from 'axios'; import { UserInfo } from '@/store/modules/user/types'; export interface LoginData { + email: string; + password: string; +} + +export interface RegisterData { username: string; + email: string; password: string; + roleIds: number[]; } export interface LoginDataMail { @@ -28,18 +35,23 @@ export interface UserData { } export function login(data: LoginData) { - return axios.post('/api/user/login', data); + return axios.post('/api/auth/login', data); } export function loginMail(data: LoginDataMail) { return axios.post('/api/mail/login', data); } -export function logout() { - return axios.post('/api/user/logout'); +export function logout(email: string) { + return axios.post(`/api/auth/logout${email}`); } +// 获取全部用户 export function getUserInfo() { - return axios.get(`/api/user/userInfo`); + return axios.get(`/api/user`); +} + +export function delUser(email: string) { + return axios.delete(`/api/user/${email}`); } export function updateUserInfo(data: UserInfo) { diff --git a/packages/toolkits/pro/template/tinyvue/src/views/login/components/login-info.vue b/packages/toolkits/pro/template/tinyvue/src/views/login/components/login-info.vue index f300a9e6..84f6f34d 100644 --- a/packages/toolkits/pro/template/tinyvue/src/views/login/components/login-info.vue +++ b/packages/toolkits/pro/template/tinyvue/src/views/login/components/login-info.vue @@ -131,7 +131,7 @@ try { await userStore.login({ - username: loginInfo.username, + email: loginInfo.username, password: loginInfo.password, }); Modal.message({ diff --git a/packages/toolkits/pro/template/tinyvue/src/views/login/components/login-mail.vue b/packages/toolkits/pro/template/tinyvue/src/views/login/components/login-mail.vue index 0c27dd7f..99c89f0f 100644 --- a/packages/toolkits/pro/template/tinyvue/src/views/login/components/login-mail.vue +++ b/packages/toolkits/pro/template/tinyvue/src/views/login/components/login-mail.vue @@ -96,7 +96,7 @@ }); const loginMail = reactive({ - mailname: 'admin@example.com', + mailname: 'admin@no-reply.com', mailpassword: 'admin', rememberPassword: true, }); @@ -117,7 +117,7 @@ try { await userStore.login({ - username: loginMail.mailname, + email: loginMail.mailname, password: loginMail.mailpassword, }); Modal.message({ From 28c1164da39b1fa82f9ef3def50b5b5e5a3c6186 Mon Sep 17 00:00:00 2001 From: fmm <1442620801@qq.com> Date: Mon, 22 Jul 2024 20:10:15 +0800 Subject: [PATCH 2/7] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=8A=9F=E8=83=BD=20&=20=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/nestJs/src/auth/auth.service.ts | 21 ++++++++++++++++++- .../src/user/dto/pagination-query.dto.ts | 9 +++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts b/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts index d59a3cad..9189bf3b 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts @@ -44,6 +44,25 @@ export class AuthService { await token, await parseInt(process.env.REDIS_SECONDS) ); - return token; + const roleInfo = await this.user + .createQueryBuilder('user') + .leftJoinAndSelect('user.role', 'role') + .where({ + id: userInfo.id, + }).getOne(); + return { + data: { + token: await token, + userInfo: { + userid: userInfo.id, + username: userInfo.name, + email: userInfo.email, + createTime: userInfo.createTime, + updateTime: userInfo.updateTime, + role: roleInfo.name, + }, + }, + code: '0' + }; } } diff --git a/packages/toolkits/pro/template/server/nestJs/src/user/dto/pagination-query.dto.ts b/packages/toolkits/pro/template/server/nestJs/src/user/dto/pagination-query.dto.ts index 5333b535..21d6d8c9 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/user/dto/pagination-query.dto.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/user/dto/pagination-query.dto.ts @@ -1,9 +1,12 @@ import { IsOptional } from 'class-validator'; - +import { Transform} from 'class-transformer'; +import * as process from "process"; export class PaginationQueryDto { @IsOptional() - page?: number; + @Transform(value => isNaN(Number(value)) ? 1 : Number(value)) + page?: number = Number(process.env.PAGITION_PAGE); @IsOptional() - limit?: number; + @Transform(value => isNaN(Number(value)) ? 10 : Number(value)) + limit?: number = Number(process.env.PAGITION_PAGE); } From 47ab272cad313bf1f291bb13ec97b920f3851901 Mon Sep 17 00:00:00 2001 From: fmm <1442620801@qq.com> Date: Mon, 22 Jul 2024 20:12:23 +0800 Subject: [PATCH 3/7] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4idea=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pro/template/tinyvue/.idea/workspace.xml | 73 ------------------- 1 file changed, 73 deletions(-) delete mode 100644 packages/toolkits/pro/template/tinyvue/.idea/workspace.xml diff --git a/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml b/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml deleted file mode 100644 index 7f5d3491..00000000 --- a/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1720688311054 - - - - - - - - \ No newline at end of file From 95b6577354214d5fb656cb62c694f8fce211c50b Mon Sep 17 00:00:00 2001 From: fmm <1442620801@qq.com> Date: Thu, 25 Jul 2024 17:08:28 +0800 Subject: [PATCH 4/7] =?UTF-8?q?fix:=20=E5=89=8D=E7=AB=AF=E7=99=BB=E5=BD=95?= =?UTF-8?q?/=E7=99=BB=E5=87=BA=E5=8A=9F=E8=83=BD=E5=A4=84=E7=90=86&?= =?UTF-8?q?=E8=8E=B7=E5=8F=96user=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inspectionProfiles/Project_Default.xml | 7 ++ .../pro/template/tinyvue/.idea/modules.xml | 8 ++ .../pro/template/tinyvue/.idea/tinyvue.iml | 9 ++ .../pro/template/tinyvue/.idea/vcs.xml | 6 ++ .../pro/template/tinyvue/.idea/workspace.xml | 84 +++++++++++++++++++ .../template/tinyvue/src/api/interceptor.ts | 18 ++-- .../pro/template/tinyvue/src/api/user.ts | 15 +++- .../tinyvue/src/store/modules/user/index.ts | 39 ++++++--- .../tinyvue/src/store/modules/user/types.ts | 7 +- .../tinyvue/src/views/login/locale/zh-CN.ts | 2 +- 10 files changed, 169 insertions(+), 26 deletions(-) create mode 100644 packages/toolkits/pro/template/tinyvue/.idea/inspectionProfiles/Project_Default.xml create mode 100644 packages/toolkits/pro/template/tinyvue/.idea/modules.xml create mode 100644 packages/toolkits/pro/template/tinyvue/.idea/tinyvue.iml create mode 100644 packages/toolkits/pro/template/tinyvue/.idea/vcs.xml create mode 100644 packages/toolkits/pro/template/tinyvue/.idea/workspace.xml diff --git a/packages/toolkits/pro/template/tinyvue/.idea/inspectionProfiles/Project_Default.xml b/packages/toolkits/pro/template/tinyvue/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..7c4836fb --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/.idea/modules.xml b/packages/toolkits/pro/template/tinyvue/.idea/modules.xml new file mode 100644 index 00000000..ab361142 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/.idea/tinyvue.iml b/packages/toolkits/pro/template/tinyvue/.idea/tinyvue.iml new file mode 100644 index 00000000..d6ebd480 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/.idea/tinyvue.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/.idea/vcs.xml b/packages/toolkits/pro/template/tinyvue/.idea/vcs.xml new file mode 100644 index 00000000..bc599707 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml b/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml new file mode 100644 index 00000000..3d6e91f8 --- /dev/null +++ b/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1720688311054 + + + + + + + + \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/src/api/interceptor.ts b/packages/toolkits/pro/template/tinyvue/src/api/interceptor.ts index 472b78ae..70b77af2 100644 --- a/packages/toolkits/pro/template/tinyvue/src/api/interceptor.ts +++ b/packages/toolkits/pro/template/tinyvue/src/api/interceptor.ts @@ -45,15 +45,15 @@ axios.interceptors.request.use( // add response interceptors axios.interceptors.response.use( (response: AxiosResponse) => { - const res = response.data; - if (res.code !== '0') { - res.errMsg && - Modal.message({ - message: res.errMsg, - status: 'error', - }); - return Promise.reject(new Error(res.errMsg || 'Error')); - } + const res = response; + // if (res.code !== '0') { + // res.errMsg && + // Modal.message({ + // message: res.errMsg, + // status: 'error', + // }); + // return Promise.reject(new Error(res.errMsg || 'Error')); + // } return res; }, (error) => { diff --git a/packages/toolkits/pro/template/tinyvue/src/api/user.ts b/packages/toolkits/pro/template/tinyvue/src/api/user.ts index 46653710..50872c88 100644 --- a/packages/toolkits/pro/template/tinyvue/src/api/user.ts +++ b/packages/toolkits/pro/template/tinyvue/src/api/user.ts @@ -6,6 +6,10 @@ export interface LoginData { password: string; } +export interface LogoutData { + email: string; +} + export interface RegisterData { username: string; email: string; @@ -41,15 +45,20 @@ export function loginMail(data: LoginDataMail) { return axios.post('/api/mail/login', data); } -export function logout(email: string) { - return axios.post(`/api/auth/logout${email}`); +export function logout(data: LogoutData) { + return axios.post('/api/auth/logout', data); } // 获取全部用户 -export function getUserInfo() { +export function getAllUser() { return axios.get(`/api/user`); } +// 获取单个用户 +export function getUserInfo(email: string) { + return axios.get(`/api/user/info/${email}`); +} + export function delUser(email: string) { return axios.delete(`/api/user/${email}`); } diff --git a/packages/toolkits/pro/template/tinyvue/src/store/modules/user/index.ts b/packages/toolkits/pro/template/tinyvue/src/store/modules/user/index.ts index 09992554..eaaff468 100644 --- a/packages/toolkits/pro/template/tinyvue/src/store/modules/user/index.ts +++ b/packages/toolkits/pro/template/tinyvue/src/store/modules/user/index.ts @@ -1,20 +1,23 @@ -import { defineStore } from 'pinia'; +import {defineStore} from 'pinia'; import { login as userLogin, - loginMail as userLoginMail, - getUserInfo, - updateUserInfo, + logout as userLogout, LoginData, LoginDataMail, + loginMail as userLoginMail, + updateUserInfo, + getUserInfo, + getAllUser, } from '@/api/user'; -import { setToken, clearToken } from '@/utils/auth'; -import { removeRouteListener } from '@/utils/route-listener'; -import { UserState, UserInfo } from './types'; +import {clearToken, setToken} from '@/utils/auth'; +import {removeRouteListener} from '@/utils/route-listener'; +import {UserInfo, UserState} from './types'; const useUserStore = defineStore('user', { state: (): UserState => ({ - userId: '10000', - username: 'admin', + id: '10000', + name: 'admin', + email: 'admin@no-reply.com', department: 'Tiny-Vue-Pro', employeeType: 'social recruitment', job: 'Front end', @@ -68,7 +71,7 @@ const useUserStore = defineStore('user', { // Get user's information async info() { - const res = await getUserInfo(); + const res = await getAllUser(); this.setInfo(res.data); }, @@ -81,8 +84,17 @@ const useUserStore = defineStore('user', { async login(loginForm: LoginData) { try { const res = await userLogin(loginForm); - const { token, userInfo } = res.data; + const { token } = res.data; setToken(token); + const userRes = await getUserInfo(loginForm.email) + const userInfo = { + id: userRes.data.id, + name:userRes.data.name, + role:userRes.data.role[0].name, + createTime:userRes.data.createTime, + updateTime:userRes.data.updateTime, + email:userRes.data.email, + } this.setInfo(userInfo); } catch (err) { clearToken(); @@ -102,6 +114,11 @@ const useUserStore = defineStore('user', { // Logout async logout() { + const userStore = useUserStore() + const data = { + email:userStore.email + } + await userLogout(data); this.resetInfo(); clearToken(); removeRouteListener(); diff --git a/packages/toolkits/pro/template/tinyvue/src/store/modules/user/types.ts b/packages/toolkits/pro/template/tinyvue/src/store/modules/user/types.ts index 7954e618..c2059aaf 100644 --- a/packages/toolkits/pro/template/tinyvue/src/store/modules/user/types.ts +++ b/packages/toolkits/pro/template/tinyvue/src/store/modules/user/types.ts @@ -1,7 +1,8 @@ export type RoleType = '' | '*' | 'admin' | 'user'; export interface UserInfo { - userId: string; - username: string; + id: string; + name: string; + email: string; department?: string; employeeType?: string; job?: string; @@ -13,6 +14,8 @@ export interface UserInfo { address?: string; status?: string; role: RoleType; + updateTime?: any; + createTime?: any; } export interface UserFilterData { sort?: number; diff --git a/packages/toolkits/pro/template/tinyvue/src/views/login/locale/zh-CN.ts b/packages/toolkits/pro/template/tinyvue/src/views/login/locale/zh-CN.ts index 006102e6..bcff5bc1 100644 --- a/packages/toolkits/pro/template/tinyvue/src/views/login/locale/zh-CN.ts +++ b/packages/toolkits/pro/template/tinyvue/src/views/login/locale/zh-CN.ts @@ -40,7 +40,7 @@ export default { 'login.banner.subSlogan3': '实现灵活的区块式开发', 'login.icon.language': '语言', 'login.tip.info': '用户名:admin,密码 admin', - 'login.tip.mail': "用户名:admin{'@'}example.com,密码 admin", + 'login.tip.mail': "用户名:admin{'@'}no-reply.com,密码 admin", 'login.tip.right': '请输入正确的用户名密码', 'login.main.text': 'TinyPro 中后台前端解决方案', }; From 6130901db5a00a8b842b60c909c5e4aba8a71638 Mon Sep 17 00:00:00 2001 From: fmm <1442620801@qq.com> Date: Thu, 25 Jul 2024 17:10:44 +0800 Subject: [PATCH 5/7] =?UTF-8?q?fix:=20=20=E5=88=A0=E9=99=A4idea=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inspectionProfiles/Project_Default.xml | 7 -- .../pro/template/tinyvue/.idea/modules.xml | 8 -- .../pro/template/tinyvue/.idea/tinyvue.iml | 9 -- .../pro/template/tinyvue/.idea/vcs.xml | 6 -- .../pro/template/tinyvue/.idea/workspace.xml | 84 ------------------- 5 files changed, 114 deletions(-) delete mode 100644 packages/toolkits/pro/template/tinyvue/.idea/inspectionProfiles/Project_Default.xml delete mode 100644 packages/toolkits/pro/template/tinyvue/.idea/modules.xml delete mode 100644 packages/toolkits/pro/template/tinyvue/.idea/tinyvue.iml delete mode 100644 packages/toolkits/pro/template/tinyvue/.idea/vcs.xml delete mode 100644 packages/toolkits/pro/template/tinyvue/.idea/workspace.xml diff --git a/packages/toolkits/pro/template/tinyvue/.idea/inspectionProfiles/Project_Default.xml b/packages/toolkits/pro/template/tinyvue/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 7c4836fb..00000000 --- a/packages/toolkits/pro/template/tinyvue/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/.idea/modules.xml b/packages/toolkits/pro/template/tinyvue/.idea/modules.xml deleted file mode 100644 index ab361142..00000000 --- a/packages/toolkits/pro/template/tinyvue/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/.idea/tinyvue.iml b/packages/toolkits/pro/template/tinyvue/.idea/tinyvue.iml deleted file mode 100644 index d6ebd480..00000000 --- a/packages/toolkits/pro/template/tinyvue/.idea/tinyvue.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/.idea/vcs.xml b/packages/toolkits/pro/template/tinyvue/.idea/vcs.xml deleted file mode 100644 index bc599707..00000000 --- a/packages/toolkits/pro/template/tinyvue/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml b/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml deleted file mode 100644 index 3d6e91f8..00000000 --- a/packages/toolkits/pro/template/tinyvue/.idea/workspace.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1720688311054 - - - - - - - - \ No newline at end of file From 813d5722bb67b1b0391f58aacab44c99cd652ebe Mon Sep 17 00:00:00 2001 From: fmm <1442620801@qq.com> Date: Thu, 25 Jul 2024 17:15:40 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fix:=20=E5=90=8E=E7=AB=AF=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/nestJs/src/auth/auth.service.ts | 41 ++++++------------- .../server/nestJs/src/user/user.service.ts | 2 +- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts b/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts index 9189bf3b..9e425289 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts @@ -1,10 +1,10 @@ -import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; -import { CreateAuthDto } from './dto/create-auth.dto'; -import { InjectRepository } from '@nestjs/typeorm'; -import { encry, User } from '@app/models'; -import { Repository } from 'typeorm'; -import { JwtService } from '@nestjs/jwt'; -import { RedisService } from '../../libs/redis/redis.service'; +import {HttpException, HttpStatus, Injectable} from '@nestjs/common'; +import {CreateAuthDto} from './dto/create-auth.dto'; +import {InjectRepository} from '@nestjs/typeorm'; +import {encry, User} from '@app/models'; +import {Repository} from 'typeorm'; +import {JwtService} from '@nestjs/jwt'; +import {RedisService} from '../../libs/redis/redis.service'; @Injectable() export class AuthService { @@ -13,21 +13,23 @@ export class AuthService { private user: Repository, private jwtService: JwtService, private readonly redisService: RedisService - ) {} + ) { + } async getToken(userId: string): Promise { return this.redisService.getUserToken(`user:${userId}:token`); } async logout(email: string): Promise { + console.log(email) //退出登录后,将token从Redis删除 await this.redisService.delUserToken(`user:${email}:token`); return; } async login(dto: CreateAuthDto) { - const { email, password } = dto; - const userInfo = await this.user.findOne({ where: { email } }); + const {email, password} = dto; + const userInfo = await this.user.findOne({where: {email}}); if (userInfo === null || userInfo.deleteAt != 0) { throw new HttpException('该用户不存在', HttpStatus.NOT_FOUND); } @@ -44,25 +46,8 @@ export class AuthService { await token, await parseInt(process.env.REDIS_SECONDS) ); - const roleInfo = await this.user - .createQueryBuilder('user') - .leftJoinAndSelect('user.role', 'role') - .where({ - id: userInfo.id, - }).getOne(); return { - data: { - token: await token, - userInfo: { - userid: userInfo.id, - username: userInfo.name, - email: userInfo.email, - createTime: userInfo.createTime, - updateTime: userInfo.updateTime, - role: roleInfo.name, - }, - }, - code: '0' + token: await token, }; } } diff --git a/packages/toolkits/pro/template/server/nestJs/src/user/user.service.ts b/packages/toolkits/pro/template/server/nestJs/src/user/user.service.ts index 5e2de286..eb0a064b 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/user/user.service.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/user/user.service.ts @@ -63,7 +63,7 @@ export class UserService { } async getUserInfo(email: string, relations: string[] = []) { - return this.userRep.findOne({ + return await this.userRep.findOne({ where: { email, deleteAt: 0 }, select: [ 'id', From 341892cd1966c30e053db9ebbb62b5dd0bb275b1 Mon Sep 17 00:00:00 2001 From: fmm <1442620801@qq.com> Date: Thu, 25 Jul 2024 18:47:23 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4info=20&=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=99=BB=E5=87=BA=E9=80=BB=E8=BE=91=20&=20?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/nestJs/src/auth/auth.controller.ts | 2 +- .../template/server/nestJs/src/auth/auth.service.ts | 7 ++++--- .../server/nestJs/src/auth/dto/logout-auth.dto.ts | 2 +- .../pro/template/tinyvue/src/api/interceptor.ts | 8 -------- .../toolkits/pro/template/tinyvue/src/api/user.ts | 2 +- .../template/tinyvue/src/router/guard/permission.ts | 1 - .../template/tinyvue/src/store/modules/user/index.ts | 11 ++--------- .../tinyvue/src/views/form/step/components/head.vue | 3 --- 8 files changed, 9 insertions(+), 27 deletions(-) diff --git a/packages/toolkits/pro/template/server/nestJs/src/auth/auth.controller.ts b/packages/toolkits/pro/template/server/nestJs/src/auth/auth.controller.ts index db59250d..26b8b048 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/auth/auth.controller.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/auth/auth.controller.ts @@ -19,6 +19,6 @@ export class AuthController { @Post('logout') @UseGuards(AuthGuard) async logout(@Body() body: LogoutAuthDto) { - return this.authService.logout(body.email); + return this.authService.logout(body.token); } } diff --git a/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts b/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts index 9e425289..6bf5bd11 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/auth/auth.service.ts @@ -20,10 +20,11 @@ export class AuthService { return this.redisService.getUserToken(`user:${userId}:token`); } - async logout(email: string): Promise { - console.log(email) + async logout(token: string): Promise { + //通过token解析email + const decoded = await this.jwtService.verify(token); //退出登录后,将token从Redis删除 - await this.redisService.delUserToken(`user:${email}:token`); + await this.redisService.delUserToken(`user:${decoded.email}:token`); return; } diff --git a/packages/toolkits/pro/template/server/nestJs/src/auth/dto/logout-auth.dto.ts b/packages/toolkits/pro/template/server/nestJs/src/auth/dto/logout-auth.dto.ts index 3c009c78..6581e0c5 100644 --- a/packages/toolkits/pro/template/server/nestJs/src/auth/dto/logout-auth.dto.ts +++ b/packages/toolkits/pro/template/server/nestJs/src/auth/dto/logout-auth.dto.ts @@ -2,5 +2,5 @@ import { IsNotEmpty } from 'class-validator'; export class LogoutAuthDto { @IsNotEmpty() - email: string; + token: string; } diff --git a/packages/toolkits/pro/template/tinyvue/src/api/interceptor.ts b/packages/toolkits/pro/template/tinyvue/src/api/interceptor.ts index 70b77af2..7601da09 100644 --- a/packages/toolkits/pro/template/tinyvue/src/api/interceptor.ts +++ b/packages/toolkits/pro/template/tinyvue/src/api/interceptor.ts @@ -46,14 +46,6 @@ axios.interceptors.request.use( axios.interceptors.response.use( (response: AxiosResponse) => { const res = response; - // if (res.code !== '0') { - // res.errMsg && - // Modal.message({ - // message: res.errMsg, - // status: 'error', - // }); - // return Promise.reject(new Error(res.errMsg || 'Error')); - // } return res; }, (error) => { diff --git a/packages/toolkits/pro/template/tinyvue/src/api/user.ts b/packages/toolkits/pro/template/tinyvue/src/api/user.ts index 50872c88..628e9eb7 100644 --- a/packages/toolkits/pro/template/tinyvue/src/api/user.ts +++ b/packages/toolkits/pro/template/tinyvue/src/api/user.ts @@ -7,7 +7,7 @@ export interface LoginData { } export interface LogoutData { - email: string; + token: string | null; } export interface RegisterData { diff --git a/packages/toolkits/pro/template/tinyvue/src/router/guard/permission.ts b/packages/toolkits/pro/template/tinyvue/src/router/guard/permission.ts index 03c53fc1..1e6246e1 100644 --- a/packages/toolkits/pro/template/tinyvue/src/router/guard/permission.ts +++ b/packages/toolkits/pro/template/tinyvue/src/router/guard/permission.ts @@ -31,7 +31,6 @@ export default function setupPermissionGuard(router: Router) { crossroads(); } else { try { - await userStore.info(); crossroads(); } catch (error) { next({ diff --git a/packages/toolkits/pro/template/tinyvue/src/store/modules/user/index.ts b/packages/toolkits/pro/template/tinyvue/src/store/modules/user/index.ts index eaaff468..2eae9d3a 100644 --- a/packages/toolkits/pro/template/tinyvue/src/store/modules/user/index.ts +++ b/packages/toolkits/pro/template/tinyvue/src/store/modules/user/index.ts @@ -9,7 +9,7 @@ import { getUserInfo, getAllUser, } from '@/api/user'; -import {clearToken, setToken} from '@/utils/auth'; +import {clearToken, getToken, setToken} from '@/utils/auth'; import {removeRouteListener} from '@/utils/route-listener'; import {UserInfo, UserState} from './types'; @@ -69,12 +69,6 @@ const useUserStore = defineStore('user', { this.filterType = []; }, - // Get user's information - async info() { - const res = await getAllUser(); - this.setInfo(res.data); - }, - async updateInfo(data: UserInfo) { const res = await updateUserInfo(data); this.setInfo(res.data); @@ -114,9 +108,8 @@ const useUserStore = defineStore('user', { // Logout async logout() { - const userStore = useUserStore() const data = { - email:userStore.email + token:getToken() } await userLogout(data); this.resetInfo(); diff --git a/packages/toolkits/pro/template/tinyvue/src/views/form/step/components/head.vue b/packages/toolkits/pro/template/tinyvue/src/views/form/step/components/head.vue index 6b7db756..b46e549b 100644 --- a/packages/toolkits/pro/template/tinyvue/src/views/form/step/components/head.vue +++ b/packages/toolkits/pro/template/tinyvue/src/views/form/step/components/head.vue @@ -83,9 +83,6 @@ const userStore = useUserStore(); - onMounted(() => { - userStore.info(); - });