Compare commits
No commits in common. "e897520326cfb59cf98dea3f551eea26d6a2adcc" and "80595e250c2a938dcd1dd17fa3596a99dd67c9f5" have entirely different histories.
e897520326
...
80595e250c
|
|
@ -12,7 +12,6 @@ using WGShare.API.Hubs;
|
||||||
using WGShare.Domain.Constant;
|
using WGShare.Domain.Constant;
|
||||||
using WGShare.Domain.DTOs.Login;
|
using WGShare.Domain.DTOs.Login;
|
||||||
using WGShare.Domain.Entities;
|
using WGShare.Domain.Entities;
|
||||||
using WGShare.Domain.Enums;
|
|
||||||
using WGShare.Domain.FriendlyException;
|
using WGShare.Domain.FriendlyException;
|
||||||
using WGShare.Domain.FriendlyException.Exceptions;
|
using WGShare.Domain.FriendlyException.Exceptions;
|
||||||
|
|
||||||
|
|
@ -48,7 +47,7 @@ namespace WGShare.API.Controllers
|
||||||
[HttpGet("check-user"), AllowAnonymous]
|
[HttpGet("check-user"), AllowAnonymous]
|
||||||
public async Task<bool> CheckUser([FromQuery] string account)
|
public async Task<bool> CheckUser([FromQuery] string account)
|
||||||
{
|
{
|
||||||
return await _sqlSugar.Queryable<User>().AnyAsync(x => x.IsDelete == false && x.Account == account && x.IsAnonymous == false);
|
return await _sqlSugar.Queryable<User>().AnyAsync(x => x.IsDelete == false && x.Account == account);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -59,7 +58,7 @@ namespace WGShare.API.Controllers
|
||||||
public async Task<IActionResult> Login([FromBody] UserLoginDTO loginDTO)
|
public async Task<IActionResult> Login([FromBody] UserLoginDTO loginDTO)
|
||||||
{
|
{
|
||||||
var user = await _sqlSugar.Queryable<User>()
|
var user = await _sqlSugar.Queryable<User>()
|
||||||
.FirstAsync(x => x.Account == loginDTO.Account && x.IsDelete == false && x.Pwd == loginDTO.Pwd && x.IsAnonymous == false);
|
.FirstAsync(x => x.Account == loginDTO.Account && x.IsDelete == false && x.Pwd == loginDTO.Pwd);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
throw Oops.Oh("用户名或密码不正确!");
|
throw Oops.Oh("用户名或密码不正确!");
|
||||||
|
|
@ -206,74 +205,6 @@ namespace WGShare.API.Controllers
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 匿名登录
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="loginDTO"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost("anon-login"), AllowAnonymous]
|
|
||||||
public async Task<IActionResult> AnonymousLogin([FromBody] AnonymousUserLoginDTO loginDTO)
|
|
||||||
{
|
|
||||||
var room = await _sqlSugar.Queryable<Room>().Where(x => x.RoomNum == loginDTO.RoomNum && x.IsDelete == false).FirstAsync();
|
|
||||||
if (room == null)
|
|
||||||
{
|
|
||||||
throw Oops.Oh("房间不存在!");
|
|
||||||
}
|
|
||||||
|
|
||||||
var user = await _sqlSugar.Queryable<User>().Where(x => x.Account == loginDTO.DeviceId).FirstAsync();
|
|
||||||
if (user == null)
|
|
||||||
{
|
|
||||||
// 用户不存在,创建
|
|
||||||
user = new User
|
|
||||||
{
|
|
||||||
Account = loginDTO.DeviceId,
|
|
||||||
IsDelete = false,
|
|
||||||
IsAnonymous = true,
|
|
||||||
Pwd = "123456",
|
|
||||||
RoleId = "2",
|
|
||||||
UserName = loginDTO.NickName,
|
|
||||||
ScreenShareId = UserShareIdHelper.GenerateUnique8DigitNumber(),
|
|
||||||
TenantId = "123456",
|
|
||||||
};
|
|
||||||
user.Id = (await _sqlSugar.Insertable(user).ExecuteReturnIdentityAsync()).ToString();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (user.IsDelete)
|
|
||||||
{
|
|
||||||
throw Oops.Oh("该设备已禁止登录!");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改用户名
|
|
||||||
await _sqlSugar.Updateable<User>()
|
|
||||||
.SetColumns(x => x.UserName == loginDTO.NickName)
|
|
||||||
.Where(x => x.Id == user.Id)
|
|
||||||
.ExecuteCommandHasChangeAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
var btnAutn = new List<Claim>();
|
|
||||||
btnAutn.Add(new Claim("perm", "0"));
|
|
||||||
btnAutn.Add(new Claim("roleid", "2"));
|
|
||||||
btnAutn.Add(new Claim("tenant", room.TenantId));
|
|
||||||
btnAutn.Add(new Claim("account", user.Account));
|
|
||||||
btnAutn.Add(new Claim("uname", loginDTO.NickName));
|
|
||||||
btnAutn.Add(new Claim("ssid", user.ScreenShareId));
|
|
||||||
|
|
||||||
var accessToken = _jwtHelper.CreateToken(user.Id, btnAutn);
|
|
||||||
return Ok(new
|
|
||||||
{
|
|
||||||
perms = "0",
|
|
||||||
token = accessToken,
|
|
||||||
refresh_token = "",
|
|
||||||
roleId = user.RoleId,
|
|
||||||
userName = loginDTO.NickName,
|
|
||||||
tenantName = "匿名用户区域",
|
|
||||||
expire = _configuration["Jwt:Expires"].ToInt32(),
|
|
||||||
account = user.Account,
|
|
||||||
uid = user.Id,
|
|
||||||
screenShareId = user.ScreenShareId
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#region 后台管理员登录接口
|
#region 后台管理员登录接口
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
|
|
||||||
var list = await _sqlSugar.Queryable<User>()
|
var list = await _sqlSugar.Queryable<User>()
|
||||||
.InnerJoin<Role>((u, r) => u.RoleId == r.Id)
|
.InnerJoin<Role>((u, r) => u.RoleId == r.Id)
|
||||||
.Where((u, r) => u.IsDelete == false && u.TenantId == TenantId && u.IsAnonymous == false)
|
.Where((u, r) => u.IsDelete == false && u.TenantId == TenantId)
|
||||||
.WhereIF(!string.IsNullOrWhiteSpace(searchKeywod), (u, r) => u.UserName.Contains(searchKeywod) || u.Account.Contains(searchKeywod))
|
.WhereIF(!string.IsNullOrWhiteSpace(searchKeywod), (u, r) => u.UserName.Contains(searchKeywod) || u.Account.Contains(searchKeywod))
|
||||||
.WhereIF(isOnline.HasValue && isOnline.Value == true, (u, r) => onlineUid.Contains(u.Id))
|
.WhereIF(isOnline.HasValue && isOnline.Value == true, (u, r) => onlineUid.Contains(u.Id))
|
||||||
.WhereIF(isOnline.HasValue && isOnline.Value == false, (u, r) => !onlineUid.Contains(u.Id))
|
.WhereIF(isOnline.HasValue && isOnline.Value == false, (u, r) => !onlineUid.Contains(u.Id))
|
||||||
|
|
|
||||||
|
|
@ -30,13 +30,6 @@
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:WGShare.API.Controllers.AuthController.AnonymousLogin(WGShare.Domain.DTOs.Login.AnonymousUserLoginDTO)">
|
|
||||||
<summary>
|
|
||||||
匿名登录
|
|
||||||
</summary>
|
|
||||||
<param name="loginDTO"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:WGShare.API.Controllers.AuthController.LoginForAdmin(WGShare.Domain.DTOs.Login.UserLoginDTO)">
|
<member name="M:WGShare.API.Controllers.AuthController.LoginForAdmin(WGShare.Domain.DTOs.Login.UserLoginDTO)">
|
||||||
<summary>
|
<summary>
|
||||||
管理员登录
|
管理员登录
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace WGShare.Domain.DTOs.Login
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 匿名用户登录
|
|
||||||
/// </summary>
|
|
||||||
public class AnonymousUserLoginDTO
|
|
||||||
{
|
|
||||||
public string DeviceId { get; set; }
|
|
||||||
|
|
||||||
public string NickName { get; set; }
|
|
||||||
|
|
||||||
public string RoomNum { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -59,11 +59,6 @@ namespace WGShare.Domain.Entities
|
||||||
[SugarColumn(ColumnName = "tenant_id")]
|
[SugarColumn(ColumnName = "tenant_id")]
|
||||||
public string TenantId { get; set; }
|
public string TenantId { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否匿名登录用户
|
|
||||||
///</summary>
|
|
||||||
[SugarColumn(ColumnName = "is_anonymous")]
|
|
||||||
public bool IsAnonymous { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// 共享屏幕Id
|
/// 共享屏幕Id
|
||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "screen_share_id", IsOnlyIgnoreUpdate = true)]
|
[SugarColumn(ColumnName = "screen_share_id", IsOnlyIgnoreUpdate = true)]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue