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 b715d9e4..4d420318 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,10 @@ namespace Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss
{
public class DiscussGetListInputVo : PagedAndSortedResultRequestDto
{
+ ///
+ /// 创建者的用户名
+ ///
+ public string? UserName { get; set; }
public Guid? UserId { get; set; }
public string? Title { get; set; }
diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/IBbsUserInfoService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/IBbsUserInfoService.cs
new file mode 100644
index 00000000..d6a5f0c4
--- /dev/null
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/IBbsUserInfoService.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.Framework.Bbs.Application.Contracts.IServices
+{
+ public interface IBbsUserInfoService
+ {
+ }
+}
diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/BbsUserInfoService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/BbsUserInfoService.cs
new file mode 100644
index 00000000..50a92d5a
--- /dev/null
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/BbsUserInfoService.cs
@@ -0,0 +1,33 @@
+锘縰sing System.ComponentModel.DataAnnotations;
+using Microsoft.AspNetCore.Mvc;
+using TencentCloud.Ame.V20190916.Models;
+using Volo.Abp.Application.Services;
+using Yi.Framework.Bbs.Application.Contracts.IServices;
+using Yi.Framework.Bbs.Domain.Managers;
+using Yi.Framework.Rbac.Domain.Shared.Dtos;
+
+namespace Yi.Framework.Bbs.Application.Services
+{
+ public class BbsUserInfoService : ApplicationService, IBbsUserInfoService
+ {
+ private BbsUserManager _bbsUserManager;
+ public BbsUserInfoService(BbsUserManager bbsUserManager)
+ {
+ _bbsUserManager = bbsUserManager;
+ }
+
+ [HttpGet("bbs-user/{userName}")]
+ public async Task GetUserInfoByUserNameAsync([FromRoute][Required] string userName)
+ {
+
+ var userEntity = await _bbsUserManager._userRepository.GetFirstAsync(x => x.UserName == userName);
+ if (userEntity == null)
+ {
+ throw new Volo.Abp.UserFriendlyException("璇ョ敤鎴蜂笉瀛樺湪");
+ }
+ var output =await _bbsUserManager.GetBbsUserInfoAsync(userEntity.Id);
+
+ return output!;
+ }
+ }
+}
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 95f362a9..7e1337cb 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
@@ -112,8 +112,10 @@ namespace Yi.Framework.Bbs.Application.Services.Forum
.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)
+ .WhereIF(input.UserName is not null, (discuss, user)=>user.UserName==input.UserName!)
+ .LeftJoin((discuss, user, info) => user.Id == info.UserId)
+
.OrderByDescending(discuss => discuss.OrderNum)
.OrderByIF(input.Type == QueryDiscussTypeEnum.New, discuss => discuss.CreationTime, OrderByType.Desc)
.OrderByIF(input.Type == QueryDiscussTypeEnum.Host, discuss => discuss.SeeNum, OrderByType.Desc)
diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/BbsUserManager.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/BbsUserManager.cs
index fe1ebea1..31916865 100644
--- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/BbsUserManager.cs
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/BbsUserManager.cs
@@ -25,7 +25,11 @@ namespace Yi.Framework.Bbs.Domain.Managers
public async Task GetBbsUserInfoAsync(Guid userId)
{
return await _userRepository._DbQueryable.LeftJoin((user, info) => user.Id == info.UserId)
- .Select((user, info) => new BbsUserInfoDto { Id = user.Id ,Icon=user.Icon,Level=info.Level,UserLimit=info.UserLimit,
+ .Select((user, info) => new BbsUserInfoDto {
+ Id = user.Id ,
+ Icon=user.Icon,
+ Level=info.Level,
+ UserLimit=info.UserLimit,
Money = info.Money,
Experience = info.Experience
}, true)
diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs
index ad1f80a7..ed337623 100644
--- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs
+++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs
@@ -1,6 +1,9 @@
-锘縩amespace Yi.Framework.Rbac.Application.Contracts.IServices
+锘縰sing Yi.Framework.Rbac.Domain.Shared.Dtos;
+
+namespace Yi.Framework.Rbac.Application.Contracts.IServices
{
public interface IAccountService
{
+ Task Get();
}
}
diff --git a/Yi.Bbs.Vue3/src/App.vue b/Yi.Bbs.Vue3/src/App.vue
index 60f88d41..85ca157a 100644
--- a/Yi.Bbs.Vue3/src/App.vue
+++ b/Yi.Bbs.Vue3/src/App.vue
@@ -34,7 +34,7 @@ onMounted(async () => {
watch(
() => token,
(val,oldValue) => {
- console.log("token鍙戠敓鏀瑰彉");
+ //console.log("token鍙戠敓鏀瑰彉");
if (val) {
signalR.close();
signalR.init(`main`);
diff --git a/Yi.Bbs.Vue3/src/apis/userApi.js b/Yi.Bbs.Vue3/src/apis/userApi.js
index e646e71e..f38fc88c 100644
--- a/Yi.Bbs.Vue3/src/apis/userApi.js
+++ b/Yi.Bbs.Vue3/src/apis/userApi.js
@@ -9,6 +9,7 @@ export function listUser(query) {
});
}
+
// 鏌ヨ鐢ㄦ埛璇︾粏
export function getUser(userId) {
return request({
@@ -73,6 +74,15 @@ export function getUserProfile() {
});
}
+// 鏌ヨbbs涓汉淇℃伅
+export function getBbsUserProfile(userName) {
+ return request({
+ url: `/bbs-user/${userName}`,
+ method: "get",
+ });
+}
+
+
// 淇敼鐢ㄦ埛涓汉淇℃伅
export function updateUserProfile(data) {
return request({
diff --git a/Yi.Bbs.Vue3/src/components/AvatarInfo.vue b/Yi.Bbs.Vue3/src/components/AvatarInfo.vue
index 9ff83064..2eeeb495 100644
--- a/Yi.Bbs.Vue3/src/components/AvatarInfo.vue
+++ b/Yi.Bbs.Vue3/src/components/AvatarInfo.vue
@@ -34,7 +34,7 @@
V8
- 浼氬憳
+ 鏍稿績
{
@@ -113,6 +114,7 @@ const Init = () => {
userInfo.money=props.userInfo.money;
userInfo.level = props.userInfo.level;
userInfo.userLimit = props.userInfo.userLimit;
+ userInfo.userName= props.userInfo.userName;
iconUrl.value = iconUrlHandler(userInfo.icon);
}
diff --git a/Yi.Bbs.Vue3/src/components/UserInfoCard/index.vue b/Yi.Bbs.Vue3/src/components/UserInfoCard/index.vue
index 35cbc1e2..05376950 100644
--- a/Yi.Bbs.Vue3/src/components/UserInfoCard/index.vue
+++ b/Yi.Bbs.Vue3/src/components/UserInfoCard/index.vue
@@ -9,12 +9,12 @@
v-if="!props.isSelf"
>
-
+
-
![]()
+
@@ -64,7 +64,7 @@