Browse Source

登录token校验融合

master
zhanglei 7 days ago
parent
commit
0ae51d9345
  1. 10
      templates/vue/api.ts.j2
  2. 2
      vue-vben-admin/apps/web-antd/.env.development
  3. 2
      vue-vben-admin/apps/web-antd/.env.production
  4. 16
      vue-vben-admin/apps/web-antd/src/api/core/auth.ts
  5. 6
      vue-vben-admin/apps/web-antd/src/api/core/user.ts
  6. 1
      vue-vben-admin/apps/web-antd/src/api/request.ts
  7. 7
      vue-vben-admin/apps/web-antd/src/api/user.ts
  8. 43
      vue-vben-admin/apps/web-antd/src/api/user/user.ts
  9. 7
      vue-vben-admin/apps/web-antd/src/store/auth.ts

10
templates/vue/api.ts.j2

@ -5,6 +5,7 @@
import { requestClient } from '#/api/request';
import { useAppConfig } from '@vben/hooks';
import { useAccessStore } from '@vben/stores';
export namespace {{entity}}Api {
@ -16,7 +17,7 @@ export namespace {{entity}}Api {
*/
export function page(params: any) {
return requestClient.post(applicationConfig.javaURL+'/{{old_table}}/page', params,
{ headers: {'Content-Type': 'application/json', Token: '917e9898-8a0a-4079-a16a-e456457e070c', version: '1.0.1', familyId: 0}});
{ headers: {'Content-Type': 'application/json', Token: useAccessStore().accessToken, version: '1.0.1'}});
}
/**
@ -31,7 +32,7 @@ export namespace {{entity}}Api {
*/
export function add(data: any) {
return requestClient.post(applicationConfig.javaURL+'/{{old_table}}/add', data,
{ headers: {'Content-Type': 'application/json', Token: '917e9898-8a0a-4079-a16a-e456457e070c', version: '1.0.1', familyId: 0}});
{ headers: {'Content-Type': 'application/json', Token: useAccessStore().accessToken, version: '1.0.1'}});
}
/**
@ -39,7 +40,7 @@ export namespace {{entity}}Api {
*/
export function save(data: any) {
return requestClient.post(applicationConfig.javaURL+'/{{old_table}}/modify', data,
{ headers: {'Content-Type': 'application/json', Token: '917e9898-8a0a-4079-a16a-e456457e070c', version: '1.0.1', familyId: 0}});
{ headers: {'Content-Type': 'application/json', Token: useAccessStore().accessToken, version: '1.0.1'}});
}
/**
@ -53,7 +54,8 @@ export namespace {{entity}}Api {
* 枚举列表
*/
export function enumList(params: any) {
return requestClient.post(applicationConfig.javaURL+'/health-enums/optionList', params,{ headers: {'Content-Type': 'application/json', Token: '917e9898-8a0a-4079-a16a-e456457e070c', version: '1.0.1'}});
return requestClient.post(applicationConfig.javaURL+'/health-enums/optionList', params,
{ headers: {'Content-Type': 'application/json', Token: useAccessStore().accessToken, version: '1.0.1'}});
}
}

2
vue-vben-admin/apps/web-antd/.env.development

@ -6,7 +6,7 @@ VITE_BASE=/
# 接口地址
VITE_GLOB_API_URL=/api
# VITE_GLOB_API_URL=http://localhost:8083/api/models
VITE_GLOB_JAVA_API_URL=http://192.168.1.87:8084/mg/models
VITE_GLOB_JAVA_API_URL=http://192.168.1.47:8084/mg/models
# 是否开启 Nitro Mock服务,true 为开启,false 为关闭
VITE_NITRO_MOCK=true

2
vue-vben-admin/apps/web-antd/.env.production

@ -4,7 +4,7 @@ VITE_BASE=/
VITE_GLOB_API_URL=https://mock-napi.vben.pro/api
# VITE_GLOB_API_URL=http://localhost:8083/api/models
VITE_GLOB_JAVA_API_URL=http://192.168.1.87:8084/mg/models
VITE_GLOB_JAVA_API_URL=http://192.168.1.47:8084/mg/models
# 是否开启压缩,可以设置为 none, brotli, gzip
VITE_COMPRESS=none

16
vue-vben-admin/apps/web-antd/src/api/core/auth.ts

