diff --git a/api/toolbox/index.ts b/api/toolbox/index.ts index f6e23e5..486fa8a 100644 --- a/api/toolbox/index.ts +++ b/api/toolbox/index.ts @@ -1,6 +1,6 @@ import * as useDollarFetchRequest from '~/composables/useDollarFetchRequest' import * as useFetchRequest from '~/composables/useFetchRequest' -import type { TcreateReq, TpageReq, TpageRes } from './types' +import type { TcreateReq, TpageReq, TpageRes, ProjectResourceRespVO } from './types' /** * 新建工具箱 @@ -24,7 +24,7 @@ export const page = (params: any) => { * 获得工具箱 */ export const get = (params: { id: string }) => { - return useFetchRequest.get>('/prod-api/app-api/business/resource/get', { + return useFetchRequest.get>('/prod-api/app-api/business/resource/get', { query: params, }) } diff --git a/api/toolbox/types.ts b/api/toolbox/types.ts index a2bb83a..e395294 100644 --- a/api/toolbox/types.ts +++ b/api/toolbox/types.ts @@ -8,6 +8,7 @@ export interface TcreateReq { projectType: number[] categoryId?: number sourceType?: number + categoryName?: string files: { id: number title: string @@ -61,3 +62,55 @@ export interface TpageItem { commentsPoint: number ownedUserId: string } + +export interface ProjectResourceRespVO { + id: number + title: string + labels: string[] + createAddress: string + createIp: string + projectType: number[] + categoryId: number + categoryName: string + favoriteId?: number + downloadId?: number + sourceType: number + ownedUserIdInfo: { + id: number + nickName: string + avatar: string + } + files: { + id: number + title: string + fileId: number + drawId: number + type: number + url: string + sort: number + size: number + }[] + coverImages: { + id: number + title: string + fileId: number + drawId: number + type: number + url: string + sort: number + size: number + }[] + points: number + createTime: string + updateTime: string + status: number + recommend: boolean + iconUrl: string + hotPoint: number + description: string + previewPoint: number + previewUrl: string + previewImageUrl: string + commentsPoint: number + ownedUserId: string +} diff --git a/pages/toolbox-detail/[id].vue b/pages/toolbox-detail/[id].vue index 6076e75..8d7a369 100644 --- a/pages/toolbox-detail/[id].vue +++ b/pages/toolbox-detail/[id].vue @@ -43,7 +43,7 @@
- +
{{ detail?.title }}描述
- -
-
- 关联{{ detail?.type === 1 ? '图纸' : detail?.type === 2 ? '文本' : '模型' }} -
- - - - - - - -
-
相关{{ detail?.type === 1 ? '图纸' : detail?.type === 2 ? '文本' : '模型' }}推荐
- - - - - + - +
-
图纸ID: {{ detail?.no }}
-
文件大小:{{ detail?.filesInfo?.fileSize || 0 }}
+
工具ID: {{ detail?.no }}
+ -
图纸格式:{{ detail?.formatType?.toString() }}
+
所需金币:{{ detail?.points }}金币
发布时间:{{ dayjs(detail?.createTime).format('YYYY-MM-DD HH:mm:ss') }}
-
图纸参数:{{ detail?.editTypeName }}
-
图纸分类:{{ detail?.projectTypeName }}
-
软件分类:{{ detail?.editionsName }}
+ +
工具标签:{{ detail?.labels?.toString() }}
+
软件分类:{{ detail?.categoryName }}
@@ -190,10 +170,8 @@ import { getDetail, getRelationRecommend, report, getUserInfo, getMainWork, createContent, createUserProject, deleteProject } from '~/api/drawe-detail/index' import KlNavTab from '~/components/kl-nav-tab/index.vue' import ThumBnail from './components/swiper.vue' - import CommentSection from '~/components/comment-section/index.vue' + // import CommentSection from '~/components/comment-section/index.vue' import { useRoute } from 'vue-router' - import { onMounted } from 'vue' - import type { ProjectRespVO, ProjectDrawPageRespVO, UserExtendSimpleRespDTO, ProjectDrawMemberRespVO } from '~/api/drawe-detail/types' import useUserStore from '~/stores/user' const message = useMessage() const userStore = useUserStore() @@ -201,9 +179,6 @@ const route = useRoute() const id = route.params.id as string - // 获取详情 - // const detail = ref({} as ProjectRespVO) - const { data: detail, refresh: refreshDetail } = await useAsyncData(`toolbox-getDetail${id}`, async () => { const res = await get({ id: id as string }) return res.data @@ -219,40 +194,11 @@ }) } - // 获取面包屑 - // const { data: breadList } = await useAsyncData(`breadList-detail-${route.params.id}}`, async () => { - // const res = await getDictTree({ type: 1, id: detail.value?.projectType?.[0] }) - // const all = [ - // { - // id: -1, - // name: detail.value?.type === 1 ? '图纸库' : detail.value?.type === 3 ? '模型库' : '文本库', - // isChildren: false, - // }, - // ] - // const arr = [...res.data, ...all] - // return arr.reverse() - // }) - - // const init = () => { - // getDetail({ id }).then((res) => { - // if (res.code === 0) { - // detail.value = res.data - // // 获取推荐信息 - // getRelationRecommendList() - // // 获取用户信息 - // handleGetUserInfo() - // // 最新发布 - // handleGetMainWork() - // } - // }) - // } - // init() - const [{ data: mainWork }, { data: userInfo }, { data: relationRecommend }] = await Promise.all([ + const [{ data: mainWork }, { data: userInfo }] = await Promise.all([ getMainWork({ id: detail.value?.id, limit: 10, memberId: detail.value?.ownedUserId }), getUserInfo({ id: detail.value?.id }), - getRelationRecommend({ type: detail.value?.type, projectType: detail.value?.projectType[0] }), ]) // 获取最新发布 @@ -318,7 +264,7 @@ const res = await message.confirm(`是否花费${detail.value?.points}金币下载此资源,是否继续?`, '提示') if (res) { - createUserProject({ relationId: detail.value?.id, type: getType(detail.value?.type as number) }).then((res) => { + createUserProject({ relationId: detail.value?.id, type: 2 }).then((res) => { if (res.code === 0) { ElMessage.success('获取下载权限成功') detail.value!.downloadId = res.data @@ -383,7 +329,7 @@ } const handleClick = (id: string | number) => { - navigateTo(`/down-drawe-detail/${id}`) // 修改为在新窗口打开 + navigateTo(`/toolbox-detail/${id}`) // 修改为在新窗口打开 } const handleDownloadFile = (url: string, name: string) => { diff --git a/pages/toolbox-detail/components/swiper.vue b/pages/toolbox-detail/components/swiper.vue index e45965a..1549d9b 100644 --- a/pages/toolbox-detail/components/swiper.vue +++ b/pages/toolbox-detail/components/swiper.vue @@ -12,7 +12,7 @@
- {{ props.type === 1 ? '图纸' : props.type === 2 ? '文本' : '模型' }} + 工具