perf: 优化bbs前端整体显示
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
<el-button
|
||||
style="width: 100%; margin-bottom: 0.8rem"
|
||||
@click="loadDiscuss(true)"
|
||||
>主题封面</el-button
|
||||
>主题首页</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="isAddArticle && isArticleUser"
|
||||
@@ -19,7 +19,7 @@
|
||||
>添加子文章</el-button
|
||||
>
|
||||
<!--目录在这里 -->
|
||||
<el-scrollbar height="410px">
|
||||
<el-scrollbar style="min-height: 410px">
|
||||
<TreeArticleInfo
|
||||
:data="articleData"
|
||||
@remove="delArticle"
|
||||
@@ -34,19 +34,19 @@
|
||||
</InfoCard>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<InfoCard :items="items" header="作者分享" text="更多">
|
||||
<InfoCard :items="authorList" :isPadding="false" header="作者分享" height="410" text="更多">
|
||||
<template #item="temp">
|
||||
<AvatarInfo />
|
||||
</template>
|
||||
</InfoCard>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<InfoCard :items="items" header="内容推荐" text="更多">
|
||||
<template #item="temp">
|
||||
<AvatarInfo />
|
||||
<ThemeData :themeData="temp"/>
|
||||
</template>
|
||||
</InfoCard>
|
||||
</el-col>
|
||||
<!-- <el-col :span="24">-->
|
||||
<!-- <InfoCard :items="items" header="内容推荐" text="更多">-->
|
||||
<!-- <template #item="temp">-->
|
||||
<!-- <AvatarInfo />-->
|
||||
<!-- </template>-->
|
||||
<!-- </InfoCard>-->
|
||||
<!-- </el-col>-->
|
||||
</el-row>
|
||||
</el-col>
|
||||
|
||||
@@ -155,19 +155,24 @@
|
||||
</InfoCard>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<InfoCard :items="items" header="其他" text="更多">
|
||||
<InfoCard :items="themeList" :isPadding="false" header="推荐主题" text="更多" height="500">
|
||||
<template #item="temp">
|
||||
<AvatarInfo />
|
||||
</template>
|
||||
</InfoCard>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<InfoCard :items="items" header="其他" text="更多">
|
||||
<template #item="temp">
|
||||
<AvatarInfo />
|
||||
<ThemeData :themeData="temp"/>
|
||||
</template>
|
||||
</InfoCard>
|
||||
<!-- <InfoCard :items="items" header="其他" text="更多">-->
|
||||
<!-- <template #item="temp">-->
|
||||
<!-- <AvatarInfo />-->
|
||||
<!-- </template>-->
|
||||
<!-- </InfoCard>-->
|
||||
</el-col>
|
||||
<!-- <el-col :span="24">-->
|
||||
<!-- <InfoCard :items="items" header="其他" text="更多">-->
|
||||
<!-- <template #item="temp">-->
|
||||
<!-- <AvatarInfo />-->
|
||||
<!-- </template>-->
|
||||
<!-- </InfoCard>-->
|
||||
<!-- </el-col>-->
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -192,17 +197,20 @@ import {
|
||||
import Breadcrumb from "@/components/Breadcrumb/index.vue";
|
||||
import { getPermission } from "@/utils/auth";
|
||||
import useUserStore from "@/stores/user.js";
|
||||
|
||||
import ThemeData from "@/views/home/components/RecommendTheme/index.vue";
|
||||
import {getRecommendedTopic,getAuthorTopic} from "@/apis/analyseApi";
|
||||
//数据定义
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const spacer = h(ElDivider, { direction: "vertical" });
|
||||
const items = [{ user: "用户1" }, { user: "用户2" }, { user: "用户3" }];
|
||||
|
||||
//子文章数据
|
||||
const articleData = ref([]);
|
||||
//主题内容
|
||||
const discuss = ref({});
|
||||
//推荐主题
|
||||
const themeList=ref([]);
|
||||
//作者主题
|
||||
const authorList=ref([]);
|
||||
//封面url
|
||||
const getUrl = (str) => {
|
||||
return `${import.meta.env.VITE_APP_BASEAPI}/file/${str}`;
|
||||
@@ -369,11 +377,22 @@ const delArticle = (node, data) => {
|
||||
});
|
||||
});
|
||||
};
|
||||
const loadThemeData =async () => {
|
||||
const {data: themeData} = await getRecommendedTopic();
|
||||
themeList.value = themeData;
|
||||
}
|
||||
const loadAuthorData=async () => {
|
||||
const {data: authorData} = await getAuthorTopic(discuss.value.user.id);
|
||||
authorList.value = authorData;
|
||||
}
|
||||
onMounted(async () => {
|
||||
await loadDiscuss();
|
||||
await loadArticleData();
|
||||
await loadAuthorData();
|
||||
await loadThemeData();
|
||||
});
|
||||
|
||||
|
||||
watch(
|
||||
() => currentArticle.value,
|
||||
(val) => {
|
||||
@@ -406,7 +425,7 @@ watch(
|
||||
}
|
||||
|
||||
.article-box {
|
||||
width: 1400px;
|
||||
width: 1500px;
|
||||
height: 100%;
|
||||
.comment {
|
||||
min-height: 40rem;
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
:codeStyle="codeStyle"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="封面:" v-if="radio == 'discuss'">
|
||||
<el-form-item label="首页:" v-if="radio == 'discuss'">
|
||||
|
||||
<el-image
|
||||
v-if="dialogImageUrl"
|
||||
@@ -74,7 +74,7 @@
|
||||
class="avatar"
|
||||
/>
|
||||
|
||||
<!-- 主题封面选择 -->
|
||||
<!-- 主题首页选择 -->
|
||||
<el-upload
|
||||
class="avatar-uploader"
|
||||
:action="fileUploadUrl"
|
||||
|
||||
@@ -107,7 +107,7 @@ margin: 10px auto;">
|
||||
<el-col v-if="!isIcp" :span="24">
|
||||
<InfoCard header="活动">
|
||||
<template #content>
|
||||
<div class="top">你好,很高兴今天又遇到你呀~</div>
|
||||
<div class="top">祝各位,蛇年大吉~</div>
|
||||
<el-row class="active">
|
||||
|
||||
<el-col v-for="item in activeList" :span="6" @click="handleToRouter(item.path)">
|
||||
@@ -160,7 +160,7 @@ margin: 10px auto;">
|
||||
|
||||
<el-col v-if="!isIcp" :span="24">
|
||||
<template v-if="isPointFinished">
|
||||
<InfoCard :items="pointList" header="财富排行榜" text="查看我的位置" height="400"
|
||||
<InfoCard :isPadding="false" :items="pointList" header="财富排行榜" text="查看我的位置" height="410"
|
||||
@onClickText="onClickMoneyTop">
|
||||
<template #item="temp">
|
||||
<PointsRanking :pointsData="temp"/>
|
||||
@@ -168,7 +168,7 @@ margin: 10px auto;">
|
||||
</InfoCard>
|
||||
</template>
|
||||
<template v-else>
|
||||
<InfoCard header="本月排行" text="更多">
|
||||
<InfoCard :isPadding="false" header="财富排行榜" text="查看我的位置">
|
||||
<template #content>
|
||||
<Skeleton/>
|
||||
</template>
|
||||
@@ -178,14 +178,14 @@ margin: 10px auto;">
|
||||
|
||||
<el-col v-if="!isIcp" :span="24">
|
||||
<template v-if="isFriendFinished">
|
||||
<InfoCard :items="friendList" header="推荐好友" text="更多" height="400">
|
||||
<InfoCard :isPadding="false" :items="friendList" header="推荐好友" text="更多" height="400">
|
||||
<template #item="temp">
|
||||
<RecommendFriend :friendData="temp"/>
|
||||
</template>
|
||||
</InfoCard>
|
||||
</template>
|
||||
<template v-else>
|
||||
<InfoCard header="推荐好友" text="更多">
|
||||
<InfoCard :isPadding="false" header="推荐好友" text="更多">
|
||||
<template #content>
|
||||
<Skeleton/>
|
||||
</template>
|
||||
@@ -194,14 +194,14 @@ margin: 10px auto;">
|
||||
</el-col>
|
||||
<el-col v-if="!isIcp" :span="24">
|
||||
<template v-if="isThemeFinished">
|
||||
<InfoCard :items="themeList" header="推荐主题" text="更多" height="400">
|
||||
<InfoCard :isPadding="false" :items="themeList" header="推荐主题" text="更多" height="400">
|
||||
<template #item="temp">
|
||||
<ThemeData :themeData="temp"/>
|
||||
</template>
|
||||
</InfoCard>
|
||||
</template>
|
||||
<template v-else>
|
||||
<InfoCard header="推荐主题" text="更多">
|
||||
<InfoCard :isPadding="false" header="推荐主题" text="更多">
|
||||
<template #content>
|
||||
<Skeleton/>
|
||||
</template>
|
||||
@@ -243,6 +243,7 @@ import {onMounted, ref, reactive, computed, nextTick, watch} from "vue";
|
||||
import {useRouter} from "vue-router";
|
||||
import DisscussCard from "@/components/DisscussCard.vue";
|
||||
import InfoCard from "@/components/InfoCard.vue";
|
||||
import ThemeData from "@/views/home/components/RecommendTheme/index.vue";
|
||||
import PlateCard from "@/components/PlateCard.vue";
|
||||
import ScrollbarInfo from "@/components/ScrollbarInfo.vue";
|
||||
import BottomInfo from "@/components/BottomInfo.vue";
|
||||
@@ -263,7 +264,6 @@ import {
|
||||
import {getList as getAllDiscussList} from "@/apis/discussApi.js";
|
||||
import PointsRanking from "./components/PointsRanking/index.vue";
|
||||
import RecommendFriend from "./components/RecommendFriend/index.vue";
|
||||
import ThemeData from "./components/RecommendTheme/index.vue";
|
||||
import Skeleton from "@/components/Skeleton/index.vue";
|
||||
import useSocketStore from "@/stores/socket";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user