Compare commits

...

2 Commits

Author SHA1 Message Date
b7113c4e12 Update API types and request handling 2025-08-21 22:15:17 +08:00
0de28e554a Refactor API requests and update component keys 2025-08-21 21:43:46 +08:00
7 changed files with 14 additions and 19 deletions

View File

@ -79,6 +79,5 @@ export const getSettingPage = (params: { type: number }) => {
* 首页-标签2 * 首页-标签2
*/ */
export const tab2 = () => { export const tab2 = () => {
return useFetchRequest.get<IResponse<ProjectDictNodeVO[]>>('/prod-api/app-api/business/project/index/index-tab2', { return useFetchRequest.get<IResponse<ProjectDictNodeVO[]>>('/prod-api/app-api/business/project/index/index-tab2', {})
})
} }

View File

@ -2,7 +2,7 @@ export interface ThotTopReq {
/** 类型: 1 图纸 2 文本 3 模型 */ /** 类型: 1 图纸 2 文本 3 模型 */
type: number type: number
/** 项目分类 */ /** 项目分类 */
projectType: string projectType: number
/** 是否国内 0 国外 1 国内 */ /** 是否国内 0 国外 1 国内 */
isDomestic: number isDomestic: number
projectTypeTop?: string projectTypeTop?: string

View File

@ -20,7 +20,7 @@ const useClientRequest = async <T = unknown>(
} }
}, },
onResponse({ response }) { onResponse({ response }) {
if (+response.status === 200 && +response._data.code !== 200) { if (+response.status === 200 && +response._data.code !== 0) {
ElMessage.error(response._data.msg); ElMessage.error(response._data.msg);
} }
}, },

View File

@ -19,11 +19,13 @@ const useServerRequest = async <T>(
} }
}, },
onResponse({ response }) { onResponse({ response }) {
if (+response.status === 200 && +response._data.code !== 200) { console.log('response1---', response);
if (+response.status === 200 && +response._data.code !== 0) {
process.client && ElMessage.error(response._data.msg); process.client && ElMessage.error(response._data.msg);
} }
}, },
onResponseError({ response }) { onResponseError({ response }) {
console.log('response2---', response);
process.client && process.client &&
ElMessage.error( ElMessage.error(
isArray(response._data.data.msg) isArray(response._data.data.msg)
@ -43,6 +45,9 @@ const useServerRequest = async <T>(
endpoint: string, endpoint: string,
config?: Omit<FetchOptions, 'method'> config?: Omit<FetchOptions, 'method'>
): Promise<T> => { ): Promise<T> => {
console.log('config----', config);
// @ts-ignore
return useServerRequest<T>(endpoint, { ...config, method: 'GET' }) return useServerRequest<T>(endpoint, { ...config, method: 'GET' })
} }

View File

@ -31,7 +31,7 @@
status: 0, status: 0,
}) })
const { data: bannerList } = useAsyncData('get-setting-Page', async () => { const { data: bannerList } = useAsyncData('get-setting-Page-learning-recommendations', async () => {
const res = await getSettingPage(pageReq) const res = await getSettingPage(pageReq)
return res.data return res.data
}) })

View File

@ -39,27 +39,18 @@ import LoginForm from "./LoginForm.vue";
import { Vue3Marquee } from "vue3-marquee"; import { Vue3Marquee } from "vue3-marquee";
import { getSettingPage } from "~/api/home/index"; import { getSettingPage } from "~/api/home/index";
import type { PageResultIndexSettingRespVO } from "~/api/home/type";
const pageReq = reactive({ const pageReq = reactive({
type: 1, type: 1,
status: 0, status: 0,
}); });
const { data: bannerList } = useAsyncData("get-setting-Page", async () => { const { data: bannerList } = useAsyncData("get-setting-Page-main-content", async () => {
const res = await getSettingPage(pageReq); const res = await getSettingPage(pageReq);
return res.data; return res.data;
}); });
// const bannerList = ref<PageResultIndexSettingRespVO[]>([])
// const getBanner = async () => {
// const res = await getSettingPage(pageReq)
// if (res.code === 0) {
// bannerList.value = res.data
// }
// }
// getBanner()
const handleClick = (url: string) => { const handleClick = (url: string) => {
if (url) { if (url) {
navigateTo(url); navigateTo(url);

View File

@ -54,8 +54,8 @@
// }) // })
// } // }
const { data: recommendTopList, refresh: getRecommendTop} = useAsyncData('recommendTop', async () => { const { data: recommendTopList, refresh: getRecommendTop} = useAsyncData('recommendTop-RecommendedColumns', async () => {
// @ts-ignore
const res = await recommendTop(query) const res = await recommendTop(query)
return res.data || [] return res.data || []
}) })