From 0ff3188e5fc4027c868af8e41d0ae551ac69b3ea Mon Sep 17 00:00:00 2001 From: EightMonth Date: Thu, 4 Jan 2024 11:02:47 +0800 Subject: [PATCH] =?UTF-8?q?sas=E8=AE=A4=E8=AF=81=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/sys/model/userModel.ts | 3 ++- src/api/sys/user.ts | 7 ++++++- src/store/modules/user.ts | 7 ++++--- src/utils/http/axios/index.ts | 2 +- src/views/sys/login/LoginForm.vue | 1 + 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/api/sys/model/userModel.ts b/src/api/sys/model/userModel.ts index f1d9be7..5cad2f0 100644 --- a/src/api/sys/model/userModel.ts +++ b/src/api/sys/model/userModel.ts @@ -4,6 +4,7 @@ export interface LoginParams { username: string; password: string; + grant_type: string; } export interface ThirdLoginParams { @@ -21,7 +22,7 @@ export interface RoleInfo { */ export interface LoginResultModel { userId: string | number; - token: string; + access_token: string; role: RoleInfo; userInfo?: any } diff --git a/src/api/sys/user.ts b/src/api/sys/user.ts index 4866c94..8bc0051 100644 --- a/src/api/sys/user.ts +++ b/src/api/sys/user.ts @@ -11,7 +11,7 @@ import { PageEnum } from '/@/enums/pageEnum'; const { createErrorModal } = useMessage(); enum Api { - Login = '/sys/login', + Login = '/oauth2/token', phoneLogin = '/sys/phoneLogin', Logout = '/sys/logout', GetUserInfo = '/sys/user/getUserInfo', @@ -52,8 +52,13 @@ export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') { url: Api.Login, params, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + 'Authorization': 'Basic amVlY2ctY2xpZW50OnNlY3JldA==' + }, }, { + isTransformResponse: false, errorMessageMode: mode, } ); diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index e75a7a0..77d12b4 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -134,14 +134,15 @@ export const useUserStore = defineStore({ ): Promise { try { const { goHome = true, mode, ...loginParams } = params; + loginParams.grant_type = 'password'; const data = await loginApi(loginParams, mode); - const { token, userInfo } = data; + const { access_token, userInfo } = data; // save token - this.setToken(token); + this.setToken(access_token); this.setTenant(userInfo.loginTenantId); return this.afterLoginAction(goHome, data); } catch (error) { - return Promise.reject(error); + return Promise.reject(error.response.data); } }, /** diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts index 89ce34c..eda9dd1 100644 --- a/src/utils/http/axios/index.ts +++ b/src/utils/http/axios/index.ts @@ -142,7 +142,7 @@ const transform: AxiosTransform = { let tenantId: string | number = getTenantId(); if (token && (config as Recordable)?.requestOptions?.withToken !== false) { // jwt token - config.headers.Authorization = options.authenticationScheme ? `${options.authenticationScheme} ${token}` : token; + config.headers.Authorization = options.authenticationScheme ? `${options.authenticationScheme} ${token}` : 'Bearer ' + token; config.headers[ConfigEnum.TOKEN] = token; //--update-begin--author:liusq---date:20210831---for:将签名和时间戳,添加在请求接口 Header diff --git a/src/views/sys/login/LoginForm.vue b/src/views/sys/login/LoginForm.vue index 1bb1cb7..5f14b0d 100644 --- a/src/views/sys/login/LoginForm.vue +++ b/src/views/sys/login/LoginForm.vue @@ -149,6 +149,7 @@ username: data.account, captcha: data.inputCode, checkKey: randCodeData.checkKey, + grant_type: 'password', mode: 'none', //不要默认的错误提示 }) );