Pārlūkot izejas kodu

升级nuget包到最新版本。
修复日志、用户和权限查询无法映射集合的问题。

zhontai 3 gadi atpakaļ
vecāks
revīzija
538244fe54
21 mainītis faili ar 40 papildinājumiem un 576 dzēšanām
  1. 3 3
      src/hosts/ZhonTai.Plate.Admin.Host/ZhonTai.Plate.Admin.Host.csproj
  2. 2 2
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Domain/Base/TransactionAsyncInterceptor.cs
  3. 1 1
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Domain/LogAbstract/Dto/LogGetPageDto.cs
  4. 1 1
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Domain/ZhonTai.Plate.Admin.Domain.csproj
  5. 8 2
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Domain/ZhonTai.Plate.Admin.Domain.xml
  6. 3 3
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.HttpApi.Shared/ZhonTai.Plate.Admin.HttpApi.Shared.csproj
  7. 0 1
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.HttpApi/Controllers/UserController.cs
  8. 0 1
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.HttpApi/ZhonTai.Plate.Admin.HttpApi.xml
  9. 1 1
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Repository/ZhonTai.Plate.Admin.Repository.csproj
  10. 1 0
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Service/Auth/AuthService.cs
  11. 2 2
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Service/Permission/PermissionService.cs
  12. 5 5
      src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Service/User/UserService.cs
  13. 0 4
      src/plates/ZhonTai.Plate.Personal/ZhonTai.Plate.Personnel.Repository/ZhonTai.Plate.Personnel.Repository.csproj
  14. 1 0
      src/shared/ZhonTai.Common/Domain/Repositories/IRepositoryBase.cs
  15. 0 439
      src/shared/ZhonTai.Common/Helpers/HtmlHelper.cs
  16. 5 6
      src/shared/ZhonTai.Common/ZhonTai.Common.csproj
  17. 1 99
      src/shared/ZhonTai.Common/ZhonTai.Common.xml
  18. 1 1
      src/shared/ZhonTai.Tools/Captcha/VerifyCodeHelper.cs
  19. 1 1
      src/shared/ZhonTai.Tools/ZhonTai.Tools.csproj
  20. 2 2
      src/tests/ZhonTai.Plate.Admin.Tests/ZhonTai.Plate.Admin.Tests.csproj
  21. 2 2
      src/tests/ZhonTai.Plate.Personnel.Tests/ZhonTai.Plate.Personnel.Tests.csproj

+ 3 - 3
src/hosts/ZhonTai.Plate.Admin.Host/ZhonTai.Plate.Admin.Host.csproj

@@ -50,9 +50,9 @@
     <PackageReference Include="Castle.Core.AsyncInterceptor" Version="2.0.0" />
     <PackageReference Include="FluentValidation.AspNetCore" Version="10.3.4" />
     <PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.11" />
-    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.11" />
-    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="5.0.0" />
+    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.0" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="6.0.0" />
     <PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />   
     <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
   </ItemGroup>

+ 2 - 2
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Domain/Base/TransactionAsyncInterceptor.cs

@@ -132,7 +132,7 @@ namespace ZhonTai.Plate.Admin.Domain
         }
 
         /// <summary>
-        /// 拦截返回结果为Task的方法
+        /// 拦截返回结果
         /// </summary>
         /// <param name="invocation"></param>
         public void InterceptAsynchronous(IInvocation invocation)
@@ -148,7 +148,7 @@ namespace ZhonTai.Plate.Admin.Domain
         }
 
         /// <summary>
-        /// 拦截返回结果为Task<TResult>的方法
+        /// 拦截返回结果
         /// </summary>
         /// <typeparam name="TResult"></typeparam>
         /// <param name="invocation"></param>

+ 1 - 1
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Domain/LogAbstract/Dto/LogGetPageDto.cs

