diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/AccountController.cs b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/AccountController.cs index b48014c3..eb3fcf16 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/AccountController.cs +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/AccountController.cs @@ -13,6 +13,7 @@ using Yi.Framework.Core; using Yi.Framework.DTOModel; using Yi.Framework.Interface; using Yi.Framework.Model.Models; +using Yi.Framework.WebCore; namespace Yi.Framework.ApiMicroservice.Controllers { @@ -157,16 +158,6 @@ namespace Yi.Framework.ApiMicroservice.Controllers return Result.Success(msg); } - [HttpGet] - public async Task EditIcon(int userId,IFormFile file) - { - var user_data = await _userService.GetUserById(userId); - var fileController = new FileController(); - var type = Common.Const.FileConst.Image; - var filename= fileController.Upload(type,file); - user_data.icon = filename.ToString(); - await _userService.UpdateAsync(user_data); - return Result.Success(); - } + } } \ No newline at end of file diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/FileController.cs b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/FileController.cs index 81f6e525..196e37a9 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/FileController.cs +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/FileController.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Hosting; using System; @@ -22,46 +23,49 @@ namespace Yi.Framework.ApiMicroservice.Controllers { _userService = userService; _env = env; - } - - public FileController() + } + [HttpPost] + [Authorize] + public async Task EditIcon(IFormFile file) { + var _user = HttpContext.GetCurrentUserInfo(); + var user_data = await _userService.GetUserById(_user.id); + var type = "image"; + var filename = await Upload(type, file); + user_data.icon = filename; + await _userService.UpdateAsync(user_data); + return Result.Success(); } - [HttpGet] - [Route("{type}/{imageNmae}")] public IActionResult Get(string type, string imageNmae) { - var path = Path.Combine(@"wwwroot/file", imageNmae); + var path = Path.Combine($"wwwroot\\{type}", imageNmae); var stream = System.IO.File.OpenRead(path); - var MimeType = Common.Helper.MimeMapping.GetMimeMapping(imageNmae); + var MimeType = Common.Helper.MimeHelper.GetMimeMapping(imageNmae); return new FileStreamResult(stream, MimeType); } - [HttpPost] - [Route("{type}/{imageNmae}")] - public async Task Upload(string type,IFormFile file) + + private async Task Upload(string type,IFormFile file) { - if (type != Common.Const.FileConst.Image) { return Result.Error(); } + string filename = Guid.NewGuid().ToString() + Path.GetExtension(file.FileName); - string filepath = Path.Combine(@"wwwroot/image", filename); - using (var stream = new FileStream(Path.Combine(_env.ContentRootPath, filepath), FileMode.CreateNew, FileAccess.Write)) + using (var stream = new FileStream(Path.Combine($"wwwroot\\{type}", filename), FileMode.CreateNew, FileAccess.Write)) { await file.CopyToAsync(stream); } - return Result.Success().SetData(filename); + return filename; } - [HttpGet] - public async Task GetFile() + [HttpGet] + public async TaskExportFile() { var userdata = await _userService.GetAllEntitiesTrueAsync(); var userList = userdata.ToList(); - Dictionary dt = new(); - dt.Add("sc", "user"); - var bt = Excel.ExportExcel(userList, dt); - MemoryStream ms = new(bt); - return new FileStreamResult(ms, "application/vnd.ms-excel"); + List header = new() { "用户", "密码", "头像", "昵称", "邮箱", "ip","年龄", "个人介绍", "地址", "手机", "角色" }; + var filename= Common.Helper.ExcelHelper.CreateExcelFromList(userList,header,_env.ContentRootPath.ToString()); + var MimeType = Common.Helper.MimeHelper.GetMimeMapping(filename); + return new FileStreamResult(new FileStream(Path.Combine(_env.ContentRootPath+@"\wwwroot\Excel", filename), FileMode.Open),MimeType); } } } diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/UserController.cs b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/UserController.cs index 10f3e159..60d169f3 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/UserController.cs +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/UserController.cs @@ -108,8 +108,8 @@ namespace Yi.Framework.ApiMicroservice.Controllers [HttpGet] public async Task GetMenuByHttpUser() { - var _user = HttpContext.GetCurrentUserInfo(); - return Result.Success().SetData(await _userService.GetMenuByHttpUser(_user.id)); + HttpContext.GetCurrentUserInfo(out var allMenuIds); + return Result.Success().SetData(await _userService.GetMenuByHttpUser(allMenuIds)); } /// diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Startup.cs b/Yi.Framework/Yi.Framework.ApiMicroservice/Startup.cs index 6f28e2ef..9d31f9d3 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Startup.cs +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Startup.cs @@ -100,7 +100,7 @@ namespace Yi.Framework.ApiMicroservice #region //ץȡע #endregion - app.UseErrorHandlingService(); + //app.UseErrorHandlingService(); #region //HttpsRedirectionע diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Yi.Framework.ApiMicroservice.csproj b/Yi.Framework/Yi.Framework.ApiMicroservice/Yi.Framework.ApiMicroservice.csproj index c7ef45b5..2290e099 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Yi.Framework.ApiMicroservice.csproj +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Yi.Framework.ApiMicroservice.csproj @@ -9,6 +9,13 @@ 1701;1702;CS1591 + + + + + + + all @@ -25,8 +32,8 @@ - - + + diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/evn/wwwroot/Excel/Excel_20211102225436.xlsx b/Yi.Framework/Yi.Framework.ApiMicroservice/evn/wwwroot/Excel/Excel_20211102225436.xlsx new file mode 100644 index 00000000..24bc5816 Binary files /dev/null and b/Yi.Framework/Yi.Framework.ApiMicroservice/evn/wwwroot/Excel/Excel_20211102225436.xlsx differ diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/evn/wwwroot/Excel/Excel_20211102225553.xlsx b/Yi.Framework/Yi.Framework.ApiMicroservice/evn/wwwroot/Excel/Excel_20211102225553.xlsx new file mode 100644 index 00000000..adf47f29 Binary files /dev/null and b/Yi.Framework/Yi.Framework.ApiMicroservice/evn/wwwroot/Excel/Excel_20211102225553.xlsx differ diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/Excel/Excel_20211102231510.xlsx b/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/Excel/Excel_20211102231510.xlsx new file mode 100644 index 00000000..f1634a6f Binary files /dev/null and b/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/Excel/Excel_20211102231510.xlsx differ diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/Excel/Excel_20211102232113.xlsx b/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/Excel/Excel_20211102232113.xlsx new file mode 100644 index 00000000..428fa119 Binary files /dev/null and b/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/Excel/Excel_20211102232113.xlsx differ diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/image/0a5221e4-dca6-4d4e-8486-acf86822f2e4.jpg b/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/image/0a5221e4-dca6-4d4e-8486-acf86822f2e4.jpg new file mode 100644 index 00000000..0e7512ee Binary files /dev/null and b/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/image/0a5221e4-dca6-4d4e-8486-acf86822f2e4.jpg differ diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/image/6312706b-7013-4aa5-af3c-0bbb6b3f4804.jpg b/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/image/6312706b-7013-4aa5-af3c-0bbb6b3f4804.jpg new file mode 100644 index 00000000..b1bdce5b Binary files /dev/null and b/Yi.Framework/Yi.Framework.ApiMicroservice/wwwroot/image/6312706b-7013-4aa5-af3c-0bbb6b3f4804.jpg differ diff --git a/Yi.Framework/Yi.Framework.Common/Helper/ExcelHelper.cs b/Yi.Framework/Yi.Framework.Common/Helper/ExcelHelper.cs new file mode 100644 index 00000000..b04850f1 --- /dev/null +++ b/Yi.Framework/Yi.Framework.Common/Helper/ExcelHelper.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using OfficeOpenXml; + +namespace Yi.Framework.Common.Helper +{ + public class ExcelHelper + { + /// + /// + /// + /// + /// 数据 + /// 表头 + /// + public static string CreateExcelFromList(List dataList, List headers,string evn) + { + ExcelPackage.LicenseContext = LicenseContext.NonCommercial; + string sWebRootFolder = Path.Combine($"{evn}", "wwwroot\\Excel");//如果用浏览器url下载的方式 存放excel的文件夹一定要建在网站首页的同级目录下!!! + if (!Directory.Exists(sWebRootFolder)) + { + Directory.CreateDirectory(sWebRootFolder); + } + string sFileName = $@"Excel_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx"; + var path = Path.Combine(sWebRootFolder, sFileName); + FileInfo file = new FileInfo(path); + if (file.Exists) + { + file.Delete(); + file = new FileInfo(path); + } + using (ExcelPackage package = new(file)) + { + //创建sheet + ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("sheet1"); + worksheet.Cells.LoadFromCollection(dataList, true); + //表头字段 + for (int i = 0; i < headers.Count; i++) + { + worksheet.Cells[1, i + 1].Value = headers[i]; + } + for (int i = 0; i < headers.Count + 1; i++) + {//删除不需要的列 + string aa = worksheet.Cells[1, i + 1].Value.ToString(); + if (aa == "总行数") + { + worksheet.DeleteColumn(i + 1); + } + } + package.Save(); + } + //return path;//这是返回文件的方式 + return sFileName; //如果用浏览器url下载的方式 这里直接返回生成的文件名就可以了 + } + } +} diff --git a/Yi.Framework/Yi.Framework.Common/Helper/MimeHelper.cs b/Yi.Framework/Yi.Framework.Common/Helper/MimeHelper.cs new file mode 100644 index 00000000..bd783d48 --- /dev/null +++ b/Yi.Framework/Yi.Framework.Common/Helper/MimeHelper.cs @@ -0,0 +1,244 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Common.Helper +{ + public static class MimeHelper + { + // 通过自己定义一个静态类 + // 将所有的Content Type都扔进去吧 + // 调用的时候直接调用静态方法即可。 + + private static Hashtable _mimeMappingTable; + + private static void AddMimeMapping(string extension, string MimeType) + { + MimeHelper._mimeMappingTable.Add(extension, MimeType); + } + + public static string GetMimeMapping(string FileName) + { + string text = null; + int num = FileName.LastIndexOf('.'); + if (0 < num && num > FileName.LastIndexOf('\\')) + { + text = (string)MimeHelper._mimeMappingTable[FileName.Substring(num)]; + } + if (text == null) + { + text = (string)MimeHelper._mimeMappingTable[".*"]; + } + return text; + } + + static MimeHelper() + { + MimeHelper._mimeMappingTable = new Hashtable(190, StringComparer.CurrentCultureIgnoreCase); + MimeHelper.AddMimeMapping(".323", "text/h323"); + MimeHelper.AddMimeMapping(".asx", "video/x-ms-asf"); + MimeHelper.AddMimeMapping(".acx", "application/internet-property-stream"); + MimeHelper.AddMimeMapping(".ai", "application/postscript"); + MimeHelper.AddMimeMapping(".aif", "audio/x-aiff"); + MimeHelper.AddMimeMapping(".aiff", "audio/aiff"); + MimeHelper.AddMimeMapping(".axs", "application/olescript"); + MimeHelper.AddMimeMapping(".aifc", "audio/aiff"); + MimeHelper.AddMimeMapping(".asr", "video/x-ms-asf"); + MimeHelper.AddMimeMapping(".avi", "video/x-msvideo"); + MimeHelper.AddMimeMapping(".asf", "video/x-ms-asf"); + MimeHelper.AddMimeMapping(".au", "audio/basic"); + MimeHelper.AddMimeMapping(".application", "application/x-ms-application"); + MimeHelper.AddMimeMapping(".bin", "application/octet-stream"); + MimeHelper.AddMimeMapping(".bas", "text/plain"); + MimeHelper.AddMimeMapping(".bcpio", "application/x-bcpio"); + MimeHelper.AddMimeMapping(".bmp", "image/bmp"); + MimeHelper.AddMimeMapping(".cdf", "application/x-cdf"); + MimeHelper.AddMimeMapping(".cat", "application/vndms-pkiseccat"); + MimeHelper.AddMimeMapping(".crt", "application/x-x509-ca-cert"); + MimeHelper.AddMimeMapping(".c", "text/plain"); + MimeHelper.AddMimeMapping(".css", "text/css"); + MimeHelper.AddMimeMapping(".cer", "application/x-x509-ca-cert"); + MimeHelper.AddMimeMapping(".crl", "application/pkix-crl"); + MimeHelper.AddMimeMapping(".cmx", "image/x-cmx"); + MimeHelper.AddMimeMapping(".csh", "application/x-csh"); + MimeHelper.AddMimeMapping(".cod", "image/cis-cod"); + MimeHelper.AddMimeMapping(".cpio", "application/x-cpio"); + MimeHelper.AddMimeMapping(".clp", "application/x-msclip"); + MimeHelper.AddMimeMapping(".crd", "application/x-mscardfile"); + MimeHelper.AddMimeMapping(".deploy", "application/octet-stream"); + MimeHelper.AddMimeMapping(".dll", "application/x-msdownload"); + MimeHelper.AddMimeMapping(".dot", "application/msword"); + MimeHelper.AddMimeMapping(".doc", "application/msword"); + MimeHelper.AddMimeMapping(".dvi", "application/x-dvi"); + MimeHelper.AddMimeMapping(".dir", "application/x-director"); + MimeHelper.AddMimeMapping(".dxr", "application/x-director"); + MimeHelper.AddMimeMapping(".der", "application/x-x509-ca-cert"); + MimeHelper.AddMimeMapping(".dib", "image/bmp"); + MimeHelper.AddMimeMapping(".dcr", "application/x-director"); + MimeHelper.AddMimeMapping(".disco", "text/xml"); + MimeHelper.AddMimeMapping(".exe", "application/octet-stream"); + MimeHelper.AddMimeMapping(".etx", "text/x-setext"); + MimeHelper.AddMimeMapping(".evy", "application/envoy"); + MimeHelper.AddMimeMapping(".eml", "message/rfc822"); + MimeHelper.AddMimeMapping(".eps", "application/postscript"); + MimeHelper.AddMimeMapping(".flr", "x-world/x-vrml"); + MimeHelper.AddMimeMapping(".fif", "application/fractals"); + MimeHelper.AddMimeMapping(".gtar", "application/x-gtar"); + MimeHelper.AddMimeMapping(".gif", "image/gif"); + MimeHelper.AddMimeMapping(".gz", "application/x-gzip"); + MimeHelper.AddMimeMapping(".hta", "application/hta"); + MimeHelper.AddMimeMapping(".htc", "text/x-component"); + MimeHelper.AddMimeMapping(".htt", "text/webviewhtml"); + MimeHelper.AddMimeMapping(".h", "text/plain"); + MimeHelper.AddMimeMapping(".hdf", "application/x-hdf"); + MimeHelper.AddMimeMapping(".hlp", "application/winhlp"); + MimeHelper.AddMimeMapping(".html", "text/html"); + MimeHelper.AddMimeMapping(".htm", "text/html"); + MimeHelper.AddMimeMapping(".hqx", "application/mac-binhex40"); + MimeHelper.AddMimeMapping(".isp", "application/x-internet-signup"); + MimeHelper.AddMimeMapping(".iii", "application/x-iphone"); + MimeHelper.AddMimeMapping(".ief", "image/ief"); + MimeHelper.AddMimeMapping(".ivf", "video/x-ivf"); + MimeHelper.AddMimeMapping(".ins", "application/x-internet-signup"); + MimeHelper.AddMimeMapping(".ico", "image/x-icon"); + MimeHelper.AddMimeMapping(".jpg", "image/jpeg"); + MimeHelper.AddMimeMapping(".jfif", "image/pjpeg"); + MimeHelper.AddMimeMapping(".jpe", "image/jpeg"); + MimeHelper.AddMimeMapping(".jpeg", "image/jpeg"); + MimeHelper.AddMimeMapping(".js", "application/x-javascript"); + MimeHelper.AddMimeMapping(".lsx", "video/x-la-asf"); + MimeHelper.AddMimeMapping(".latex", "application/x-latex"); + MimeHelper.AddMimeMapping(".lsf", "video/x-la-asf"); + MimeHelper.AddMimeMapping(".manifest", "application/x-ms-manifest"); + MimeHelper.AddMimeMapping(".mhtml", "message/rfc822"); + MimeHelper.AddMimeMapping(".mny", "application/x-msmoney"); + MimeHelper.AddMimeMapping(".mht", "message/rfc822"); + MimeHelper.AddMimeMapping(".mid", "audio/mid"); + MimeHelper.AddMimeMapping(".mpv2", "video/mpeg"); + MimeHelper.AddMimeMapping(".man", "application/x-troff-man"); + MimeHelper.AddMimeMapping(".mvb", "application/x-msmediaview"); + MimeHelper.AddMimeMapping(".mpeg", "video/mpeg"); + MimeHelper.AddMimeMapping(".m3u", "audio/x-mpegurl"); + MimeHelper.AddMimeMapping(".mdb", "application/x-msaccess"); + MimeHelper.AddMimeMapping(".mpp", "application/vnd.ms-project"); + MimeHelper.AddMimeMapping(".m1v", "video/mpeg"); + MimeHelper.AddMimeMapping(".mpa", "video/mpeg"); + MimeHelper.AddMimeMapping(".me", "application/x-troff-me"); + MimeHelper.AddMimeMapping(".m13", "application/x-msmediaview"); + MimeHelper.AddMimeMapping(".movie", "video/x-sgi-movie"); + MimeHelper.AddMimeMapping(".m14", "application/x-msmediaview"); + MimeHelper.AddMimeMapping(".mpe", "video/mpeg"); + MimeHelper.AddMimeMapping(".mp2", "video/mpeg"); + MimeHelper.AddMimeMapping(".mov", "video/quicktime"); + MimeHelper.AddMimeMapping(".mp3", "audio/mpeg"); + MimeHelper.AddMimeMapping(".mpg", "video/mpeg"); + MimeHelper.AddMimeMapping(".ms", "application/x-troff-ms"); + MimeHelper.AddMimeMapping(".nc", "application/x-netcdf"); + MimeHelper.AddMimeMapping(".nws", "message/rfc822"); + MimeHelper.AddMimeMapping(".oda", "application/oda"); + MimeHelper.AddMimeMapping(".ods", "application/oleobject"); + MimeHelper.AddMimeMapping(".pmc", "application/x-perfmon"); + MimeHelper.AddMimeMapping(".p7r", "application/x-pkcs7-certreqresp"); + MimeHelper.AddMimeMapping(".p7b", "application/x-pkcs7-certificates"); + MimeHelper.AddMimeMapping(".p7s", "application/pkcs7-signature"); + MimeHelper.AddMimeMapping(".pmw", "application/x-perfmon"); + MimeHelper.AddMimeMapping(".ps", "application/postscript"); + MimeHelper.AddMimeMapping(".p7c", "application/pkcs7-mime"); + MimeHelper.AddMimeMapping(".pbm", "image/x-portable-bitmap"); + MimeHelper.AddMimeMapping(".ppm", "image/x-portable-pixmap"); + MimeHelper.AddMimeMapping(".pub", "application/x-mspublisher"); + MimeHelper.AddMimeMapping(".pnm", "image/x-portable-anymap"); + MimeHelper.AddMimeMapping(".png", "image/png"); + MimeHelper.AddMimeMapping(".pml", "application/x-perfmon"); + MimeHelper.AddMimeMapping(".p10", "application/pkcs10"); + MimeHelper.AddMimeMapping(".pfx", "application/x-pkcs12"); + MimeHelper.AddMimeMapping(".p12", "application/x-pkcs12"); + MimeHelper.AddMimeMapping(".pdf", "application/pdf"); + MimeHelper.AddMimeMapping(".pps", "application/vnd.ms-powerpoint"); + MimeHelper.AddMimeMapping(".p7m", "application/pkcs7-mime"); + MimeHelper.AddMimeMapping(".pko", "application/vndms-pkipko"); + MimeHelper.AddMimeMapping(".ppt", "application/vnd.ms-powerpoint"); + MimeHelper.AddMimeMapping(".pmr", "application/x-perfmon"); + MimeHelper.AddMimeMapping(".pma", "application/x-perfmon"); + MimeHelper.AddMimeMapping(".pot", "application/vnd.ms-powerpoint"); + MimeHelper.AddMimeMapping(".prf", "application/pics-rules"); + MimeHelper.AddMimeMapping(".pgm", "image/x-portable-graymap"); + MimeHelper.AddMimeMapping(".qt", "video/quicktime"); + MimeHelper.AddMimeMapping(".ra", "audio/x-pn-realaudio"); + MimeHelper.AddMimeMapping(".rgb", "image/x-rgb"); + MimeHelper.AddMimeMapping(".ram", "audio/x-pn-realaudio"); + MimeHelper.AddMimeMapping(".rmi", "audio/mid"); + MimeHelper.AddMimeMapping(".ras", "image/x-cmu-raster"); + MimeHelper.AddMimeMapping(".roff", "application/x-troff"); + MimeHelper.AddMimeMapping(".rtf", "application/rtf"); + MimeHelper.AddMimeMapping(".rtx", "text/richtext"); + MimeHelper.AddMimeMapping(".sv4crc", "application/x-sv4crc"); + MimeHelper.AddMimeMapping(".spc", "application/x-pkcs7-certificates"); + MimeHelper.AddMimeMapping(".setreg", "application/set-registration-initiation"); + MimeHelper.AddMimeMapping(".snd", "audio/basic"); + MimeHelper.AddMimeMapping(".stl", "application/vndms-pkistl"); + MimeHelper.AddMimeMapping(".setpay", "application/set-payment-initiation"); + MimeHelper.AddMimeMapping(".stm", "text/html"); + MimeHelper.AddMimeMapping(".shar", "application/x-shar"); + MimeHelper.AddMimeMapping(".sh", "application/x-sh"); + MimeHelper.AddMimeMapping(".sit", "application/x-stuffit"); + MimeHelper.AddMimeMapping(".spl", "application/futuresplash"); + MimeHelper.AddMimeMapping(".sct", "text/scriptlet"); + MimeHelper.AddMimeMapping(".scd", "application/x-msschedule"); + MimeHelper.AddMimeMapping(".sst", "application/vndms-pkicertstore"); + MimeHelper.AddMimeMapping(".src", "application/x-wais-source"); + MimeHelper.AddMimeMapping(".sv4cpio", "application/x-sv4cpio"); + MimeHelper.AddMimeMapping(".tex", "application/x-tex"); + MimeHelper.AddMimeMapping(".tgz", "application/x-compressed"); + MimeHelper.AddMimeMapping(".t", "application/x-troff"); + MimeHelper.AddMimeMapping(".tar", "application/x-tar"); + MimeHelper.AddMimeMapping(".tr", "application/x-troff"); + MimeHelper.AddMimeMapping(".tif", "image/tiff"); + MimeHelper.AddMimeMapping(".txt", "text/plain"); + MimeHelper.AddMimeMapping(".texinfo", "application/x-texinfo"); + MimeHelper.AddMimeMapping(".trm", "application/x-msterminal"); + MimeHelper.AddMimeMapping(".tiff", "image/tiff"); + MimeHelper.AddMimeMapping(".tcl", "application/x-tcl"); + MimeHelper.AddMimeMapping(".texi", "application/x-texinfo"); + MimeHelper.AddMimeMapping(".tsv", "text/tab-separated-values"); + MimeHelper.AddMimeMapping(".ustar", "application/x-ustar"); + MimeHelper.AddMimeMapping(".uls", "text/iuls"); + MimeHelper.AddMimeMapping(".vcf", "text/x-vcard"); + MimeHelper.AddMimeMapping(".wps", "application/vnd.ms-works"); + MimeHelper.AddMimeMapping(".wav", "audio/wav"); + MimeHelper.AddMimeMapping(".wrz", "x-world/x-vrml"); + MimeHelper.AddMimeMapping(".wri", "application/x-mswrite"); + MimeHelper.AddMimeMapping(".wks", "application/vnd.ms-works"); + MimeHelper.AddMimeMapping(".wmf", "application/x-msmetafile"); + MimeHelper.AddMimeMapping(".wcm", "application/vnd.ms-works"); + MimeHelper.AddMimeMapping(".wrl", "x-world/x-vrml"); + MimeHelper.AddMimeMapping(".wdb", "application/vnd.ms-works"); + MimeHelper.AddMimeMapping(".wsdl", "text/xml"); + MimeHelper.AddMimeMapping(".xap", "application/x-silverlight-app"); + MimeHelper.AddMimeMapping(".xml", "text/xml"); + MimeHelper.AddMimeMapping(".xlm", "application/vnd.ms-excel"); + MimeHelper.AddMimeMapping(".xaf", "x-world/x-vrml"); + MimeHelper.AddMimeMapping(".xla", "application/vnd.ms-excel"); + MimeHelper.AddMimeMapping(".xls", "application/vnd.ms-excel"); + MimeHelper.AddMimeMapping(".xlsx", "application/vnd.ms-excel"); + MimeHelper.AddMimeMapping(".xof", "x-world/x-vrml"); + MimeHelper.AddMimeMapping(".xlt", "application/vnd.ms-excel"); + MimeHelper.AddMimeMapping(".xlc", "application/vnd.ms-excel"); + MimeHelper.AddMimeMapping(".xsl", "text/xml"); + MimeHelper.AddMimeMapping(".xbm", "image/x-xbitmap"); + MimeHelper.AddMimeMapping(".xlw", "application/vnd.ms-excel"); + MimeHelper.AddMimeMapping(".xpm", "image/x-xpixmap"); + MimeHelper.AddMimeMapping(".xwd", "image/x-xwindowdump"); + MimeHelper.AddMimeMapping(".xsd", "text/xml"); + MimeHelper.AddMimeMapping(".z", "application/x-compress"); + MimeHelper.AddMimeMapping(".zip", "application/x-zip-compressed"); + MimeHelper.AddMimeMapping(".*", "application/octet-stream"); + } + } + + + +} diff --git a/Yi.Framework/Yi.Framework.Common/Helper/MimeMapping.cs b/Yi.Framework/Yi.Framework.Common/Helper/MimeMapping.cs deleted file mode 100644 index 47d38753..00000000 --- a/Yi.Framework/Yi.Framework.Common/Helper/MimeMapping.cs +++ /dev/null @@ -1,243 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Yi.Framework.Common.Helper -{ - public static class MimeMapping - { - // 通过自己定义一个静态类 - // 将所有的Content Type都扔进去吧 - // 调用的时候直接调用静态方法即可。 - - private static Hashtable _mimeMappingTable; - - private static void AddMimeMapping(string extension, string MimeType) - { - MimeMapping._mimeMappingTable.Add(extension, MimeType); - } - - public static string GetMimeMapping(string FileName) - { - string text = null; - int num = FileName.LastIndexOf('.'); - if (0 < num && num > FileName.LastIndexOf('\\')) - { - text = (string)MimeMapping._mimeMappingTable[FileName.Substring(num)]; - } - if (text == null) - { - text = (string)MimeMapping._mimeMappingTable[".*"]; - } - return text; - } - - static MimeMapping() - { - MimeMapping._mimeMappingTable = new Hashtable(190, StringComparer.CurrentCultureIgnoreCase); - MimeMapping.AddMimeMapping(".323", "text/h323"); - MimeMapping.AddMimeMapping(".asx", "video/x-ms-asf"); - MimeMapping.AddMimeMapping(".acx", "application/internet-property-stream"); - MimeMapping.AddMimeMapping(".ai", "application/postscript"); - MimeMapping.AddMimeMapping(".aif", "audio/x-aiff"); - MimeMapping.AddMimeMapping(".aiff", "audio/aiff"); - MimeMapping.AddMimeMapping(".axs", "application/olescript"); - MimeMapping.AddMimeMapping(".aifc", "audio/aiff"); - MimeMapping.AddMimeMapping(".asr", "video/x-ms-asf"); - MimeMapping.AddMimeMapping(".avi", "video/x-msvideo"); - MimeMapping.AddMimeMapping(".asf", "video/x-ms-asf"); - MimeMapping.AddMimeMapping(".au", "audio/basic"); - MimeMapping.AddMimeMapping(".application", "application/x-ms-application"); - MimeMapping.AddMimeMapping(".bin", "application/octet-stream"); - MimeMapping.AddMimeMapping(".bas", "text/plain"); - MimeMapping.AddMimeMapping(".bcpio", "application/x-bcpio"); - MimeMapping.AddMimeMapping(".bmp", "image/bmp"); - MimeMapping.AddMimeMapping(".cdf", "application/x-cdf"); - MimeMapping.AddMimeMapping(".cat", "application/vndms-pkiseccat"); - MimeMapping.AddMimeMapping(".crt", "application/x-x509-ca-cert"); - MimeMapping.AddMimeMapping(".c", "text/plain"); - MimeMapping.AddMimeMapping(".css", "text/css"); - MimeMapping.AddMimeMapping(".cer", "application/x-x509-ca-cert"); - MimeMapping.AddMimeMapping(".crl", "application/pkix-crl"); - MimeMapping.AddMimeMapping(".cmx", "image/x-cmx"); - MimeMapping.AddMimeMapping(".csh", "application/x-csh"); - MimeMapping.AddMimeMapping(".cod", "image/cis-cod"); - MimeMapping.AddMimeMapping(".cpio", "application/x-cpio"); - MimeMapping.AddMimeMapping(".clp", "application/x-msclip"); - MimeMapping.AddMimeMapping(".crd", "application/x-mscardfile"); - MimeMapping.AddMimeMapping(".deploy", "application/octet-stream"); - MimeMapping.AddMimeMapping(".dll", "application/x-msdownload"); - MimeMapping.AddMimeMapping(".dot", "application/msword"); - MimeMapping.AddMimeMapping(".doc", "application/msword"); - MimeMapping.AddMimeMapping(".dvi", "application/x-dvi"); - MimeMapping.AddMimeMapping(".dir", "application/x-director"); - MimeMapping.AddMimeMapping(".dxr", "application/x-director"); - MimeMapping.AddMimeMapping(".der", "application/x-x509-ca-cert"); - MimeMapping.AddMimeMapping(".dib", "image/bmp"); - MimeMapping.AddMimeMapping(".dcr", "application/x-director"); - MimeMapping.AddMimeMapping(".disco", "text/xml"); - MimeMapping.AddMimeMapping(".exe", "application/octet-stream"); - MimeMapping.AddMimeMapping(".etx", "text/x-setext"); - MimeMapping.AddMimeMapping(".evy", "application/envoy"); - MimeMapping.AddMimeMapping(".eml", "message/rfc822"); - MimeMapping.AddMimeMapping(".eps", "application/postscript"); - MimeMapping.AddMimeMapping(".flr", "x-world/x-vrml"); - MimeMapping.AddMimeMapping(".fif", "application/fractals"); - MimeMapping.AddMimeMapping(".gtar", "application/x-gtar"); - MimeMapping.AddMimeMapping(".gif", "image/gif"); - MimeMapping.AddMimeMapping(".gz", "application/x-gzip"); - MimeMapping.AddMimeMapping(".hta", "application/hta"); - MimeMapping.AddMimeMapping(".htc", "text/x-component"); - MimeMapping.AddMimeMapping(".htt", "text/webviewhtml"); - MimeMapping.AddMimeMapping(".h", "text/plain"); - MimeMapping.AddMimeMapping(".hdf", "application/x-hdf"); - MimeMapping.AddMimeMapping(".hlp", "application/winhlp"); - MimeMapping.AddMimeMapping(".html", "text/html"); - MimeMapping.AddMimeMapping(".htm", "text/html"); - MimeMapping.AddMimeMapping(".hqx", "application/mac-binhex40"); - MimeMapping.AddMimeMapping(".isp", "application/x-internet-signup"); - MimeMapping.AddMimeMapping(".iii", "application/x-iphone"); - MimeMapping.AddMimeMapping(".ief", "image/ief"); - MimeMapping.AddMimeMapping(".ivf", "video/x-ivf"); - MimeMapping.AddMimeMapping(".ins", "application/x-internet-signup"); - MimeMapping.AddMimeMapping(".ico", "image/x-icon"); - MimeMapping.AddMimeMapping(".jpg", "image/jpeg"); - MimeMapping.AddMimeMapping(".jfif", "image/pjpeg"); - MimeMapping.AddMimeMapping(".jpe", "image/jpeg"); - MimeMapping.AddMimeMapping(".jpeg", "image/jpeg"); - MimeMapping.AddMimeMapping(".js", "application/x-javascript"); - MimeMapping.AddMimeMapping(".lsx", "video/x-la-asf"); - MimeMapping.AddMimeMapping(".latex", "application/x-latex"); - MimeMapping.AddMimeMapping(".lsf", "video/x-la-asf"); - MimeMapping.AddMimeMapping(".manifest", "application/x-ms-manifest"); - MimeMapping.AddMimeMapping(".mhtml", "message/rfc822"); - MimeMapping.AddMimeMapping(".mny", "application/x-msmoney"); - MimeMapping.AddMimeMapping(".mht", "message/rfc822"); - MimeMapping.AddMimeMapping(".mid", "audio/mid"); - MimeMapping.AddMimeMapping(".mpv2", "video/mpeg"); - MimeMapping.AddMimeMapping(".man", "application/x-troff-man"); - MimeMapping.AddMimeMapping(".mvb", "application/x-msmediaview"); - MimeMapping.AddMimeMapping(".mpeg", "video/mpeg"); - MimeMapping.AddMimeMapping(".m3u", "audio/x-mpegurl"); - MimeMapping.AddMimeMapping(".mdb", "application/x-msaccess"); - MimeMapping.AddMimeMapping(".mpp", "application/vnd.ms-project"); - MimeMapping.AddMimeMapping(".m1v", "video/mpeg"); - MimeMapping.AddMimeMapping(".mpa", "video/mpeg"); - MimeMapping.AddMimeMapping(".me", "application/x-troff-me"); - MimeMapping.AddMimeMapping(".m13", "application/x-msmediaview"); - MimeMapping.AddMimeMapping(".movie", "video/x-sgi-movie"); - MimeMapping.AddMimeMapping(".m14", "application/x-msmediaview"); - MimeMapping.AddMimeMapping(".mpe", "video/mpeg"); - MimeMapping.AddMimeMapping(".mp2", "video/mpeg"); - MimeMapping.AddMimeMapping(".mov", "video/quicktime"); - MimeMapping.AddMimeMapping(".mp3", "audio/mpeg"); - MimeMapping.AddMimeMapping(".mpg", "video/mpeg"); - MimeMapping.AddMimeMapping(".ms", "application/x-troff-ms"); - MimeMapping.AddMimeMapping(".nc", "application/x-netcdf"); - MimeMapping.AddMimeMapping(".nws", "message/rfc822"); - MimeMapping.AddMimeMapping(".oda", "application/oda"); - MimeMapping.AddMimeMapping(".ods", "application/oleobject"); - MimeMapping.AddMimeMapping(".pmc", "application/x-perfmon"); - MimeMapping.AddMimeMapping(".p7r", "application/x-pkcs7-certreqresp"); - MimeMapping.AddMimeMapping(".p7b", "application/x-pkcs7-certificates"); - MimeMapping.AddMimeMapping(".p7s", "application/pkcs7-signature"); - MimeMapping.AddMimeMapping(".pmw", "application/x-perfmon"); - MimeMapping.AddMimeMapping(".ps", "application/postscript"); - MimeMapping.AddMimeMapping(".p7c", "application/pkcs7-mime"); - MimeMapping.AddMimeMapping(".pbm", "image/x-portable-bitmap"); - MimeMapping.AddMimeMapping(".ppm", "image/x-portable-pixmap"); - MimeMapping.AddMimeMapping(".pub", "application/x-mspublisher"); - MimeMapping.AddMimeMapping(".pnm", "image/x-portable-anymap"); - MimeMapping.AddMimeMapping(".png", "image/png"); - MimeMapping.AddMimeMapping(".pml", "application/x-perfmon"); - MimeMapping.AddMimeMapping(".p10", "application/pkcs10"); - MimeMapping.AddMimeMapping(".pfx", "application/x-pkcs12"); - MimeMapping.AddMimeMapping(".p12", "application/x-pkcs12"); - MimeMapping.AddMimeMapping(".pdf", "application/pdf"); - MimeMapping.AddMimeMapping(".pps", "application/vnd.ms-powerpoint"); - MimeMapping.AddMimeMapping(".p7m", "application/pkcs7-mime"); - MimeMapping.AddMimeMapping(".pko", "application/vndms-pkipko"); - MimeMapping.AddMimeMapping(".ppt", "application/vnd.ms-powerpoint"); - MimeMapping.AddMimeMapping(".pmr", "application/x-perfmon"); - MimeMapping.AddMimeMapping(".pma", "application/x-perfmon"); - MimeMapping.AddMimeMapping(".pot", "application/vnd.ms-powerpoint"); - MimeMapping.AddMimeMapping(".prf", "application/pics-rules"); - MimeMapping.AddMimeMapping(".pgm", "image/x-portable-graymap"); - MimeMapping.AddMimeMapping(".qt", "video/quicktime"); - MimeMapping.AddMimeMapping(".ra", "audio/x-pn-realaudio"); - MimeMapping.AddMimeMapping(".rgb", "image/x-rgb"); - MimeMapping.AddMimeMapping(".ram", "audio/x-pn-realaudio"); - MimeMapping.AddMimeMapping(".rmi", "audio/mid"); - MimeMapping.AddMimeMapping(".ras", "image/x-cmu-raster"); - MimeMapping.AddMimeMapping(".roff", "application/x-troff"); - MimeMapping.AddMimeMapping(".rtf", "application/rtf"); - MimeMapping.AddMimeMapping(".rtx", "text/richtext"); - MimeMapping.AddMimeMapping(".sv4crc", "application/x-sv4crc"); - MimeMapping.AddMimeMapping(".spc", "application/x-pkcs7-certificates"); - MimeMapping.AddMimeMapping(".setreg", "application/set-registration-initiation"); - MimeMapping.AddMimeMapping(".snd", "audio/basic"); - MimeMapping.AddMimeMapping(".stl", "application/vndms-pkistl"); - MimeMapping.AddMimeMapping(".setpay", "application/set-payment-initiation"); - MimeMapping.AddMimeMapping(".stm", "text/html"); - MimeMapping.AddMimeMapping(".shar", "application/x-shar"); - MimeMapping.AddMimeMapping(".sh", "application/x-sh"); - MimeMapping.AddMimeMapping(".sit", "application/x-stuffit"); - MimeMapping.AddMimeMapping(".spl", "application/futuresplash"); - MimeMapping.AddMimeMapping(".sct", "text/scriptlet"); - MimeMapping.AddMimeMapping(".scd", "application/x-msschedule"); - MimeMapping.AddMimeMapping(".sst", "application/vndms-pkicertstore"); - MimeMapping.AddMimeMapping(".src", "application/x-wais-source"); - MimeMapping.AddMimeMapping(".sv4cpio", "application/x-sv4cpio"); - MimeMapping.AddMimeMapping(".tex", "application/x-tex"); - MimeMapping.AddMimeMapping(".tgz", "application/x-compressed"); - MimeMapping.AddMimeMapping(".t", "application/x-troff"); - MimeMapping.AddMimeMapping(".tar", "application/x-tar"); - MimeMapping.AddMimeMapping(".tr", "application/x-troff"); - MimeMapping.AddMimeMapping(".tif", "image/tiff"); - MimeMapping.AddMimeMapping(".txt", "text/plain"); - MimeMapping.AddMimeMapping(".texinfo", "application/x-texinfo"); - MimeMapping.AddMimeMapping(".trm", "application/x-msterminal"); - MimeMapping.AddMimeMapping(".tiff", "image/tiff"); - MimeMapping.AddMimeMapping(".tcl", "application/x-tcl"); - MimeMapping.AddMimeMapping(".texi", "application/x-texinfo"); - MimeMapping.AddMimeMapping(".tsv", "text/tab-separated-values"); - MimeMapping.AddMimeMapping(".ustar", "application/x-ustar"); - MimeMapping.AddMimeMapping(".uls", "text/iuls"); - MimeMapping.AddMimeMapping(".vcf", "text/x-vcard"); - MimeMapping.AddMimeMapping(".wps", "application/vnd.ms-works"); - MimeMapping.AddMimeMapping(".wav", "audio/wav"); - MimeMapping.AddMimeMapping(".wrz", "x-world/x-vrml"); - MimeMapping.AddMimeMapping(".wri", "application/x-mswrite"); - MimeMapping.AddMimeMapping(".wks", "application/vnd.ms-works"); - MimeMapping.AddMimeMapping(".wmf", "application/x-msmetafile"); - MimeMapping.AddMimeMapping(".wcm", "application/vnd.ms-works"); - MimeMapping.AddMimeMapping(".wrl", "x-world/x-vrml"); - MimeMapping.AddMimeMapping(".wdb", "application/vnd.ms-works"); - MimeMapping.AddMimeMapping(".wsdl", "text/xml"); - MimeMapping.AddMimeMapping(".xap", "application/x-silverlight-app"); - MimeMapping.AddMimeMapping(".xml", "text/xml"); - MimeMapping.AddMimeMapping(".xlm", "application/vnd.ms-excel"); - MimeMapping.AddMimeMapping(".xaf", "x-world/x-vrml"); - MimeMapping.AddMimeMapping(".xla", "application/vnd.ms-excel"); - MimeMapping.AddMimeMapping(".xls", "application/vnd.ms-excel"); - MimeMapping.AddMimeMapping(".xof", "x-world/x-vrml"); - MimeMapping.AddMimeMapping(".xlt", "application/vnd.ms-excel"); - MimeMapping.AddMimeMapping(".xlc", "application/vnd.ms-excel"); - MimeMapping.AddMimeMapping(".xsl", "text/xml"); - MimeMapping.AddMimeMapping(".xbm", "image/x-xbitmap"); - MimeMapping.AddMimeMapping(".xlw", "application/vnd.ms-excel"); - MimeMapping.AddMimeMapping(".xpm", "image/x-xpixmap"); - MimeMapping.AddMimeMapping(".xwd", "image/x-xwindowdump"); - MimeMapping.AddMimeMapping(".xsd", "text/xml"); - MimeMapping.AddMimeMapping(".z", "application/x-compress"); - MimeMapping.AddMimeMapping(".zip", "application/x-zip-compressed"); - MimeMapping.AddMimeMapping(".*", "application/octet-stream"); - } - } - - - -} diff --git a/Yi.Framework/Yi.Framework.Common/Yi.Framework.Common.csproj b/Yi.Framework/Yi.Framework.Common/Yi.Framework.Common.csproj index 47c5a704..74a4b17a 100644 --- a/Yi.Framework/Yi.Framework.Common/Yi.Framework.Common.csproj +++ b/Yi.Framework/Yi.Framework.Common/Yi.Framework.Common.csproj @@ -5,6 +5,7 @@ + diff --git a/Yi.Framework/Yi.Framework.Interface/IUserService.cs b/Yi.Framework/Yi.Framework.Interface/IUserService.cs index 42de0081..312a3f96 100644 --- a/Yi.Framework/Yi.Framework.Interface/IUserService.cs +++ b/Yi.Framework/Yi.Framework.Interface/IUserService.cs @@ -50,9 +50,9 @@ namespace Yi.Framework.Interface /// /// 通过http获取用户id,得到该用户所有的菜单(递归的那种),把所有children为[]的值全部过滤成null,不要绑定mould /// - /// + /// /// - Task GetMenuByHttpUser(int userId); + Task GetMenuByHttpUser(List allMenuIds); /// /// 根据路由获取菜单 /// diff --git a/Yi.Framework/Yi.Framework.Model/Models/user.cs b/Yi.Framework/Yi.Framework.Model/Models/user.cs index ef0ae625..d9d38fbe 100644 --- a/Yi.Framework/Yi.Framework.Model/Models/user.cs +++ b/Yi.Framework/Yi.Framework.Model/Models/user.cs @@ -19,7 +19,7 @@ namespace Yi.Framework.Model.Models public string introduction { get; set; } public string address { get; set; } public int? phone { get; set; } - + public List roles { get; set; } diff --git a/Yi.Framework/Yi.Framework.Service/MenuService.cs b/Yi.Framework/Yi.Framework.Service/MenuService.cs index 293202c1..3b05cfb5 100644 --- a/Yi.Framework/Yi.Framework.Service/MenuService.cs +++ b/Yi.Framework/Yi.Framework.Service/MenuService.cs @@ -37,14 +37,13 @@ namespace Yi.Framework.Service .Include(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.mould) .Include(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.mould) .Where(u =>u.is_delete == Normal && u.is_show == (short)Common.Enum.ShowFlagEnum.Show && u.is_top == (short)Common.Enum.TopFlagEnum.Top) - .OrderByDescending(u=>u.sort) .FirstOrDefaultAsync(); - return TreeMenuBuild.Normal(menu_data); + return TreeMenuBuild.Sort(TreeMenuBuild.Normal(menu_data)); } public async Task> GetTopMenusByTopMenuIds(List menuIds) { - return await _DbRead.Set().AsNoTracking().Where(u => menuIds.Contains(u.id)).ToListAsync(); + return await _DbRead.Set().AsNoTracking().Where(u => menuIds.Contains(u.id)).OrderBy(u=>u.sort).ToListAsync(); } public async Task SetMouldByMenu(int id1,int id2) diff --git a/Yi.Framework/Yi.Framework.Service/UserService.cs b/Yi.Framework/Yi.Framework.Service/UserService.cs index 9e4b54ad..c2357f0a 100644 --- a/Yi.Framework/Yi.Framework.Service/UserService.cs +++ b/Yi.Framework/Yi.Framework.Service/UserService.cs @@ -55,28 +55,12 @@ namespace Yi.Framework.Service return menuList; } - public async Task GetMenuByHttpUser(int userId) + public async Task GetMenuByHttpUser(List allMenuIds) { - var user_data = await GetUserById(userId); - List menuList = new(); - foreach (var item in user_data.roles) - { - var m = item.menus.Where(u => u.is_delete == Normal).ToList(); - menuList = menuList.Union(m).OrderByDescending(u => u.sort).ToList(); - } - //menu_data为角色所有的菜单,不是一个递归的啊 - var allMenuIds = menuList.Select(u => u.id).ToList(); - - - var topMenu =await _DbRead.Set().Include(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).Where(u => u.is_top == (short)Common.Enum.ShowFlagEnum.Show).FirstOrDefaultAsync(); - - + var topMenu =await _DbRead.Set().Include(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).Where(u => u.is_top == (short)Common.Enum.ShowFlagEnum.Show).FirstOrDefaultAsync(); //现在要开始关联菜单了 return TreeMenuBuild.Sort(TreeMenuBuild.ShowFormat(topMenu, allMenuIds)); ; - } - - - + } public async Task GetUserInRolesByHttpUser(int userId) { return await GetUserById(userId);