添加项目文件。
This commit is contained in:
72
SamplePreSystem.UI/ViewModel/Login/UserInfoViewModel.cs
Normal file
72
SamplePreSystem.UI/ViewModel/Login/UserInfoViewModel.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Models.Const;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SamplePreSystem.UI.ViewModel.Login
|
||||
{
|
||||
public partial class UserInfoViewModel :ObservableObject
|
||||
{
|
||||
[ObservableProperty]
|
||||
public string userName;
|
||||
|
||||
[ObservableProperty]
|
||||
public string userRoles;
|
||||
|
||||
public UserInfoViewModel()
|
||||
{
|
||||
|
||||
InitializeUserInfo();
|
||||
}
|
||||
|
||||
|
||||
private void InitializeUserInfo()
|
||||
{
|
||||
// 获取当前登录用户信息
|
||||
if (SystemConst.loginUserInfo != null && SystemConst.loginUserInfo.user != null)
|
||||
{
|
||||
UserName = SystemConst.loginUserInfo.user.username;
|
||||
|
||||
// 这里需要获取用户角色信息
|
||||
// 由于当前登录用户信息中没有直接包含角色信息,我们需要通过查询获取
|
||||
// 这里暂时显示占位符,实际项目中需要从数据库查询
|
||||
UserRoles = "获取中...";
|
||||
|
||||
// 异步获取角色信息
|
||||
Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
// 这里应该调用BLL层的方法获取用户角色
|
||||
// 由于系统中已有UsersBll类,我们可以使用它
|
||||
SamplePre.ProcessBll.BLL.UsersBll usersBll = new SamplePre.ProcessBll.BLL.UsersBll();
|
||||
var userExt = usersBll.GetUsers().FirstOrDefault(u => u.username == UserName);
|
||||
|
||||
if (userExt != null)
|
||||
{
|
||||
UserRoles = userExt.all_role_names;
|
||||
}
|
||||
else
|
||||
{
|
||||
UserRoles = "未知角色";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
UserRoles = "获取角色失败";
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
UserName = "未登录";
|
||||
UserRoles = "无";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user