Browse Source

同步代码

夜鹰 6 tháng trước cách đây
mục cha
commit
b0ae9bde8a

+ 6 - 0
Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs

@@ -23,6 +23,7 @@ public class SysAuthService : IDynamicApiController, ITransient
     private readonly SysOnlineUserService _sysOnlineUserService;
     private readonly SysConfigService _sysConfigService;
     private readonly SysUserService _sysUserService;
+    private readonly SysTenantService _sysTenantService;
     private readonly SysSmsService _sysSmsService;
     private readonly SysLdapService _sysLdapService;
     private readonly ICaptcha _captcha;
@@ -40,6 +41,7 @@ public class SysAuthService : IDynamicApiController, ITransient
         SysCacheService sysCacheService,
         SysMenuService sysMenuService,
         SysUserService sysUserService,
+        SysTenantService sysTenantService,
         UserManager userManager,
         ICaptcha captcha)
     {
@@ -49,6 +51,7 @@ public class SysAuthService : IDynamicApiController, ITransient
         _sysSmsService = sysSmsService;
         _eventPublisher = eventPublisher;
         _sysUserService = sysUserService;
+        _sysTenantService = sysTenantService;
         _sysMenuService = sysMenuService;
         _sysCacheService = sysCacheService;
         _sysConfigService = sysConfigService;
@@ -420,6 +423,9 @@ public class SysAuthService : IDynamicApiController, ITransient
         if (!_captcha.Validate(input.CodeId.ToString(), input.Code)) throw Oops.Oh(ErrorCodeEnum.D0008);
         _captcha.Generate(input.CodeId.ToString());
 
+        // 登录时隐藏租户,查找对应租户信息
+        input.TenantId = input.TenantId <= 0? (await _sysTenantService.GetCurrentTenantSysInfo()).Id : input.TenantId;
+
         // 判断租户是否有效且启用注册功能
         var tenant = await _sysUserRep.Context.Queryable<SysTenant>().FirstAsync(u => u.Id == input.TenantId && u.Status == StatusEnum.Enable);
         if (tenant?.EnableReg != YesNoEnum.Y) throw Oops.Oh(ErrorCodeEnum.D1034);

+ 4 - 14
Admin.NET/Admin.NET.Core/Utils/ComputerUtil.cs

@@ -152,11 +152,11 @@ public static class ComputerUtil
     {
         try
         {
-            var url = "https://www.ip.cn/api/index?ip&type=0";
+            var url = "https://4.ipw.cn";
             var httpRemoteService = App.GetRequiredService<IHttpRemoteService>();
-            var str = httpRemoteService.GetAsStringAsync(url).GetAwaiter().GetResult();
-            var resp = JSON.Deserialize<IpCnResp>(str);
-            return resp.Ip + " " + resp.Address;
+            var ip = httpRemoteService.GetAsString(url);
+            var (ipLocation, _, _) = CommonUtil.GetIpAddress(ip);
+            return ip + " " + ipLocation;
         }
         catch
         {
@@ -247,16 +247,6 @@ public static class ComputerUtil
 }
 
 /// <summary>
-/// IP信息
-/// </summary>
-public class IpCnResp
-{
-    public string Ip { get; set; }
-
-    public string Address { get; set; }
-}
-
-/// <summary>
 /// 内存信息
 /// </summary>
 public class MemoryMetrics

+ 21 - 10
一键净化项目.bat

@@ -1,11 +1,22 @@
 @echo OFF
- :begin
- REM 删除前端文件及文件夹
- DEL /f /s /q ".\Web\node_modules\*.*"
- RD /s /q ".\Web\node_modules"
- REM 循环删除指定文件夹下的文件夹
- FOR /d /r ".\Admin.NET\" %%b in (bin,obj,public) do rd /s /q "%%b"
- ECHO 【处理完毕,按任意键退出】
- PAUSE>NUL
- EXIT
- GOTO BEGIN
+setlocal enabledelayedexpansion
+
+echo 正在清理项目文件...
+
+REM 删除前端node_modules(更高效的方式)
+if exist ".\Web\node_modules" (
+    echo 正在删除 Web node_modules...
+    rd /s /q ".\Web\node_modules" 2>nul
+)
+
+REM 清理Admin.NET项目的bin、obj和public文件夹
+for /d /r ".\Admin.NET\" %%b in (bin obj public) do (
+    if exist "%%b" (
+        echo 正在删除 %%~b...
+        rd /s /q "%%b" 2>nul
+    )
+)
+
+echo 【处理完毕,按任意键退出】
+pause >nul
+exit /b 0