diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Discuss/DiscussGetListInputVo.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Discuss/DiscussGetListInputVo.cs index 249060d1..b715d9e4 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Discuss/DiscussGetListInputVo.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Discuss/DiscussGetListInputVo.cs @@ -5,6 +5,8 @@ namespace Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss { public class DiscussGetListInputVo : PagedAndSortedResultRequestDto { + public Guid? UserId { get; set; } + public string? Title { get; set; } public Guid? PlateId { get; set; } diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Forum/DiscussService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Forum/DiscussService.cs index d8f8684a..95f362a9 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Forum/DiscussService.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Forum/DiscussService.cs @@ -110,6 +110,7 @@ namespace Yi.Framework.Bbs.Application.Services.Forum .WhereIF(!string.IsNullOrEmpty(input.Title), x => x.Title.Contains(input.Title)) .WhereIF(input.PlateId is not null, x => x.PlateId == input.PlateId) .WhereIF(input.IsTop is not null, x => x.IsTop == input.IsTop) + .WhereIF(input.UserId is not null,x=>x.CreatorId==input.UserId) .LeftJoin((discuss, user) => discuss.CreatorId == user.Id) .LeftJoin((discuss, user, info) => user.Id == info.UserId) diff --git a/Yi.Bbs.Vue3/src/views/profile/Index.vue b/Yi.Bbs.Vue3/src/views/profile/Index.vue index 3c04abdd..bc6bbd98 100644 --- a/Yi.Bbs.Vue3/src/views/profile/Index.vue +++ b/Yi.Bbs.Vue3/src/views/profile/Index.vue @@ -69,22 +69,30 @@
-
用户头像
+
+ + +
@@ -111,9 +119,60 @@ - + + + + + 主题 + + + + + 收藏 + + + + + 评论 + + + + + 关注 + + + + -
个人主题内容
+
+
+ +
+ + +
@@ -126,6 +185,9 @@ import resetPwd from "./ResetPwd.vue"; import accountSet from "./AccountSetting.vue"; import { getUserProfile } from "@/apis/userApi.js"; import { onMounted, ref, reactive } from "vue"; +import { getList } from "@/apis/discussApi.js"; +import { useRoute } from "vue-router"; +const route = useRoute(); const activeTab = ref("userinfo"); const state = reactive({ @@ -134,6 +196,14 @@ const state = reactive({ roles: [], roleGroup: {}, postGroup: {}, + +}); +const discussList= ref([]); +const discussTotal=ref(0); +const query = reactive({ + skipCount: 1, + maxResultCount: 10, + userId:route.params.userId }); function getUser() { @@ -146,8 +216,18 @@ function getUser() { state.postGroup = res.postGroup; }); } + +const getDiscuss=async ()=> +{ + const {data:{items,totalCount}}= await getList(query); + + discussList.value=items; + discussTotal.value=totalCount; +} + onMounted(() => { getUser(); + getDiscuss(); });