@@ -1,6 +1,6 @@
 namespace ZhonTai.Plate.Admin.Domain
 {
-    public abstract class LogGetPageDto
+    public class LogGetPageDto
     {
         /// <summary>
         /// 创建者

+ 1 - 1
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Domain/ZhonTai.Plate.Admin.Domain.csproj

@@ -21,7 +21,7 @@
 	
     <ItemGroup>
 	    <PackageReference Include="Castle.Core.AsyncInterceptor" Version="2.0.0" />
-	    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="5.0.0" />
+	    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="6.0.0" />
 		<PackageReference Include="MiniProfiler.AspNetCore.Mvc" Version="4.2.22" />
     </ItemGroup>
 	

+ 8 - 2
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Domain/ZhonTai.Plate.Admin.Domain.xml

@@ -206,11 +206,17 @@
         </member>
         <member name="M:ZhonTai.Plate.Admin.Domain.TransactionAsyncInterceptor.InterceptAsynchronous(Castle.DynamicProxy.IInvocation)">
             <summary>
-            拦截返回结果为Task的方法
+            拦截返回结果
             </summary>
             <param name="invocation"></param>
         </member>
-        <!-- Badly formed XML comment ignored for member "M:ZhonTai.Plate.Admin.Domain.TransactionAsyncInterceptor.InterceptAsynchronous``1(Castle.DynamicProxy.IInvocation)" -->
+        <member name="M:ZhonTai.Plate.Admin.Domain.TransactionAsyncInterceptor.InterceptAsynchronous``1(Castle.DynamicProxy.IInvocation)">
+            <summary>
+            拦截返回结果
+            </summary>
+            <typeparam name="TResult"></typeparam>
+            <param name="invocation"></param>
+        </member>
         <member name="T:ZhonTai.Plate.Admin.Domain.DictionaryType.DictionaryTypeEntity">
             <summary>
             数据字典类型

+ 3 - 3
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.HttpApi.Shared/ZhonTai.Plate.Admin.HttpApi.Shared.csproj

@@ -9,9 +9,9 @@
 		<PackageReference Include="Caching.CSRedis" Version="3.6.60" />
 		<PackageReference Include="FluentValidation.AspNetCore" Version="10.3.4" />
 		<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" />
-		<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.11" />
-		<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.11" />
-		<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="5.0.0" />
+		<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.0" />
+		<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.0" />
+		<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="6.0.0" />
 		<PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />
 		<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
 		<PackageReference Include="Mapster" Version="7.2.0" />

+ 0 - 1
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.HttpApi/Controllers/UserController.cs

@@ -60,7 +60,6 @@ namespace ZhonTai.Plate.Admin.HttpApi
         /// <summary>
         /// 查询下拉数据
         /// </summary>
-        /// <param name="id"></param>
         /// <returns></returns>
         [HttpGet]
         public async Task<IResultOutput> GetSelect()

+ 0 - 1
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.HttpApi/ZhonTai.Plate.Admin.HttpApi.xml

@@ -634,7 +634,6 @@
             <summary>
             查询下拉数据
             </summary>
-            <param name="id"></param>
             <returns></returns>
         </member>
         <member name="M:ZhonTai.Plate.Admin.HttpApi.UserController.GetPage(ZhonTai.Common.Domain.Dto.PageInput)">

+ 1 - 1
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Repository/ZhonTai.Plate.Admin.Repository.csproj

@@ -20,7 +20,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0" />
+    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
   </ItemGroup>
 
   <ItemGroup>

+ 1 - 0
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Service/Auth/AuthService.cs

@@ -96,6 +96,7 @@ namespace ZhonTai.Plate.Admin.Service.Auth
             if (_appConfig.VarifyCode.Enable)
             {
                 input.Captcha.DeleteCache = true;
+                input.Captcha.CaptchaKey = CacheKey.CaptchaKey;
                 var isOk = await _captchaTool.CheckAsync(input.Captcha);
                 if (!isOk)
                 {

+ 2 - 2
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Service/Permission/PermissionService.cs

@@ -100,9 +100,9 @@ namespace ZhonTai.Plate.Admin.Service.Permission
             var output = await _permissionRepository.Select
             .WhereDynamic(id)
             .IncludeMany(a => a.Apis.Select(b => new ApiEntity { Id = b.Id }))
-            .ToOneAsync(a => new PermissionGetDotOutput { ApiIds = a.Apis.Select(b => b.Id).ToArray() });
+            .ToOneAsync();
 
-            return ResultOutput.Ok(output);
+            return ResultOutput.Ok(Mapper.Map<PermissionGetDotOutput>(output));
         }
 
         public async Task<IResultOutput> GetListAsync(string key, DateTime? start, DateTime? end)

+ 5 - 5
src/plates/ZhonTai.Plate.Admin/ZhonTai.Plate.Admin.Service/User/UserService.cs

@@ -66,14 +66,14 @@ namespace ZhonTai.Plate.Admin.Service.User
 
         public async Task<IResultOutput> GetAsync(long id)
         {
-            var entityDto = await _userRepository.Select
+            var entity = await _userRepository.Select
             .WhereDynamic(id)
             .IncludeMany(a => a.Roles.Select(b => new RoleEntity { Id = b.Id }))
-            .ToOneAsync(a => new UserGetOutput { RoleIds = a.Roles.Select(b => b.Id).ToArray() });
+            .ToOneAsync();
 
             var roles = await _roleRepository.Select.ToListAsync(a => new { a.Id, a.Name });
 
-            return ResultOutput.Ok(new { Form = entityDto, Select = new { roles } });
+            return ResultOutput.Ok(new { Form = Mapper.Map<UserGetOutput>(entity), Select = new { roles } });
         }
 
         public async Task<IResultOutput> GetSelectAsync()
@@ -117,11 +117,11 @@ namespace ZhonTai.Plate.Admin.Service.User
             .OrderByDescending(true, a => a.Id)
             .IncludeMany(a => a.Roles.Select(b => new RoleEntity { Name = b.Name }))
             .Page(input.CurrentPage, input.PageSize)
-            .ToListAsync(a => new UserListOutput { RoleNames = a.Roles.Select(b=>b.Name).ToArray() });
+            .ToListAsync();
 
             var data = new PageOutput<UserListOutput>()
             {
-                List = list,
+                List = Mapper.Map<List<UserListOutput>>(list),
                 Total = total
             };
 

+ 0 - 4
src/plates/ZhonTai.Plate.Personal/ZhonTai.Plate.Personnel.Repository/ZhonTai.Plate.Personnel.Repository.csproj

@@ -19,10 +19,6 @@
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0" />
-  </ItemGroup>
-
   <ItemGroup>
     <ProjectReference Include="..\..\ZhonTai.Plate.Admin\ZhonTai.Plate.Admin.Repository\ZhonTai.Plate.Admin.Repository.csproj" />
     <ProjectReference Include="..\ZhonTai.Plate.Personnel.Domain\ZhonTai.Plate.Personnel.Domain.csproj" />

+ 1 - 0
src/shared/ZhonTai.Common/Domain/Repositories/IRepositoryBase.cs

@@ -46,6 +46,7 @@ namespace ZhonTai.Common.Domain.Repositories
         /// <summary>
         /// 软删除
         /// </summary>
+        /// <param name="exp"></param>
         /// <param name="disableGlobalFilterNames">禁用全局过滤器名</param>
         /// <returns></returns>
         Task<bool> SoftDeleteAsync(Expression<Func<TEntity, bool>> exp, params string[] disableGlobalFilterNames);

+ 0 - 439
src/shared/ZhonTai.Common/Helpers/HtmlHelper.cs

@@ -1,439 +0,0 @@
-using ZhonTai.Common.Attributes;
-using System;
-using System.IO;
-using System.Net;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading;
-
-namespace ZhonTai.Common.Helpers
-{
-    /// <summary>
-    /// Html操作相关类
-    /// </summary>
-    [SingleInstance]
-    public class HtmlHelper
-    {
-        #region 私有字段
-
-        private readonly string _ContentType = "application/json";
-        private readonly string _Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-silverlight, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight-2-b1, */*";
-        private readonly string _UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";
-        private int _Delay = 1000;
-        private int _CurrentTry = 0;
-
-        #endregion 私有字段
-
-        #region 公有属性
-
-        /// <summary>
-        /// Cookie
-        /// </summary>
-        public CookieContainer CookieContainer { get; } = new CookieContainer();
-
-        /// <summary>
-        /// 语言
-        /// </summary>
-        public Encoding Encoding { get; set; } = Encoding.GetEncoding("utf-8");
-
-        public int NetworkDelay
-        {
-            get
-            {
-                Random r = new Random();
-                return r.Next(_Delay, _Delay * 2);
-            }
-            set
-            {
-                _Delay = value;
-            }
-        }
-
-        public int MaxTry { get; set; } = 300;
-
-        #endregion 公有属性
-
-        #region 获取HTML
-
-        /// <summary>
-        /// 获取HTML
-        /// </summary>
-        /// <param name="url">地址</param>
-        /// <param name="postData">post 提交的字符串</param>
-        /// <param name="isPost">是否是post</param>
-        /// <param name="cookieContainer">CookieContainer</param>
-        public string GetHtml(string url, string postData, bool isPost, CookieContainer cookieContainer)
-        {
-            if (string.IsNullOrEmpty(postData)) return GetHtml(url, cookieContainer);
-            Thread.Sleep(NetworkDelay);
-            _CurrentTry++;
-            HttpWebRequest httpWebRequest = null;
-            HttpWebResponse httpWebResponse = null;
-            try
-            {
-                byte[] byteRequest = Encoding.Default.GetBytes(postData);
-                httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
-                httpWebRequest.CookieContainer = cookieContainer;
-                httpWebRequest.ContentType = _ContentType;
-                httpWebRequest.ServicePoint.ConnectionLimit = MaxTry;
-                httpWebRequest.Referer = url;
-                httpWebRequest.Accept = _Accept;
-                httpWebRequest.UserAgent = _UserAgent;
-                httpWebRequest.Method = isPost ? "POST" : "GET";
-                httpWebRequest.ContentLength = byteRequest.Length;
-                Stream stream = httpWebRequest.GetRequestStream();
-                stream.Write(byteRequest, 0, byteRequest.Length);
-                stream.Close();
-                httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
-                Stream responseStream = httpWebResponse.GetResponseStream();
-                StreamReader streamReader = new StreamReader(responseStream, Encoding);
-                string html = streamReader.ReadToEnd();
-                streamReader.Close();
-                responseStream.Close();
-                _CurrentTry = 0;
-                httpWebRequest.Abort();
-                httpWebResponse.Close();
-                return html;
-            }
-            catch
-            {
-                if (_CurrentTry <= MaxTry) GetHtml(url, postData, isPost, cookieContainer);
-                _CurrentTry--;
-                if (httpWebRequest != null) httpWebRequest.Abort();
-                if (httpWebResponse != null) httpWebResponse.Close();
-                return string.Empty;
-            }
-        }
-
-        /// <summary>
-        /// 获取HTML
-        /// </summary>
-        /// <param name="url">地址</param>
-        /// <param name="cookieContainer">CookieContainer</param>
-        public string GetHtml(string url, CookieContainer cookieContainer)
-        {
-            Thread.Sleep(NetworkDelay);
-            _CurrentTry++;
-            HttpWebRequest httpWebRequest = null;
-            HttpWebResponse httpWebResponse = null;
-            try
-            {
-                httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
-                httpWebRequest.CookieContainer = cookieContainer;
-                httpWebRequest.ContentType = _ContentType;
-                httpWebRequest.ServicePoint.ConnectionLimit = MaxTry;
-                httpWebRequest.Referer = url;
-                httpWebRequest.Accept = _Accept;
-                httpWebRequest.UserAgent = _UserAgent;
-                httpWebRequest.Method = "GET";
-                httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
-                Stream responseStream = httpWebResponse.GetResponseStream();
-                StreamReader streamReader = new StreamReader(responseStream, Encoding);
-                string html = streamReader.ReadToEnd();
-                streamReader.Close();
-                responseStream.Close();
-                _CurrentTry--;
-                httpWebRequest.Abort();
-                httpWebResponse.Close();
-                return html;
-            }
-            catch (Exception)
-            {
-                if (_CurrentTry <= MaxTry) GetHtml(url, cookieContainer);
-                _CurrentTry--;
-                if (httpWebRequest != null) httpWebRequest.Abort();
-                if (httpWebResponse != null) httpWebResponse.Close();
-                return string.Empty;
-            }
-        }
-
-        #endregion 获取HTML
-
-        #region 获取字符流
-
-        //---------------------------------------------------------------------------------------------------------------
-        // 示例:
-        // System.Net.CookieContainer cookie = new System.Net.CookieContainer();
-        // Stream s = HttpHelper.GetStream("http://ptlogin2.qq.com/getimage?aid=15000102&0.43878429697395826", cookie);
-        // picVerify.Image = Image.FromStream(s);
-        //---------------------------------------------------------------------------------------------------------------
-        /// <summary>
-        /// 获取字符流
-        /// </summary>
-        /// <param name="url">地址</param>
-        /// <param name="cookieContainer">cookieContainer</param>
-        public Stream GetStream(string url, CookieContainer cookieContainer)
-        {
-            _CurrentTry++;
-
-            HttpWebRequest httpWebRequest = null;
-            HttpWebResponse httpWebResponse = null;
-
-            try
-            {
-                httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
-                httpWebRequest.CookieContainer = cookieContainer;
-                httpWebRequest.ContentType = _ContentType;
-                httpWebRequest.ServicePoint.ConnectionLimit = MaxTry;
-                httpWebRequest.Referer = url;
-                httpWebRequest.Accept = _Accept;
-                httpWebRequest.UserAgent = _UserAgent;
-                httpWebRequest.Method = "GET";
-
-                httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
-                Stream responseStream = httpWebResponse.GetResponseStream();
-                _CurrentTry--;
-                return responseStream;
-            }
-            catch (Exception)
-            {
-                if (_CurrentTry <= MaxTry)
-                {
-                    GetHtml(url, cookieContainer);
-                }
-
-                _CurrentTry--;
-
-                if (httpWebRequest != null)
-                {
-                    httpWebRequest.Abort();
-                }
-                if (httpWebResponse != null)
-                {
-                    httpWebResponse.Close();
-                }
-                return null;
-            }
-        }
-
-        #endregion 获取字符流
-
-        #region 清除HTML标记
-
-        /// <summary>
-        /// 清除HTML标记
-        /// </summary>
-        /// <param name="Htmlstring"></param>
-        /// <returns>已经去除后的文字</returns>
-        public string NoHTML(string Htmlstring)
-        {
-            //删除脚本
-            Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
-
-            //删除HTML
-            Regex regex = new Regex("<.+?>", RegexOptions.IgnoreCase);
-            Htmlstring = regex.Replace(Htmlstring, "");
-            Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
-
-            Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", "   ", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
-            Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);
-
-            Htmlstring.Replace("<", "");
-            Htmlstring.Replace(">", "");
-            Htmlstring.Replace("\r\n", "");
-
-            return Htmlstring;
-        }
-
-        #endregion 清除HTML标记
-
-        #region 删除文本中带的HTML标记
-
-        /// <summary>
-        /// 删除文本中带的HTML标记
-        /// </summary>
-        /// <param name="InString">输入要删除带HTML的字符串</param>
-        /// <returns>返回处理过的字符串</returns>
-        public string DelHtmlCode(string InString)
-        {
-            string strTemp = InString;
-            while (strTemp.Contains("<"))
-            {
-                if (!strTemp.Contains(">")) { break; }    //当字符串内不包含">"时退出循环
-                int htmlBeginNum = strTemp.IndexOf("<");
-                int htmlEndNum = strTemp.IndexOf(">");
-                //删除从"<"到">"之间的所有字符串
-                strTemp = strTemp.Remove(htmlBeginNum, htmlEndNum - htmlBeginNum + 1);
-            }
-            strTemp = strTemp.Replace("\n", "");
-            strTemp = strTemp.Replace("\r", "");
-            strTemp = strTemp.Replace("\n\r", "");
-            strTemp = strTemp.Replace("&nbsp;", "");
-            strTemp = strTemp.Replace(" ", "");
-            strTemp = strTemp.Trim();
-            return strTemp;
-        }
-
-        #endregion 删除文本中带的HTML标记
-
-        #region 匹配页面的链接
-
-        /// <summary>
-        /// 获取页面的链接正则
-        /// </summary>
-        public string GetHref(string HtmlCode)
-        {
-            string MatchVale = "";
-            string Reg = @"(h|H)(r|R)(e|E)(f|F) *= *('|"")?((\w|\\|\/|\.|:|-|_)+)[\S]*";
-            foreach (Match m in Regex.Matches(HtmlCode, Reg))
-            {
-                MatchVale += (m.Value).ToLower().Replace("href=", "").Trim() + "|";
-            }
-            return MatchVale;
-        }
-
-        #endregion 匹配页面的链接
-
-        #region 匹配页面的图片地址
-
-        /// <summary>
-        /// 匹配页面的图片地址
-        /// </summary>
-        /// <param name="HtmlCode"></param>
-        /// <param name="imgHttp">要补充的http://路径信息</param>
-        /// <returns></returns>
-        public string GetImgSrc(string HtmlCode, string imgHttp)
-        {
-            string MatchVale = "";
-            string Reg = @"<img.+?>";
-            foreach (Match m in Regex.Matches(HtmlCode.ToLower(), Reg))
-            {
-                MatchVale += GetImg((m.Value).ToLower().Trim(), imgHttp) + "|";
-            }
-
-            return MatchVale;
-        }
-
-        /// <summary>
-        /// 匹配<img src="" />中的图片路径实际链接
-        /// </summary>
-        /// <param name="ImgString"><img src="" />字符串</param>
-        /// <param name="imgHttp"></param>
-        /// <returns></returns>
-        public string GetImg(string ImgString, string imgHttp)
-        {
-            string MatchVale = "";
-            string Reg = @"src=.+\.(bmp|jpg|gif|png|)";
-            foreach (Match m in Regex.Matches(ImgString.ToLower(), Reg))
-            {
-                MatchVale += (m.Value).ToLower().Trim().Replace("src=", "");
-            }
-            if (MatchVale.IndexOf(".net") != -1 || MatchVale.IndexOf(".com") != -1 || MatchVale.IndexOf(".org") != -1 || MatchVale.IndexOf(".cn") != -1 || MatchVale.IndexOf(".cc") != -1 || MatchVale.IndexOf(".info") != -1 || MatchVale.IndexOf(".biz") != -1 || MatchVale.IndexOf(".tv") != -1)
-                return (MatchVale);
-            else
-                return (imgHttp + MatchVale);
-        }
-
-        #endregion 匹配页面的图片地址
-
-        #region 抓取远程页面内容
-
-        /// <summary>
-        /// 以GET方式抓取远程页面内容
-        /// </summary>
-        public string Get_Http(string tUrl)
-        {
-            string strResult;
-            try
-            {
-                HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(tUrl);
-                hwr.Timeout = 19600;
-                HttpWebResponse hwrs = (HttpWebResponse)hwr.GetResponse();
-                Stream myStream = hwrs.GetResponseStream();
-                StreamReader sr = new StreamReader(myStream, Encoding.Default);
-                StringBuilder sb = new StringBuilder();
-                while (-1 != sr.Peek())
-                {
-                    sb.Append(sr.ReadLine() + "\r\n");
-                }
-                strResult = sb.ToString();
-                hwrs.Close();
-            }
-            catch (Exception ee)
-            {
-                strResult = ee.Message;
-            }
-            return strResult;
-        }
-
-        /// <summary>
-        /// 以POST方式抓取远程页面内容
-        /// </summary>
-        /// <param name="url"></param>
-        /// <param name="postData">参数列表</param>
-        /// <param name="encodeType"></param>
-        /// <returns></returns>
-        public string Post_Http(string url, string postData, string encodeType)
-        {
-            string strResult;
-            try
-            {
-                Encoding encoding = Encoding.GetEncoding(encodeType);
-                byte[] POST = encoding.GetBytes(postData);
-                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
-                myRequest.Method = "POST";
-                myRequest.ContentType = "application/x-www-form-urlencoded";
-                myRequest.ContentLength = POST.Length;
-                Stream newStream = myRequest.GetRequestStream();
-                newStream.Write(POST, 0, POST.Length); //设置POST
-                newStream.Close();
-                HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
-                StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
-                strResult = reader.ReadToEnd();
-            }
-            catch (Exception ex)
-            {
-                strResult = ex.Message;
-            }
-            return strResult;
-        }
-
-        #endregion 抓取远程页面内容
-
-        #region 压缩HTML输出
-
-        /// <summary>
-        /// 压缩HTML输出
-        /// </summary>
-        public string ZipHtml(string Html)
-        {
-            Html = Regex.Replace(Html, @">\s+?<", "><");//去除HTML中的空白字符
-            Html = Regex.Replace(Html, @"\r\n\s*", "");
-            Html = Regex.Replace(Html, @"<body([\s|\S]*?)>([\s|\S]*?)</body>", @"<body$1>$2</body>", RegexOptions.IgnoreCase);
-            return Html;
-        }
-
-        #endregion 压缩HTML输出
-
-        #region 过滤指定HTML标签
-
-        /// <summary>
-        /// 过滤指定HTML标签
-        /// </summary>
-        /// <param name="s_TextStr">要过滤的字符</param>
-        /// <param name="html_Str">a img p div</param>
-        public string DelHtml(string s_TextStr, string html_Str)
-        {
-            string rStr = "";
-            if (!string.IsNullOrEmpty(s_TextStr))
-            {
-                rStr = Regex.Replace(s_TextStr, "<" + html_Str + "[^>]*>", "", RegexOptions.IgnoreCase);
-                rStr = Regex.Replace(rStr, "</" + html_Str + ">", "", RegexOptions.IgnoreCase);
-            }
-            return rStr;
-        }
-
-        #endregion 过滤指定HTML标签
-    }
-}

+ 5 - 6
src/shared/ZhonTai.Common/ZhonTai.Common.csproj

@@ -31,12 +31,11 @@
     <PackageReference Include="FreeSql.Repository" Version="2.6.100" />
     <PackageReference Include="IdleBus" Version="1.5.2" />
     <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
-    <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="5.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0" />
-    <PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.13.1" />
-    <PackageReference Include="System.Drawing.Common" Version="5.0.2" />
-    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.13.1" />
+    <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" />
+    <PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.14.1" />
+    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.14.1" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.12" />
 	<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.1.0" />

+ 1 - 99
src/shared/ZhonTai.Common/ZhonTai.Common.xml

@@ -858,6 +858,7 @@
             <summary>
             软删除
             </summary>
+            <param name="exp"></param>
             <param name="disableGlobalFilterNames">禁用全局过滤器名</param>
             <returns></returns>
         </member>
@@ -1247,105 +1248,6 @@
             <param name="encode">编码格式</param>
             <returns></returns>
         </member>
-        <member name="T:ZhonTai.Common.Helpers.HtmlHelper">
-            <summary>
-            Html操作相关类
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Common.Helpers.HtmlHelper.CookieContainer">
-            <summary>
-            Cookie
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Common.Helpers.HtmlHelper.Encoding">
-            <summary>
-            语言
-            </summary>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.GetHtml(System.String,System.String,System.Boolean,System.Net.CookieContainer)">
-            <summary>
-            获取HTML
-            </summary>
-            <param name="url">地址</param>
-            <param name="postData">post 提交的字符串</param>
-            <param name="isPost">是否是post</param>
-            <param name="cookieContainer">CookieContainer</param>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.GetHtml(System.String,System.Net.CookieContainer)">
-            <summary>
-            获取HTML
-            </summary>
-            <param name="url">地址</param>
-            <param name="cookieContainer">CookieContainer</param>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.GetStream(System.String,System.Net.CookieContainer)">
-            <summary>
-            获取字符流
-            </summary>
-            <param name="url">地址</param>
-            <param name="cookieContainer">cookieContainer</param>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.NoHTML(System.String)">
-            <summary>
-            清除HTML标记
-            </summary>
-            <param name="Htmlstring"></param>
-            <returns>已经去除后的文字</returns>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.DelHtmlCode(System.String)">
-            <summary>
-            删除文本中带的HTML标记
-            </summary>
-            <param name="InString">输入要删除带HTML的字符串</param>
-            <returns>返回处理过的字符串</returns>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.GetHref(System.String)">
-            <summary>
-            获取页面的链接正则
-            </summary>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.GetImgSrc(System.String,System.String)">
-            <summary>
-            匹配页面的图片地址
-            </summary>
-            <param name="HtmlCode"></param>
-            <param name="imgHttp">要补充的http://路径信息</param>
-            <returns></returns>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.GetImg(System.String,System.String)">
-            <summary>
-            匹配<img src="" />中的图片路径实际链接
-            </summary>
-            <param name="ImgString"><img src="" />字符串</param>
-            <param name="imgHttp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.Get_Http(System.String)">
-            <summary>
-            以GET方式抓取远程页面内容
-            </summary>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.Post_Http(System.String,System.String,System.String)">
-            <summary>
-            以POST方式抓取远程页面内容
-            </summary>
-            <param name="url"></param>
-            <param name="postData">参数列表</param>
-            <param name="encodeType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.ZipHtml(System.String)">
-            <summary>
-            压缩HTML输出
-            </summary>
-        </member>
-        <member name="M:ZhonTai.Common.Helpers.HtmlHelper.DelHtml(System.String,System.String)">
-            <summary>
-            过滤指定HTML标签
-            </summary>
-            <param name="s_TextStr">要过滤的字符</param>
-            <param name="html_Str">a img p div</param>
-        </member>
         <member name="M:ZhonTai.Common.Helpers.IPHelper.IsIP(System.String)">
             <summary>
             是否为ip

+ 1 - 1
src/shared/ZhonTai.Common/Helpers/VerifyCodeHelper.cs → src/shared/ZhonTai.Tools/Captcha/VerifyCodeHelper.cs

@@ -6,7 +6,7 @@ using System.Drawing.Imaging;
 using System.IO;
 using System.Text;
 
-namespace ZhonTai.Common.Helpers
+namespace ZhonTai.Tools.Captcha
 {
     [SingleInstance]
     public class VerifyCodeHelper

+ 1 - 1
src/shared/ZhonTai.Tools/ZhonTai.Tools.csproj

@@ -16,7 +16,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="System.Drawing.Common" Version="5.0.2" />
+    <PackageReference Include="System.Drawing.Common" Version="5.0.3" />
   </ItemGroup>
 
   <ItemGroup>

+ 2 - 2
src/tests/ZhonTai.Plate.Admin.Tests/ZhonTai.Plate.Admin.Tests.csproj

@@ -6,8 +6,8 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="5.0.9" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
+    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="6.0.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
     <PackageReference Include="xunit" Version="2.4.1" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
       <PrivateAssets>all</PrivateAssets>

+ 2 - 2
src/tests/ZhonTai.Plate.Personnel.Tests/ZhonTai.Plate.Personnel.Tests.csproj

@@ -6,8 +6,8 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="5.0.9" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
+    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="6.0.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
     <PackageReference Include="xunit" Version="2.4.1" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
       <PrivateAssets>all</PrivateAssets>