懒得勤快 vor 4 Jahren
Ursprung
Commit
7d53788104

+ 1 - 1
src/Masuit.MyBlogs.Core/Common/CommonHelper.cs

@@ -144,7 +144,7 @@ namespace Masuit.MyBlogs.Core.Common
         /// </summary>
         /// <param name="ip"></param>
         /// <returns></returns>
-        public static async Task<bool> IsProxy(this string ip)
+        public static async Task<bool> IsProxy(this IPAddress ip)
         {
             var httpClient = Startup.ServiceProvider.GetRequiredService<IHttpClientFactory>().CreateClient();
             httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.62");

+ 2 - 2
src/Masuit.MyBlogs.Core/Controllers/BaseController.cs

@@ -117,8 +117,8 @@ namespace Masuit.MyBlogs.Core.Controllers
             ViewBag.Desc = CommonHelper.SystemSettings["Description"];
             var user = filterContext.HttpContext.Session.Get<UserInfoDto>(SessionKey.UserInfo);
 #if DEBUG
-            user = UserInfoService.GetByUsername("masuit").Mapper<UserInfoDto>();
-            filterContext.HttpContext.Session.Set(SessionKey.UserInfo, user);
+            //user = UserInfoService.GetByUsername("masuit").Mapper<UserInfoDto>();
+            //filterContext.HttpContext.Session.Set(SessionKey.UserInfo, user);
 #endif
             if (CommonHelper.SystemSettings.GetOrAdd("CloseSite", "false") == "true" && user?.IsAdmin != true)
             {

+ 1 - 1
src/Masuit.MyBlogs.Core/Controllers/Drive/SitesController.cs

@@ -49,7 +49,7 @@ namespace Masuit.MyBlogs.Core.Controllers.Drive
         /// </summary>
         /// <returns></returns>
         [HttpGet("sites/{siteName}/{**path}"), ResponseCache(Duration = 600)]
-        public async Task<IActionResult> GetDrectory(string siteName, string path)
+        public async Task<IActionResult> GetDirectory(string siteName, string path)
         {
             if (string.IsNullOrEmpty(siteName))
             {

+ 4 - 1
src/Masuit.MyBlogs.Core/Controllers/SearchController.cs

@@ -67,7 +67,10 @@ namespace Masuit.MyBlogs.Core.Controllers
                 }
 
                 ViewBag.hotSearches = new List<KeywordsRank>();
-                ViewBag.RelateKeywords = SearchDetailsService.GetQuery(s => s.Keywords.Contains(wd) && s.Keywords != wd).Select(s => s.Keywords).GroupBy(s => s).OrderByDescending(g => g.Count()).Select(g => g.Key).Take(10).Cacheable().ToList();
+                if (posts.Total > size)
+                {
+                    ViewBag.RelateKeywords = SearchDetailsService.GetQuery(s => s.Keywords.Contains(wd) && s.Keywords != wd).Select(s => s.Keywords).GroupBy(s => s).OrderByDescending(g => g.Count()).Select(g => g.Key).Take(10).Cacheable().ToList();
+                }
                 return View(posts);
             }
 

+ 6 - 4
src/Masuit.MyBlogs.Core/Controllers/ToolsController.cs

@@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Mvc;
 using Newtonsoft.Json;
 using Polly;
 using System;
+using System.Net;
 using System.Net.Http;
 using System.Threading;
 using System.Threading.Tasks;
@@ -52,15 +53,16 @@ namespace Masuit.MyBlogs.Core.Controllers
                 return Ok("内网IP");
             }
 
+            var ipAddress = IPAddress.Parse(ip);
             ViewBag.IP = ip;
-            var cityInfo = Policy<CityResponse>.Handle<AddressNotFoundException>().Fallback(() => new CityResponse()).Execute(() => CommonHelper.MaxmindReader.City(ip));
-            var location = ip.GetIPLocation();
+            var cityInfo = Policy<CityResponse>.Handle<AddressNotFoundException>().Fallback(() => new CityResponse()).Execute(() => CommonHelper.MaxmindReader.City(ipAddress));
+            var location = ipAddress.GetIPLocation();
             var address = new IpInfo()
             {
                 CityInfo = cityInfo,
                 Address = $"{location}(UTC{TZConvert.GetTimeZoneInfo(cityInfo.Location.TimeZone ?? "Asia/Shanghai").BaseUtcOffset.Hours:+#;-#;0})",
-                Asn = ip.GetIPAsn(),
-                IsProxy = location.Contains(new[] { "cloud", "Compute", "Serv", "Tech", "Solution", "Host", "云", "Datacenter", "Data Center", "Business" }) || await ip.IsProxy()
+                Asn = ipAddress.GetIPAsn(),
+                IsProxy = location.ToString().Contains(new[] { "cloud", "Compute", "Serv", "Tech", "Solution", "Host", "云", "Datacenter", "Data Center", "Business" }) || await ipAddress.IsProxy()
             };
             if (Request.Method.Equals(HttpMethods.Get))
             {

+ 2 - 0
src/Masuit.MyBlogs.Core/Infrastructure/Drive/DriveService.cs

@@ -33,6 +33,7 @@ namespace Masuit.MyBlogs.Core.Infrastructure.Drive
             var request = drive.Root.Children.Request();
             var result = await request.GetAsync();
             var files = await GetItems(result, siteName, showHiddenFolders);
+            files = files.OrderByDescending(f => f.CreatedTime).ToList();
             return files;
         }
 
@@ -46,6 +47,7 @@ namespace Masuit.MyBlogs.Core.Infrastructure.Drive
             var drive = siteName != "onedrive" ? _graph.Sites[GetSiteId(siteName)].Drive : _graph.Me.Drive;
             var result = await drive.Root.ItemWithPath(path).Children.Request().GetAsync();
             var files = await GetItems(result, siteName, showHiddenFolders);
+            files = files.OrderByDescending(f => f.CreatedTime).ToList();
             return files;
         }
 

+ 2 - 2
src/Masuit.MyBlogs.Core/Masuit.MyBlogs.Core.csproj

@@ -46,7 +46,7 @@
         <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.9" />
         <PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="5.0.9" />
         <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="5.0.1" />
-        <PackageReference Include="Microsoft.Graph" Version="4.2.0" />
+        <PackageReference Include="Microsoft.Graph" Version="4.3.0" />
         <PackageReference Include="Microsoft.Graph.Auth" Version="1.0.0-preview.6" />
         <PackageReference Include="MiniProfiler.AspNetCore.Mvc" Version="4.2.22" />
         <PackageReference Include="OpenXmlPowerTools-NetStandard" Version="4.4.21" />
@@ -57,7 +57,7 @@
         <PackageReference Include="System.Linq.Dynamic.Core" Version="1.2.12" />
         <PackageReference Include="TimeZoneConverter" Version="3.5.0" />
         <PackageReference Include="WilderMinds.RssSyndication" Version="1.7.0" />
-        <PackageReference Include="Z.EntityFramework.Plus.EFCore" Version="5.2.6" />
+        <PackageReference Include="Z.EntityFramework.Plus.EFCore" Version="5.2.7" />
     </ItemGroup>
     <ItemGroup>
         <Content Update="appsettings.json">

+ 0 - 1
src/Masuit.MyBlogs.Core/Program.cs

@@ -36,7 +36,6 @@ namespace Masuit.MyBlogs.Core
             opt.ListenAnyIP(port.ToInt32());
             if (bool.Parse(config["Https:Enabled"]))
             {
-                opt.EnableAltSvc = true;
                 opt.ListenAnyIP(sslport.ToInt32(), s =>
                 {
                     if (Environment.OSVersion.Platform == PlatformID.Win32NT && Environment.OSVersion.Version.Major >= 10)

+ 2 - 11
src/Masuit.MyBlogs.Core/Startup.cs

@@ -109,12 +109,7 @@ namespace Masuit.MyBlogs.Core
                 Path = "lucene"
             }); // 配置7z和断点续传和Redis和Lucene搜索引擎
 
-            services.AddHttpClient("", c =>
-            {
-                c.DefaultRequestVersion = new Version(2, 0);
-                c.DefaultVersionPolicy = HttpVersionPolicy.RequestVersionOrHigher;
-                c.Timeout = TimeSpan.FromSeconds(30);
-            }).AddTransientHttpErrorPolicy(builder => builder.Or<TaskCanceledException>().Or<OperationCanceledException>().Or<TimeoutException>().OrResult(res => !res.IsSuccessStatusCode).RetryAsync(5)).ConfigurePrimaryHttpMessageHandler(() =>
+            services.AddHttpClient("").AddTransientHttpErrorPolicy(builder => builder.Or<TaskCanceledException>().Or<OperationCanceledException>().Or<TimeoutException>().OrResult(res => !res.IsSuccessStatusCode).RetryAsync(5)).ConfigurePrimaryHttpMessageHandler(() =>
             {
                 if (bool.TryParse(Configuration["HttpClientProxy:Enabled"], out var b) && b)
                 {
@@ -126,11 +121,7 @@ namespace Masuit.MyBlogs.Core
 
                 return new HttpClientHandler();
             }); //注入HttpClient
-            services.AddHttpClient<ImagebedClient>(c =>
-            {
-                c.DefaultRequestVersion = new Version(2, 0);
-                c.DefaultVersionPolicy = HttpVersionPolicy.RequestVersionOrHigher;
-            }).AddTransientHttpErrorPolicy(builder => builder.Or<TaskCanceledException>().Or<OperationCanceledException>().Or<TimeoutException>().OrResult(res => !res.IsSuccessStatusCode).RetryAsync(3)); //注入HttpClient
+            services.AddHttpClient<ImagebedClient>().AddTransientHttpErrorPolicy(builder => builder.Or<TaskCanceledException>().Or<OperationCanceledException>().Or<TimeoutException>().OrResult(res => !res.IsSuccessStatusCode).RetryAsync(3)); //注入HttpClient
             services.AddMailSender(Configuration).AddFirewallReporter(Configuration);
             services.AddBundling().UseDefaults(_env).UseNUglify().EnableMinification().EnableChangeDetection().EnableCacheHeader(TimeSpan.FromHours(1));
             services.SetupMiniProfile();