feat: 优化前端请求加载

This commit is contained in:
橙子
2024-09-29 00:47:48 +08:00
parent 21807c3a66
commit d9fd9163e4
4 changed files with 73 additions and 45 deletions

View File

@@ -9,6 +9,7 @@ namespace Yi.Framework.Bbs.Domain.Entities.Forum
[SugarTable("Discuss")]
[SugarIndex($"index_{nameof(Title)}", nameof(Title), OrderByType.Asc)]
[SugarIndex($"index_{nameof(PlateId)}", nameof(PlateId), OrderByType.Asc)]
[SugarIndex($"index_{nameof(CreatorId)}", nameof(CreatorId), OrderByType.Asc)]
[SugarIndex($"index_{nameof(CreationTime)}", nameof(CreationTime), OrderByType.Desc)]
public class DiscussAggregateRoot : AggregateRoot<Guid>, ISoftDelete, IAuditedObject
{

View File

@@ -12,20 +12,21 @@
<el-menu-item index="2" @click="enterStart"
style="color: red;font-weight: bolder;font-size: large;">开始</el-menu-item>
<el-sub-menu index="3">
<el-menu-item index="3" @click="enterWatermelon"
>大西瓜</el-menu-item>
<el-sub-menu index="4">
<template #title>学习</template>
<el-menu-item index="3-1">前端</el-menu-item>
<el-menu-item index="3-2">后端</el-menu-item>
<el-menu-item index="3-3">运维</el-menu-item>
</el-sub-menu>
<el-sub-menu index="4">
<template #title>问答</template>
<el-menu-item index="4-1">前端</el-menu-item>
<el-menu-item index="4-2">后端</el-menu-item>
<el-menu-item index="4-3">运维</el-menu-item>
</el-sub-menu>
<!-- <el-sub-menu index="5">-->
<!-- <template #title>问答</template>-->
<!-- <el-menu-item index="4-1">前端</el-menu-item>-->
<!-- <el-menu-item index="4-2">后端</el-menu-item>-->
<!-- <el-menu-item index="4-3">运维</el-menu-item>-->
<!-- </el-sub-menu>-->
</el-menu>
</div>
<div class="search-bar">
@@ -222,6 +223,9 @@ const enterStart = () => {
router.push("/start");
}
const enterWatermelon=()=>{
alert("即将上线,敬请期待~")
}
</script>

View File

@@ -298,7 +298,10 @@ const handleKeydownInput=()=>{
// 如果只按下 Enter则阻止默认的提交行为比如在表单中
if (event.key === 'Enter') {
// 阻止默认行为
event.preventDefault();
onclickSendMsg();
return;
}
}
@@ -375,6 +378,12 @@ const onclickSendGroupMsg = (groupName, msg) => {
const clearAiMsg = () => {
sendAiChatContext.value = [];
chatStore.clearAiMsg();
ElMessage({
message: "当前会话清除成功",
type: "success",
duration: 2000,
});
}
//获取当前最后一条信息
@@ -403,7 +412,7 @@ const getLastMessage = ((receiveId, itemType) => {
<template>
<div style="position: absolute; top: 0;left: 0;" v-show="isShowTipNumber>0">
<p>当前版本1.5.1</p>
<p>当前版本1.5.2</p>
<p>tip:官方学习交流群每次发送消息消耗 1 钱钱</p>
<p>tip:点击聊天窗口右上角X可退出</p>
<p>tip:多人同时在聊天室时左侧可显示其他成员</p>
@@ -501,7 +510,7 @@ const getLastMessage = ((receiveId, itemType) => {
<div class="right">
<div class="header">
<div class="header-left">{{ currentHeaderName }} <span v-show="selectIsAi()" @click="clearAiMsg">点击清空当前对话</span>
<div class="header-left">{{ currentHeaderName }} <span class="clear-msg" v-show="selectIsAi()" @click="clearAiMsg">点击此处清空当前对话</span>
</div>
<div class="header-right">
@@ -780,13 +789,13 @@ const getLastMessage = ((receiveId, itemType) => {
.content {
overflow-y: auto;
/* 只启用垂直方向滚动条 */
height: 555px;
height: 535px;
padding: 20px 40px;
}
.bottom {
height: calc(100% - 630px);
height: calc(100% - 610px);
background: #f7f7f7;
border-top: 1.5px solid #e7e7e7;
padding: 15px 35px;
@@ -1096,7 +1105,15 @@ const getLastMessage = ((receiveId, itemType) => {
}
.clear-msg{
font-size: large;
margin-left: 10px;
cursor: pointer; /* 设置为手型 */
}
.clear-msg:hover {
color: red;
cursor: pointer; /* 设置鼠标悬浮为手型 */
}
::v-deep(.nav-ul) {
border-right: 1px solid #FFFFFF;
margin-top: 12px;

View File

@@ -261,40 +261,46 @@ const query = reactive({
isTop: true,
});
const weekQuery = reactive({accessLogType: "Request"});
const weekQuery = reactive({accessLogType: "Request"});4
const init=async ()=>{
//分阶段优化
await Promise.all([
(async ()=>{const {data: allDiscussData, config: allDiscussConfig} =
await getAllDiscussList({Type: 0, skipCount: 1, maxResultCount: 30,});
isAllDiscussFinished.value = allDiscussConfig.isFinish;
allDiscussList.value = allDiscussData.items;})(),
(async ()=>{const {data: plateData} = await getList();
plateList.value = plateData.items;})(),
(async ()=>{const {data: discussData, config: discussConfig} = await getHomeDiscuss();
discussList.value = discussData;
isDiscussFinished.value = discussConfig.isFinish;})(),
(async ()=>{const {data: bannerData} = await bannerGetList();
bannerList.value = bannerData.items;})(),
(async ()=>{const {data: weekData} = await getWeek(weekQuery);
weekList.value = weekData;})(),
(async ()=>{const {data: pointData, config: pointConfig} = await getRankingPoints();
pointList.value = pointData.items;
isPointFinished.value = pointConfig.isFinish;})(),
(async ()=>{const {data: userAnalyseInfoData} = await getUserAnalyse();
onlineNumber.value = userAnalyseInfoData.onlineNumber;
userAnalyseInfo.value = userAnalyseInfoData;})(),
]);
//不重要的请求滞后
const {data: friendData, config: friendConfig} = await getRecommendedFriend();
friendList.value = friendData;
isFriendFinished.value = friendConfig.isFinish;
const {data: themeData, config: themeConfig} = await getRecommendedTopic();
themeList.value = themeData;
isThemeFinished.value = themeConfig.isFinish;
await access();
}
//初始化
onMounted(async () => {
access();
const {data: plateData} = await getList();
plateList.value = plateData.items;
const {data: discussData, config: discussConfig} = await getHomeDiscuss();
discussList.value = discussData;
isDiscussFinished.value = discussConfig.isFinish;
const {data: bannerData} = await bannerGetList();
bannerList.value = bannerData.items;
const {data: weekData} = await getWeek(weekQuery);
weekList.value = weekData;
const {data: pointData, config: pointConfig} = await getRankingPoints();
pointList.value = pointData.items;
isPointFinished.value = pointConfig.isFinish;
const {data: friendData, config: friendConfig} =
await getRecommendedFriend();
friendList.value = friendData;
isFriendFinished.value = friendConfig.isFinish;
const {data: themeData, config: themeConfig} = await getRecommendedTopic();
themeList.value = themeData;
isThemeFinished.value = themeConfig.isFinish;
const {data: allDiscussData, config: allDiscussConfig} =
await getAllDiscussList({
Type: 0,
skipCount: 1,
maxResultCount: 30,
});
isAllDiscussFinished.value = allDiscussConfig.isFinish;
allDiscussList.value = allDiscussData.items;
const {data: userAnalyseInfoData} = await getUserAnalyse();
onlineNumber.value = userAnalyseInfoData.onlineNumber;
userAnalyseInfo.value = userAnalyseInfoData;
await init();
});
const weekXAxis = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"];