namespace Admin.NET.Plugin.GoView.Service; /// /// 系统登录服务 /// [UnifyProvider("GoView")] [ApiDescriptionSettings(GoViewConst.GroupName, Module = "goview", Name = "sys", Order = 500)] public class GoViewSysService : IDynamicApiController { private readonly SysAuthService _sysAuthService; private readonly SqlSugarRepository _sysUserRep; public GoViewSysService(SysAuthService sysAuthService, SqlSugarRepository sysUserRep) { _sysAuthService = sysAuthService; _sysUserRep = sysUserRep; } /// /// GoView 登录 /// /// [AllowAnonymous] [DisplayName("GoView 登录")] public async Task Login(GoViewLoginInput input) { var loginResult = await _sysAuthService.Login(new LoginInput() { Account = input.Username, Password = input.Password, }); var sysUser = await _sysUserRep.AsQueryable().Filter(null, true).FirstAsync(u => u.Account.Equals(input.Username)); return new GoViewLoginOutput() { Userinfo = new GoViewLoginUserInfo { Id = sysUser.Id.ToString(), Username = sysUser.Account, Nickname = sysUser.NickName, }, Token = new GoViewLoginToken { TokenValue = $"Bearer {loginResult.AccessToken}" } }; } /// /// GoView 退出 /// [DisplayName("GoView 退出")] public void GetLogout() { _sysAuthService.Logout(); } /// /// 获取 OSS 上传接口 /// /// [AllowAnonymous] [ApiDescriptionSettings(Name = "GetOssInfo")] [DisplayName("获取 OSS 上传接口")] public Task GetOssInfo() { return Task.FromResult(new GoViewOssUrlOutput { BucketURL = "" }); } }