using FoodLabeling.Application.Contracts.Dtos.AuthSession; using Volo.Abp.Application.Services; namespace FoodLabeling.Application.Contracts.IServices; /// /// 当前登录会话:菜单权限与退出(美国版 Web 管理端) /// public interface IAuthSessionAppService : IApplicationService { /// /// 获取当前登录用户的角色编码、权限码与可见菜单树 /// /// /// 与框架 UserManager.GetInfoAsync 一致;用户名为 admin 时返回全部未删除菜单(与 AccountService.GetVue3Router 行为对齐)。 /// 返回体额外包含:lastUpdated(用户 LastModificationTime)、role(角色展示名,多角色英文逗号拼接)、fullName(姓名优先,其次昵称、用户名)。 /// 角色名通过 Role 表直查(RoleDbEntity),避免走仓储 IDataPermission。 /// /// 用户简要信息、权限码与菜单树 /// 成功 /// 未登录或令牌无效 /// 服务器错误 Task GetMyMenusAsync(); /// /// 退出登录:清除服务端用户信息缓存(JWT 仍由前端丢弃) /// /// /// 与框架 AccountService.PostLogout 一致;未登录时返回 false。 /// /// 是否执行了缓存清理(已登录为 true) /// 成功 /// 服务器错误 Task LogoutAsync(); }