优化详情页功能及API接口参数
This commit is contained in:
@ -38,7 +38,7 @@ export const getRelationRecommend = (params: { type?: number | string; projectTy
|
||||
* 举报
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const report = (params: { id?: number | string; title?: string; comments?: string; files?: any; projectId: any; drawId: any }) => {
|
||||
export const report = (params: { id?: number | string; title?: string; comments?: string; files?: any; projectId?: any; drawId: any; type: any }) => {
|
||||
return useDollarFetchRequest.post<IResponse<boolean>>('/prod-api/app-api/business/project-report/create', params)
|
||||
}
|
||||
|
||||
@ -59,7 +59,7 @@ export const getMainWork = (params: { id?: number | string; limit: number; membe
|
||||
/**
|
||||
* 创建内容信息
|
||||
*/
|
||||
export const createContent = (params: { projectId: any; drawId: any }) => {
|
||||
export const createContent = (params: { projectId?: any; drawId: any; type: any }) => {
|
||||
return useDollarFetchRequest.post<IResponse<boolean>>('/prod-api/app-api/business/project-member-favorites/create', params)
|
||||
}
|
||||
|
||||
|
||||
@ -137,6 +137,7 @@ export interface UserExtendSimpleRespDTO {
|
||||
files: any[]
|
||||
fansCount: number
|
||||
projectCount: number
|
||||
postsNum?: number
|
||||
}
|
||||
|
||||
export interface ProjectDrawMemberRespVO {
|
||||
|
||||
@ -146,7 +146,7 @@
|
||||
<div class="h-[20px]">
|
||||
<img src="~/assets/images/user4.png" alt="fans" class="w-[80%] rounded-full vertical-top" />
|
||||
</div>
|
||||
<div class="relative top-[-3px] ml-[8px] text-[14px] text-[#666] font-normal">粉丝: {{ userInfo.fansCount || 0 }}</div>
|
||||
<div class="relative top-[-3px] ml-[8px] text-[14px] text-[#666] font-normal">发帖数: {{ userInfo.postsNum || 0 }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -361,6 +361,7 @@
|
||||
comments: value,
|
||||
projectId: detail.value?.projectId,
|
||||
drawId: detail.value?.id,
|
||||
type: detail.value?.type,
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
ElMessage.success('举报成功')
|
||||
@ -380,6 +381,7 @@
|
||||
: await createContent({
|
||||
projectId: detail.value?.projectId,
|
||||
drawId: detail.value?.id,
|
||||
type: detail.value?.type,
|
||||
})
|
||||
if (res.code === 0) {
|
||||
ElMessage.success(`${detail.value?.favoriteId ? '取消' : '收藏'}成功`)
|
||||
|
||||
@ -99,33 +99,33 @@
|
||||
<img src="~/assets/images/banner.png" alt="" srcset="" class="w-[100%]" />
|
||||
<div class="box-border border border-[#EEEEEE] border-rd-[10px_10px_0px_0px] border-solid border-t-none bg-[#FFFFFF] pa-[18px]">
|
||||
<div class="flex flex-wrap items-start">
|
||||
<div v-if="userInfo.nickname" class="text-[18px] text-[#333333] font-bold">{{ userInfo.nickname }}</div>
|
||||
<div v-if="userInfo?.nickname" class="text-[18px] text-[#333333] font-bold">{{ userInfo.nickname }}</div>
|
||||
<div
|
||||
v-for="item in userInfo.labels"
|
||||
v-for="item in userInfo?.labels"
|
||||
:key="item"
|
||||
class="mb-[10px] ml-[10px] box-border border border-[#1A65FF] rounded-[13px] border-solid px-[8px] py-[3px] color-[#1a65ff]"
|
||||
>{{ item }}</div
|
||||
>
|
||||
</div>
|
||||
<div v-if="userInfo.description" class="mb-[20px] text-[14px] text-[#333333] font-normal">{{ userInfo.description }}</div>
|
||||
<div v-if="userInfo?.description" class="mb-[20px] text-[14px] text-[#333333] font-normal">{{ userInfo.description }}</div>
|
||||
<!-- 显示作品 粉丝 荣誉证书 -->
|
||||
<div class="flex items-center gap-[40px]">
|
||||
<div class="flex items-center">
|
||||
<div class="h-[20px]">
|
||||
<img src="~/assets/images/folder.png" alt="works" class="w-[80%]" />
|
||||
</div>
|
||||
<div class="ml-[8px] mt-[-4px] text-[14px] text-[#666] font-normal">作品: {{ userInfo.projectCount || 0 }}</div>
|
||||
<div class="ml-[8px] mt-[-4px] text-[14px] text-[#666] font-normal">作品: {{ userInfo?.projectCount || 0 }}</div>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="h-[20px]">
|
||||
<img src="~/assets/images/user4.png" alt="fans" class="w-[80%] rounded-full vertical-top" />
|
||||
</div>
|
||||
<div class="relative top-[-3px] ml-[8px] text-[14px] text-[#666] font-normal">粉丝: {{ userInfo.fansCount || 0 }}</div>
|
||||
<div class="relative top-[-3px] ml-[8px] text-[14px] text-[#666] font-normal">发帖数: {{ userInfo?.fansCount || 0 }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 3个图片一排 超过换下一行 -->
|
||||
<div v-if="userInfo.files?.length" class="mt-[20px] flex flex-wrap gap-[16px]">
|
||||
<div v-if="userInfo?.files?.length" class="mt-[20px] flex flex-wrap gap-[16px]">
|
||||
<div v-for="i in userInfo.files" :key="i" class="flex-1">
|
||||
<div
|
||||
class="box-border h-[200px] w-full overflow-hidden border border-[#E5E7EB] rounded-[8px] border-solid from-[#FFFFFF] to-[#F5F7FA] bg-gradient-to-b p-[16px]"
|
||||
@ -198,7 +198,7 @@
|
||||
|
||||
const [{ data: mainWork }, { data: userInfo }] = await Promise.all([
|
||||
getMainWork({ id: detail.value?.id, limit: 10, memberId: detail.value?.ownedUserId }),
|
||||
getUserInfo({ id: detail.value?.id }),
|
||||
getUserInfo({ id: detail.value?.ownedUserId }),
|
||||
])
|
||||
|
||||
// 获取最新发布
|
||||
@ -300,8 +300,8 @@
|
||||
title: detail.value?.title,
|
||||
files: detail.value?.files,
|
||||
comments: value,
|
||||
projectId: detail.value?.projectId,
|
||||
drawId: detail.value?.id,
|
||||
type: 4,
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
ElMessage.success('举报成功')
|
||||
@ -319,8 +319,8 @@
|
||||
const res = detail.value?.favoriteId
|
||||
? await deleteProject({ id: detail.value.favoriteId })
|
||||
: await createContent({
|
||||
projectId: detail.value?.projectId,
|
||||
drawId: detail.value?.id,
|
||||
type: 4,
|
||||
})
|
||||
if (res.code === 0) {
|
||||
ElMessage.success(`${detail.value?.favoriteId ? '取消' : '收藏'}成功`)
|
||||
|
||||
Reference in New Issue
Block a user