From 3135957dda0327b668181bb551c4179810202c3c Mon Sep 17 00:00:00 2001 From: zoujing Date: Mon, 6 Apr 2026 17:08:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=A5=E5=8F=A3=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E7=9A=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 4 +- src/api/AigcGeneratorPhotoTaskListApi.ts | 28 +-- src/common/ajax.js | 34 ++- src/constant/token.ts | 10 +- src/utils/storage.ts | 15 +- src/views/generate/index.vue | 52 ++--- src/views/history/index.vue | 106 ++++++---- src/views/home/index.vue | 254 +++++++++++++---------- src/views/prepicture/index.vue | 2 +- 9 files changed, 300 insertions(+), 205 deletions(-) diff --git a/src/App.vue b/src/App.vue index e43560b..8d24977 100644 --- a/src/App.vue +++ b/src/App.vue @@ -14,7 +14,9 @@ const KeepAliveList = ref([]) router.beforeEach((to, from, next) => { const keepAlive = to?.meta?.keepAlive - Session.set('token', to.query.token) + if (to.query.token) { + Session.set('token', to.query.token) + } if (!router.hasRoute(to.name)) { router.push('/home') diff --git a/src/api/AigcGeneratorPhotoTaskListApi.ts b/src/api/AigcGeneratorPhotoTaskListApi.ts index 003d2ef..a98fc93 100644 --- a/src/api/AigcGeneratorPhotoTaskListApi.ts +++ b/src/api/AigcGeneratorPhotoTaskListApi.ts @@ -1,29 +1,29 @@ /* eslint-disable */ // @ts-ignore -import request from '@common/ajax'; -import type { Response } from './types'; +import request from '@common/ajax' +import type { Response } from './types' export interface GeneratorPhotoTask { - pageNum: number; - pageSize: number; - taskStatus: string; + pageNum: number + pageSize: number + taskStatus?: string } export interface GeneratorPhotoTaskListItem { - records: PhotoTaskRecordsItem[]; + records: PhotoTaskRecordsItem[] } export interface PhotoTaskRecordsItem { - sceneName: string; - createTime: string; - taskStatus: string; - generatorPhoto: string; + sceneName: string + createTime: string + taskStatus: string + generatorPhoto: string } export const generatorPhotoTaskList = (params: GeneratorPhotoTask) => { - return request>({ + return request>({ url: '/aigc/generatorPhotoTaskList', method: 'post', - params, - }); -}; \ No newline at end of file + params + }) +} diff --git a/src/common/ajax.js b/src/common/ajax.js index fb5f56c..6082c36 100644 --- a/src/common/ajax.js +++ b/src/common/ajax.js @@ -3,7 +3,8 @@ import { tansParams } from '@utils/tansParams' import { getAccessToken } from '@/constant/token' // 获取.env中的服务地址 -const { VITE_BASE_API, VITE_ENV } = import.meta.env +const VITE_BASE_API = (import.meta.env.VITE_BASE_API || '').trim() +const VITE_ENV = (import.meta.env.VITE_ENV || '').trim() console.log('🚀 ~ VITE_ENV:', VITE_ENV) console.log('🚀 ~ VITE_BASE_API:', VITE_BASE_API) @@ -18,21 +19,31 @@ const instance = axios.create({ // 添加拦截器 instance.interceptors.request.use((config) => { - const token = getAccessToken(); - config.headers['Authorization'] = `Bearer ${token}` + const token = getAccessToken() + console.log('🚀 ~ Request Token:', token) + + if (token) { + // 兼容不同版本的 axios 设置 header + config.headers = config.headers || {} + config.headers.Authorization = `Bearer ${token}` + } + + console.log('🚀 ~ Final Headers:', config.headers) // get请求映射params参数 - if (config.method === 'get' && config.params) { + const method = (config.method || '').toLowerCase() + if (method === 'get' && config.params) { let url = config.url + '?' + tansParams(config.params) - console.log('🚀 ~ url:', url) - url = url.slice(0, -1) config.params = {} config.url = url } // post/put/patch 请求将 params 映射到 body(data) - if ((config.method === 'post' || config.method === 'put' || config.method === 'patch') && config.params) { + if ( + (method === 'post' || method === 'put' || method === 'patch') && + config.params + ) { config.data = config.params config.params = {} } @@ -43,9 +54,16 @@ instance.interceptors.request.use((config) => { // 添加响应拦截器 instance.interceptors.response.use( (res) => { - return Promise.resolve(res.data.data) + console.log('🚀 ~ res:', res) + if (res.data.code === 0) { + return Promise.resolve(res.data.data) + } else { + console.error('业务报错:', res.data.msg) + return Promise.reject(res.data) + } }, (error) => { + console.error('网络或服务器报错:', error) return Promise.reject(error) } ) diff --git a/src/constant/token.ts b/src/constant/token.ts index 3217151..24f227f 100644 --- a/src/constant/token.ts +++ b/src/constant/token.ts @@ -1,7 +1,7 @@ import { Session } from '@/utils/storage' - export const getAccessToken = () => { - const token = Session.getToken() - // const token = 'H7rzcCtsvPqwc0ecDnBT9mlhOqHsWDyS6nXkRjnd1oAgOQqlEhsCy4OZPQ8YyVBj57pmNpwSXJYcd6Ox4YB-W1pHr4aTM9_d6nYJ3OrbRB9f0J7kP9FbbviN609nGO0m' - return token; -} \ No newline at end of file +export const getAccessToken = () => { + const token = Session.getToken() + // const token = 'AqmeApe592cOm__Xx8B8NAwJuS_3l8T9GLq9jYqxGSPojQUjmMLbgkG-h5OijP6OdTxwtFm-4ZlShqKYS_pr1OJ1ItZkbRKZjGZh0BIokJ0QIxcOkMQOAf9_XudBedvT' + return token +} diff --git a/src/utils/storage.ts b/src/utils/storage.ts index 475cd23..be3b27c 100644 --- a/src/utils/storage.ts +++ b/src/utils/storage.ts @@ -44,13 +44,24 @@ export const Local = { export const Session = { // 设置临时缓存 set(key: string, val: any) { - window.sessionStorage.setItem(key, JSON.stringify(val)) + if (val === undefined || val === null) { + window.sessionStorage.removeItem(key) + } else { + window.sessionStorage.setItem(key, JSON.stringify(val)) + } }, // 获取临时缓存 get(key: string) { let json = window.sessionStorage.getItem(key) - return JSON.parse(json) + if (!json || json === 'undefined' || json === 'null') { + return null + } + try { + return JSON.parse(json) + } catch (e) { + return json + } }, // 移除临时缓存 diff --git a/src/views/generate/index.vue b/src/views/generate/index.vue index 8a21d44..f784128 100644 --- a/src/views/generate/index.vue +++ b/src/views/generate/index.vue @@ -1,7 +1,13 @@ - \ No newline at end of file + diff --git a/src/views/history/index.vue b/src/views/history/index.vue index fa238ef..a900bad 100644 --- a/src/views/history/index.vue +++ b/src/views/history/index.vue @@ -1,11 +1,20 @@ -
{{ list.length == 0 ? '暂无记录' : `仅保留最近20天生成记录` }}
+
+ {{ list.length == 0 ? '暂无记录' : `仅保留最近20天生成记录` }} +
\ No newline at end of file + diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 384501d..11def4a 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -1,24 +1,42 @@ - \ No newline at end of file + diff --git a/src/views/prepicture/index.vue b/src/views/prepicture/index.vue index 4bc2909..409c7fc 100644 --- a/src/views/prepicture/index.vue +++ b/src/views/prepicture/index.vue @@ -29,7 +29,7 @@ -