@ -1,4 +1,5 @@
import { baseRequestClient, requestClient } from '#/api/request';
import { useAppConfig } from '@vben/hooks';
export namespace AuthApi {
/** 登录接口参数 */
@ -13,23 +14,26 @@ export namespace AuthApi {
}
export interface RefreshTokenResult {
data: string;
status: number;
result: string;
code: number;
}
}
const applicationConfig = useAppConfig(import.meta.env, import.meta.env.PROD);
console.log('=== 接口域名 ===', applicationConfig.javaURL)
/**
*
*/
export async function loginApi(data: AuthApi.LoginParams) {
return requestClient.post<AuthApi.LoginResult>('/auth/login', data);
return requestClient.post<AuthApi.LoginResult>(applicationConfig.javaURL+'/auth/login', data);
}
/**
* accessToken
*/
export async function refreshTokenApi() {
return baseRequestClient.post<AuthApi.RefreshTokenResult>('/auth/refresh', {
return baseRequestClient.post<AuthApi.RefreshTokenResult>(applicationConfig.javaURL+'/auth/refresh', {
withCredentials: true,
});
}
@ -38,7 +42,7 @@ export async function refreshTokenApi() {
* 退
*/
export async function logoutApi() {
return baseRequestClient.post('/auth/logout', {
return baseRequestClient.post(applicationConfig.javaURL+'/auth/logout', {
withCredentials: true,
});
}
@ -47,5 +51,5 @@ export async function logoutApi() {
*
*/
export async function getAccessCodesApi() {
return requestClient.get<string[]>('/auth/codes');
return requestClient.get<string[]>(applicationConfig.javaURL+'/auth/codes');
}

6
vue-vben-admin/apps/web-antd/src/api/core/user.ts

@ -2,9 +2,13 @@ import type { UserInfo } from '@vben/types';
import { requestClient } from '#/api/request';
import { useAppConfig } from '@vben/hooks';
const applicationConfig = useAppConfig(import.meta.env, import.meta.env.PROD);
/**
*
*/
export async function getUserInfoApi() {
return requestClient.get<UserInfo>('/user/info');
return requestClient.get<UserInfo>(applicationConfig.javaURL+'/auth/user/info');
}

1
vue-vben-admin/apps/web-antd/src/api/request.ts

@ -7,6 +7,7 @@ import { useAppConfig } from '@vben/hooks';
import { preferences } from '@vben/preferences';
import {
authenticateResponseInterceptor,
//todo 适配返回数据的适配器
defaultResponseInterceptor,
errorMessageResponseInterceptor,
RequestClient,

7
vue-vben-admin/apps/web-antd/src/api/user.ts

@ -5,6 +5,7 @@
import { requestClient } from '#/api/request';
import { useAppConfig } from '@vben/hooks';
import { useAccessStore } from '@vben/stores';
export namespace userApi {
@ -16,7 +17,7 @@ export namespace userApi {
*/
export function page(params: any) {
return requestClient.post(applicationConfig.javaURL+'/health-user/page', params,
{ headers: {'Content-Type': 'application/json', Token: 'ded93460-0cf5-45db-81ae-7608dbd3f51e', version: '1.0.1', familyId: 0}});
{ headers: {'Content-Type': 'application/json', Token: useAccessStore().accessToken, version: '1.0.1'}});
}
/**
@ -31,7 +32,7 @@ export namespace userApi {
*/
export function add(data: any) {
return requestClient.post(applicationConfig.javaURL+'/health-user/add', data,
{ headers: {'Content-Type': 'application/json', Token: 'ded93460-0cf5-45db-81ae-7608dbd3f51e', version: '1.0.1', familyId: 0}});
{ headers: {'Content-Type': 'application/json', Token: 'ded93460-0cf5-45db-81ae-7608dbd3f51e', version: '1.0.1'}});
}
/**
@ -39,7 +40,7 @@ export namespace userApi {
*/
export function save(data: any) {
return requestClient.post(applicationConfig.javaURL+'/health-user/modify', data,
{ headers: {'Content-Type': 'application/json', Token: 'ded93460-0cf5-45db-81ae-7608dbd3f51e', version: '1.0.1', familyId: 0}});
{ headers: {'Content-Type': 'application/json', Token: 'ded93460-0cf5-45db-81ae-7608dbd3f51e', version: '1.0.1'}});
}
/**

43
vue-vben-admin/apps/web-antd/src/api/user/user.ts

@ -1,43 +0,0 @@
/**
* API
*
*/
import { requestClient } from '#/api/request';
import { useAppConfig } from '@vben/hooks';
export namespace userApi {
const applicationConfig = useAppConfig(import.meta.env, import.meta.env.PROD);
console.log('=== 接口域名 ===', applicationConfig.javaURL + '/health-user/page')
/**
*
*/
export function page(params: any) {
return requestClient.post(applicationConfig.javaURL + '/health-user/page', params ,
{ headers: {'Content-Type': 'application/json', Token: 'ded93460-0cf5-45db-81ae-7608dbd3f51e', version: '1.0.1'} });
}
/**
*
*/
export function get(id: number) {
return requestClient.get(applicationConfig.javaURL + '/health_user/' + id);
}
/**
* /
*/
export function save(data: any) {
return requestClient.post(applicationConfig.javaURL + '/health_user', data);
}
/**
*
*/
export function remove(id: number) {
return requestClient.delete(applicationConfig.javaURL + '/health_user/' + id);
}
}

7
vue-vben-admin/apps/web-antd/src/store/auth.ts

@ -21,6 +21,7 @@ export const useAuthStore = defineStore('auth', () => {
const loginLoading = ref(false);
/**
* todo zmm
*
* Asynchronously handle the login process
* @param params
@ -35,7 +36,9 @@ export const useAuthStore = defineStore('auth', () => {
loginLoading.value = true;
const { accessToken } = await loginApi(params);
// 如果成功获取到 accessToken
console.log('[login]>>>1 :',accessToken)
// 如果成功获取到 accessToken
if (accessToken) {
accessStore.setAccessToken(accessToken);
@ -44,7 +47,7 @@ export const useAuthStore = defineStore('auth', () => {
fetchUserInfo(),
getAccessCodesApi(),
]);
console.log('[login]>>>2 :',fetchUserInfoResult)
userInfo = fetchUserInfoResult;
userStore.setUserInfo(userInfo);

Loading…
Cancel
Save