diff --git a/Yi.BBS.Vue2/src/api/accountApi.js b/Yi.BBS.Vue2/src/api/accountApi.js
index 0540cda7..f0c04757 100644
--- a/Yi.BBS.Vue2/src/api/accountApi.js
+++ b/Yi.BBS.Vue2/src/api/accountApi.js
@@ -16,12 +16,6 @@ export default {
method: 'post',
})
},
- logged() {
- return myaxios({
- url: '/Account/logged',
- method: 'post',
- })
- },
register(username, password, email, code) {
return myaxios({
url: `/Account/register?code=${code}`,
diff --git a/Yi.BBS.Vue2/src/permission.js b/Yi.BBS.Vue2/src/permission.js
index 430689bf..9a3f5455 100644
--- a/Yi.BBS.Vue2/src/permission.js
+++ b/Yi.BBS.Vue2/src/permission.js
@@ -12,14 +12,16 @@ router.beforeEach((to, from, next) => {
next({ path: '/login' });
}
} else { //如果有user还要向后端请求是否过期
- store.dispatch("Logged").then(resp => {
- if (!resp.status) //表示已经过期
- {
- store.dispatch("Logout");
- next({ path: '/login' });
- } else {
- next();
- }
- })
+
+ next();
+ // store.dispatch("Logged").then(resp => {
+ // if (!resp.status) //表示已经过期
+ // {
+ // store.dispatch("Logout");
+ // next({ path: '/login' });
+ // } else {
+ // next();
+ // }
+ // })
}
})
\ No newline at end of file
diff --git a/Yi.BBS.Vue2/src/store/modules/user.js b/Yi.BBS.Vue2/src/store/modules/user.js
index a09eac0c..2d3717a4 100644
--- a/Yi.BBS.Vue2/src/store/modules/user.js
+++ b/Yi.BBS.Vue2/src/store/modules/user.js
@@ -63,7 +63,7 @@ const actions = { //动作
return new Promise((resolv, reject) => {
accountApi.login(form.username.trim(), form.password.trim()).then(resp => {
commit('SET_TOKEN', resp.data.token)
- commit('SET_USER', resp.data.user)
+ // commit('SET_USER', resp.data.user)
resolv(resp)
}).catch(error => {
reject(error)
@@ -82,16 +82,6 @@ const actions = { //动作
})
})
},
- Logged({ commit }) {
- return new Promise((resolv, reject) => {
- accountApi.logged().then(resp => {
- resolv(resp)
- }).catch(error => {
- reject(error)
- })
- })
- },
-
// GetUserInfo({ commit, state }) {
// return new Promise((resolv, reject) => {
// // getUserInfo(state.token).then(response => {
diff --git a/Yi.BBS.Vue2/src/utils/myaxios.js b/Yi.BBS.Vue2/src/utils/myaxios.js
index 2e37c708..1f703c8c 100644
--- a/Yi.BBS.Vue2/src/utils/myaxios.js
+++ b/Yi.BBS.Vue2/src/utils/myaxios.js
@@ -27,7 +27,11 @@ myaxios.interceptors.request.use(function(config) {
// 响应拦截器
myaxios.interceptors.response.use(function(response) {
- // const resp = response.data
+ const resp = response.data
+ if(resp.code!=200)
+ {
+ alert(`错误代码:${resp.code},原因:${resp.message}`)
+ }
store.dispatch("closeLoad");
return response;
}, function(error) {
@@ -35,7 +39,7 @@ myaxios.interceptors.response.use(function(response) {
if (resp.code == undefined && resp.msg == undefined) {
alert(`错误代码:无,原因:与服务器失去连接`)
} else if (resp.code != 200) {
- alert(`错误代码:${resp.code},原因:${resp.msg}`)
+ alert(`错误代码:${resp.code},原因:${resp.message}`)
}
store.dispatch("closeLoad");
return Promise.reject(error);
diff --git a/Yi.Framework.Net6/Yi.Framework.sln b/Yi.Framework.Net6/Yi.Framework.sln
index a64529ea..8dfb69a5 100644
--- a/Yi.Framework.Net6/Yi.Framework.sln
+++ b/Yi.Framework.Net6/Yi.Framework.sln
@@ -95,6 +95,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
Version.cs = Version.cs
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.OperLogManager", "src\module\Yi.Framework.OperLogManager\Yi.Framework.OperLogManager.csproj", "{8A604A6B-D1FA-4CFF-BCF5-557519B10FCB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.FileManager", "src\module\Yi.Framework.FileManager\Yi.Framework.FileManager.csproj", "{1BF3115D-B027-4805-AF7B-41B3AE9CB355}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -245,6 +249,14 @@ Global
{FC559052-36EC-4379-B447-298FAD6045F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC559052-36EC-4379-B447-298FAD6045F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC559052-36EC-4379-B447-298FAD6045F4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8A604A6B-D1FA-4CFF-BCF5-557519B10FCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8A604A6B-D1FA-4CFF-BCF5-557519B10FCB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8A604A6B-D1FA-4CFF-BCF5-557519B10FCB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8A604A6B-D1FA-4CFF-BCF5-557519B10FCB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1BF3115D-B027-4805-AF7B-41B3AE9CB355}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1BF3115D-B027-4805-AF7B-41B3AE9CB355}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1BF3115D-B027-4805-AF7B-41B3AE9CB355}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1BF3115D-B027-4805-AF7B-41B3AE9CB355}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -289,6 +301,8 @@ Global
{0C031C7D-6F80-4559-977C-AC001036EC44} = {07C9E949-DB5E-4315-A497-FF73746667D8}
{60E54034-792C-4A90-BCDF-4D5FFB45089E} = {EEF5F221-0E32-4A3D-B647-B4B5E7305806}
{FC559052-36EC-4379-B447-298FAD6045F4} = {EEF5F221-0E32-4A3D-B647-B4B5E7305806}
+ {8A604A6B-D1FA-4CFF-BCF5-557519B10FCB} = {EEF5F221-0E32-4A3D-B647-B4B5E7305806}
+ {1BF3115D-B027-4805-AF7B-41B3AE9CB355} = {EEF5F221-0E32-4A3D-B647-B4B5E7305806}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6C1A3808-0F4F-43FB-A9FE-5F27A3BB2ECF}
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.AspNetCore/Extensions/HttpContextExtensions.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.AspNetCore/Extensions/HttpContextExtensions.cs
index 759555ed..b16e5509 100644
--- a/Yi.Framework.Net6/src/framework/Yi.Framework.AspNetCore/Extensions/HttpContextExtensions.cs
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.AspNetCore/Extensions/HttpContextExtensions.cs
@@ -10,6 +10,57 @@ namespace Yi.Framework.AspNetCore.Extensions
{
public static class HttpContextExtensions
{
+ ///
+ /// 设置文件下载名称
+ ///
+ ///
+ ///
+ public static void FileInlineHandle(this HttpContext httpContext, string fileName)
+ {
+ string encodeFilename = System.Web.HttpUtility.UrlEncode(fileName, Encoding.GetEncoding("UTF-8"));
+ httpContext.Response.Headers.Add("Content-Disposition", "inline;filename=" + encodeFilename);
+
+ }
+
+ ///
+ /// 设置文件附件名称
+ ///
+ ///
+ ///
+ public static void FileAttachmentHandle(this HttpContext httpContext, string fileName)
+ {
+ string encodeFilename = System.Web.HttpUtility.UrlEncode(fileName, Encoding.GetEncoding("UTF-8"));
+ httpContext.Response.Headers.Add("Content-Disposition", "attachment;filename=" + encodeFilename);
+
+ }
+
+ ///
+ /// 获取语言种类
+ ///
+ ///
+ ///
+ public static string GetLanguage(this HttpContext httpContext)
+ {
+ string res = "zh-CN";
+ var str = httpContext.Request.Headers["Accept-Language"].FirstOrDefault();
+ if (str is not null)
+ {
+ res = str.Split(",")[0];
+ }
+ return res;
+
+ }
+
+ ///
+ /// 判断是否为异步请求
+ ///
+ ///
+ ///
+ public static bool IsAjaxRequest(this HttpRequest request)
+ {
+ string header = request.Headers["X-Requested-With"];
+ return "XMLHttpRequest".Equals(header);
+ }
///
/// 获取客户端IP
///
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj b/Yi.Framework.Net6/src/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj
index 20d2b889..c37d68fb 100644
--- a/Yi.Framework.Net6/src/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj
@@ -7,10 +7,10 @@
+
-
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Const/PathConst.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Const/PathConst.cs
new file mode 100644
index 00000000..ba393ce5
--- /dev/null
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Const/PathConst.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.Framework.Core.Const
+{
+ ///
+ /// 定义公共文件常量
+ ///
+ public class PathConst
+ {
+ public const string wwwroot = "wwwroot";
+ public const string DataTemplate = "_DataTemplate";
+ public const string DataExport = "_DataExport";
+ }
+}
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Enums/FileTypeEnum.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Enums/FileTypeEnum.cs
new file mode 100644
index 00000000..1776d35f
--- /dev/null
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Enums/FileTypeEnum.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.Framework.Core.Enums
+{
+ ///
+ /// 定义公共文件路径
+ ///
+ public enum FileTypeEnum
+ {
+ File,
+ Image,
+ Thumbnail,
+ Excel,
+ Temp
+ }
+}
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Helper/MimeHelper.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Helper/MimeHelper.cs
index ca0e7c05..c0b5b611 100644
--- a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Helper/MimeHelper.cs
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Helper/MimeHelper.cs
@@ -4,241 +4,257 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Yi.Framework.Core.Enums;
namespace Yi.Framework.Core.Helper
{
- public static class MimeHelper
+ public static class MimeHelper
{
// 通过自己定义一个静态类
// 将所有的Content Type都扔进去吧
// 调用的时候直接调用静态方法即可。
-
- private static Hashtable _mimeMappingTable;
- private static void AddMimeMapping(string extension, string MimeType)
+ public static List ImageType { get; set; } = new List
+ {
+ ".jpg",".png",".jpge",".gif"
+ };
+
+ 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('\\'))
{
- MimeHelper._mimeMappingTable.Add(extension, MimeType);
+ text = (string)MimeHelper._mimeMappingTable[FileName.Substring(num)]!;
}
-
- public static string GetMimeMapping(string FileName)
+ if (text == null)
{
- 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;
+ text = (string)MimeHelper._mimeMappingTable[".*"]!;
}
+ return text;
+ }
+
+ public static FileTypeEnum GetFileType(string fileName)
+ {
+ var extension = Path.GetExtension(fileName);
+ if(ImageType.Contains(extension.ToLower()))
+ return FileTypeEnum.Image;
+ return FileTypeEnum.File;
+
+
+ }
+
+ 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");
+ }
+ }
+
- 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.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAllResultRequestDto.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAllResultRequestDto.cs
index 45384dfa..0c7a918b 100644
--- a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAllResultRequestDto.cs
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAllResultRequestDto.cs
@@ -10,7 +10,14 @@ namespace Yi.Framework.Ddd.Dtos
{
public class PagedAllResultRequestDto : PagedAndSortedResultRequestDto, IPagedAllResultRequestDto, IPagedAndSortedResultRequestDto, IPageTimeResultRequestDto
{
+ ///
+ /// 查询开始时间条件
+ ///
public DateTime? StartTime { get; set; }
+
+ ///
+ /// 查询结束时间条件
+ ///
public DateTime? EndTime { get; set; }
}
}
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAndSortedResultRequestDto.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAndSortedResultRequestDto.cs
index cde6606f..d5d114b0 100644
--- a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAndSortedResultRequestDto.cs
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAndSortedResultRequestDto.cs
@@ -9,9 +9,24 @@ namespace Yi.Framework.Ddd.Dtos
{
public class PagedAndSortedResultRequestDto : IPagedAndSortedResultRequestDto
{
+ ///
+ /// 查询当前页条件
+ ///
public int PageNum { get; set; } = 1;
+
+ ///
+ /// 查询分页大小条件
+ ///
public int PageSize { get; set; } = int.MaxValue;
+
+ ///
+ /// 查询排序字段条件
+ ///
public string? SortBy { get; set; }
+
+ ///
+ /// 查询排序类别条件
+ ///
public OrderByEnum SortType { get; set; } = OrderByEnum.Desc;
}
}
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Entities/Entity.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Entities/Entity.cs
index abf618ea..5a05f2dd 100644
--- a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Entities/Entity.cs
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Entities/Entity.cs
@@ -1,5 +1,4 @@
-using NET.AutoWebApi.Helper;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Principal;
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Services/CrudAppService.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Services/CrudAppService.cs
index e71b6b01..007fe9ab 100644
--- a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Services/CrudAppService.cs
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Services/CrudAppService.cs
@@ -122,7 +122,7 @@ namespace Yi.Framework.Ddd.Services
///
///
///
- public async Task DeleteAsync(string id)
+ public virtual async Task DeleteAsync(string id)
{
if (id is null)
{
diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/YiFrameworkSwaggerDoc.xml b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/YiFrameworkSwaggerDoc.xml
index 182fbb53..17d6484d 100644
--- a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/YiFrameworkSwaggerDoc.xml
+++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/YiFrameworkSwaggerDoc.xml
@@ -4,6 +4,36 @@
Yi.Framework.Ddd
+
+
+ 查询开始时间条件
+
+
+
+
+ 查询结束时间条件
+
+
+
+
+ 查询当前页条件
+
+
+
+
+ 查询分页大小条件
+
+
+
+
+ 查询排序字段条件
+
+
+
+
+ 查询排序类别条件
+
+
注释一下,严格意义这里应该protected,但是我认为 简易程度 与 耦合程度 中是需要进行衡量的
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileEntity.cs b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileEntity.cs
new file mode 100644
index 00000000..18c9c58f
--- /dev/null
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileEntity.cs
@@ -0,0 +1,48 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Data.Auditing;
+using Yi.Framework.Ddd.Entities;
+
+namespace Yi.Framework.FileManager
+{
+ ///
+ /// 文件表
+ ///
+ [SugarTable("File")]
+ public class FileEntity : IEntity,IAuditedObject
+ {
+ [SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
+ public long Id { get; set; }
+ ///
+ /// 文件类型
+ ///
+ [SugarColumn(ColumnName = "FileContentType")]
+ public string? FileContentType { get; set; }
+ ///
+ /// 文件大小
+ ///
+ [SugarColumn(ColumnName = "FileSize")]
+ public decimal FileSize { get; set; }
+ ///
+ /// 文件名
+ ///
+ [SugarColumn(ColumnName = "FileName")]
+ public string FileName { get; set; }
+ ///
+ /// 文件路径
+ ///
+ [SugarColumn(ColumnName = "FilePath")]
+ public string FilePath { get; set; }
+
+ public DateTime CreationTime { get; set; }
+ public long? CreatorId { get; set; }
+
+ public long? LastModifierId { get; set; }
+
+ public DateTime? LastModificationTime { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileGetListOutputDto.cs b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileGetListOutputDto.cs
new file mode 100644
index 00000000..9cc4c5e4
--- /dev/null
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileGetListOutputDto.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Ddd.Dtos;
+
+namespace Yi.Framework.FileManager
+{
+ public class FileGetListOutputDto:IEntityDto
+ {
+ public long Id { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileService.cs b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileService.cs
new file mode 100644
index 00000000..59f89626
--- /dev/null
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileService.cs
@@ -0,0 +1,158 @@
+using Cike.AutoWebApi.Setting;
+using Mapster;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.AspNetCore.Extensions;
+using Yi.Framework.Core.Const;
+using Yi.Framework.Core.Enums;
+using Yi.Framework.Core.Helper;
+using Yi.Framework.Ddd.Repositories;
+using Yi.Framework.Ddd.Services;
+using Yi.Framework.Ddd.Services.Abstract;
+using Yi.Framework.ThumbnailSharp;
+
+namespace Yi.Framework.FileManager
+{
+ ///
+ /// 文件处理
+ ///
+ public class FileService : ApplicationService, IFileService, IAutoApiService
+ {
+ private readonly IRepository _repository;
+ private readonly ThumbnailSharpManager _thumbnailSharpManager;
+ private readonly HttpContext _httpContext;
+ public FileService(IRepository repository, ThumbnailSharpManager thumbnailSharpManager, IHttpContextAccessor httpContextAccessor
+ )
+ {
+ _repository = repository;
+ _thumbnailSharpManager = thumbnailSharpManager;
+ if (httpContextAccessor.HttpContext is null)
+ {
+ throw new ApplicationException("HttpContext为空");
+ }
+ _httpContext = httpContextAccessor.HttpContext;
+ }
+
+ ///
+ /// 下载文件,是否缩略图
+ ///
+ ///
+ [Route("/api/file/{code}/{isThumbnail?}")]
+ public async Task Get([FromRoute] long code, [FromRoute] bool? isThumbnail)
+ {
+ var file = await _repository.GetByIdAsync(code);
+ if (file is null)
+ {
+ return new NotFoundResult();
+ }
+
+ var path = file.FilePath;
+ //如果为缩略图,需要修改路径
+ if (isThumbnail is true)
+ {
+ path = $"{PathConst.wwwroot}/{FileTypeEnum.Thumbnail}/{file.Id}{Path.GetExtension(file.FileName)}";
+ }
+ //路径为: 文件路径/文件id+文件扩展名
+
+ if (!File.Exists(path))
+ {
+ return new NotFoundResult();
+ }
+
+ var steam = await File.ReadAllBytesAsync(path);
+
+ //设置附件下载,下载名称
+ _httpContext.FileAttachmentHandle(file.FileName);
+ return new FileContentResult(steam, file.FileContentType ?? @"text/plain");
+ }
+
+ ///
+ /// 上传文件
+ ///
+ ///
+ public async Task> Post([FromForm] IFormFileCollection file)
+ {
+ if (file.Count() == 0)
+ {
+ throw new ArgumentException("文件上传为空!");
+ }
+ //批量插入
+ List entities = new();
+
+ foreach (var f in file)
+ {
+ FileEntity data = new();
+ data.Id = SnowflakeHelper.NextId;
+ data.FileSize = ((decimal)f.Length) / 1024;
+ data.FileName = f.FileName;
+
+
+ data.FileContentType = MimeHelper.GetMimeMapping(f.FileName);
+
+
+ var type = MimeHelper.GetFileType(f.FileName);
+
+ //落盘文件,文件名为雪花id+自己的扩展名
+ string filename = data.Id.ToString() + Path.GetExtension(f.FileName);
+ string typePath = $"{PathConst.wwwroot}/{type}";
+ if (!Directory.Exists(typePath))
+ {
+ Directory.CreateDirectory(typePath);
+ }
+
+ var filePath = Path.Combine(typePath, filename);
+ data.FilePath = filePath;
+
+
+ //生成文件
+ using (var stream = new FileStream(filePath, FileMode.CreateNew, FileAccess.ReadWrite))
+ {
+ await f.CopyToAsync(stream);
+
+ //如果是图片类型,还需要生成缩略图,当然,如果图片很小,直接复制过去即可
+ if (FileTypeEnum.Image.Equals(type))
+ {
+ string thumbnailPath = $"{PathConst.wwwroot}/{FileTypeEnum.Thumbnail}";
+ if (!Directory.Exists(thumbnailPath))
+ {
+ Directory.CreateDirectory(thumbnailPath);
+ }
+ //保存至缩略图路径
+ byte[] result = null!;
+ try
+ {
+ result = _thumbnailSharpManager.CreateThumbnailBytes(thumbnailSize: 300, imageStream: stream, imageFormat: Format.Jpeg);
+ }
+ catch
+ {
+ result = new byte[stream.Length];
+ stream.Read(result, 0, result.Length);
+ // 设置当前流的位置为流的开始
+ stream.Seek(0, SeekOrigin.Begin);
+ }
+ finally
+ {
+
+ await System.IO.File.WriteAllBytesAsync(Path.Combine(thumbnailPath, filename), result);
+ }
+ }
+
+
+ };
+ entities.Add(data);
+ }
+ await _repository.InsertRangeAsync(entities);
+ return entities.Adapt>();
+
+
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/IFileService.cs b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/IFileService.cs
new file mode 100644
index 00000000..ad47147f
--- /dev/null
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/IFileService.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.Framework.FileManager
+{
+ public interface IFileService
+ {
+ }
+}
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/Yi.Framework.FileManager.csproj b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/Yi.Framework.FileManager.csproj
new file mode 100644
index 00000000..453826c2
--- /dev/null
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/Yi.Framework.FileManager.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net6.0
+ enable
+ enable
+ True
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/YiFrameworkFileManagerModule.cs b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/YiFrameworkFileManagerModule.cs
new file mode 100644
index 00000000..34d1deb2
--- /dev/null
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/YiFrameworkFileManagerModule.cs
@@ -0,0 +1,20 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using StartupModules;
+
+namespace Yi.Framework.FileManager
+{
+ public class YiFrameworkFileManagerModule : IStartupModule
+ {
+ public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context)
+ {
+
+ }
+
+ public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
+ {
+ services.AddTransient();
+ services.AddTransient();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Logs/GlobalOperLogAttribute.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/GlobalOperLogAttribute.cs
similarity index 93%
rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Logs/GlobalOperLogAttribute.cs
rename to Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/GlobalOperLogAttribute.cs
index d7cc28a0..97ce9b78 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Logs/GlobalOperLogAttribute.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/GlobalOperLogAttribute.cs
@@ -10,11 +10,11 @@ using System.Text;
using System.Threading.Tasks;
using Yi.Framework.AspNetCore.Extensions;
using Yi.Framework.Core.CurrentUsers;
+using Yi.Framework.Core.Helper;
using Yi.Framework.Ddd.Repositories;
-using Yi.Framework.Model.RABC.Entitys;
-using Yi.RBAC.Domain.Shared.Logs;
-namespace Yi.RBAC.Domain.Logs
+
+namespace Yi.Framework.OperLogManager
{
public class GlobalOperLogAttribute : ActionFilterAttribute
{
@@ -22,11 +22,11 @@ namespace Yi.RBAC.Domain.Logs
private IRepository _repository;
private ICurrentUser _currentUser;
//注入一个日志服务
- public GlobalOperLogAttribute(ILogger logger, IRepository repository,ICurrentUser currentUser)
+ public GlobalOperLogAttribute(ILogger logger, IRepository repository, ICurrentUser currentUser)
{
_logger = logger;
_repository = repository;
- _currentUser=currentUser;
+ _currentUser = currentUser;
}
public override async void OnResultExecuted(ResultExecutedContext context)
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/IOperationLogService.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/IOperationLogService.cs
similarity index 66%
rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/IOperationLogService.cs
rename to Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/IOperationLogService.cs
index b676a4b0..ccb3019b 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/IOperationLogService.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/IOperationLogService.cs
@@ -3,15 +3,14 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using Yi.RBAC.Application.Contracts.Logs.Dtos;
using Yi.Framework.Ddd.Services.Abstract;
-namespace Yi.RBAC.Application.Contracts.Logs
+namespace Yi.Framework.OperLogManager
{
///
/// OperationLog服务抽象
///
- public interface IOperationLogService : ICrudAppService
+ public interface IOperationLogService : ICrudAppService
{
}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Logs/OperEnum.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperEnum.cs
similarity index 90%
rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Logs/OperEnum.cs
rename to Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperEnum.cs
index 188ad1e2..1c8d0a13 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Logs/OperEnum.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperEnum.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.RBAC.Domain.Shared.Logs
+namespace Yi.Framework.OperLogManager
{
public enum OperEnum
{
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Logs/OperLogAttribute.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperLogAttribute.cs
similarity index 82%
rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Logs/OperLogAttribute.cs
rename to Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperLogAttribute.cs
index 49625d7a..d9d3e4b9 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Logs/OperLogAttribute.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperLogAttribute.cs
@@ -4,10 +4,10 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.RBAC.Domain.Shared.Logs
+namespace Yi.Framework.OperLogManager
{
[AttributeUsage(AttributeTargets.Method)]
- public class OperLogAttribute : System.Attribute
+ public class OperLogAttribute : Attribute
{
///
/// 操作类型
@@ -31,8 +31,8 @@ namespace Yi.RBAC.Domain.Shared.Logs
public OperLogAttribute(string title, OperEnum operationType)
{
- this.Title = title;
- this.OperType = operationType;
+ Title = title;
+ OperType = operationType;
}
}
}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Logs/Entities/OperationLogEntity.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogEntity.cs
similarity index 92%
rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Logs/Entities/OperationLogEntity.cs
rename to Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogEntity.cs
index ba513734..4ae76ca9 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Logs/Entities/OperationLogEntity.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogEntity.cs
@@ -5,15 +5,14 @@ using System.Text.Json.Serialization;
using SqlSugar;
using Yi.Framework.Data.Auditing;
using Yi.Framework.Ddd.Entities;
-using Yi.RBAC.Domain.Shared.Logs;
-namespace Yi.Framework.Model.RABC.Entitys
+namespace Yi.Framework.OperLogManager
{
///
/// 操作日志表
///
[SugarTable("OperationLog")]
- public class OperationLogEntity : IEntity, ICreationAuditedObject
+ public class OperationLogEntity : IEntity, ICreationAuditedObject
{
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
public long Id { get; set; }
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListInputVo.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogGetListInputVo.cs
similarity index 79%
rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListInputVo.cs
rename to Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogGetListInputVo.cs
index 0275dba1..7fecb292 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListInputVo.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogGetListInputVo.cs
@@ -4,9 +4,8 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Ddd.Dtos;
-using Yi.RBAC.Domain.Shared.Logs;
-namespace Yi.RBAC.Application.Contracts.Logs.Dtos
+namespace Yi.Framework.OperLogManager
{
public class OperationLogGetListInputVo : PagedAllResultRequestDto
{
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListOutputDto.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogGetListOutputDto.cs
similarity index 89%
rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListOutputDto.cs
rename to Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogGetListOutputDto.cs
index 0f727957..11af25a2 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListOutputDto.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogGetListOutputDto.cs
@@ -4,9 +4,8 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Ddd.Dtos;
-using Yi.RBAC.Domain.Shared.Logs;
-namespace Yi.RBAC.Application.Contracts.Logs.Dtos
+namespace Yi.Framework.OperLogManager
{
public class OperationLogGetListOutputDto : IEntityDto
{
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/OperationLogService.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogService.cs
similarity index 81%
rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/OperationLogService.cs
rename to Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogService.cs
index b6e073a5..de954789 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/OperationLogService.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/OperationLogService.cs
@@ -1,21 +1,17 @@
-using Yi.RBAC.Application.Contracts.Logs;
-using NET.AutoWebApi.Setting;
-using Yi.RBAC.Application.Contracts.Logs.Dtos;
-using Yi.RBAC.Domain.Logs.Entities;
using Yi.Framework.Ddd.Services;
-using Yi.Framework.Model.RABC.Entitys;
using Yi.Framework.Ddd.Dtos;
-using SqlSugar;
-using Yi.RBAC.Application.Contracts.Logs.Dtos.LoginLog;
+using Yi.Framework.Core.Attributes;
using Microsoft.AspNetCore.Mvc;
+using SqlSugar;
+using Cike.AutoWebApi.Setting;
-namespace Yi.RBAC.Application.Logs
+namespace Yi.Framework.OperLogManager
{
///
/// OperationLog服务实现
///
- [AppService]
- public class OperationLogService : CrudAppService,
+ //[AppService]
+ public class OperationLogService : CrudAppService,
IOperationLogService, IAutoApiService
{
public override async Task> GetListAsync(OperationLogGetListInputVo input)
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/Yi.Framework.OperLogManager.csproj b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/Yi.Framework.OperLogManager.csproj
new file mode 100644
index 00000000..a77b0b8f
--- /dev/null
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/Yi.Framework.OperLogManager.csproj
@@ -0,0 +1,19 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/YiFrameworkOperLogManagerModule.cs b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/YiFrameworkOperLogManagerModule.cs
new file mode 100644
index 00000000..653d1a11
--- /dev/null
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.OperLogManager/YiFrameworkOperLogManagerModule.cs
@@ -0,0 +1,35 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using StartupModules;
+using Yi.Framework.Core;
+using Yi.Framework.Core.Attributes;
+
+namespace Yi.Framework.OperLogManager
+{
+ [DependsOn(typeof(YiFrameworkCoreModule))]
+ public class YiFrameworkOperLogManagerModule : IStartupModule
+ {
+ public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context)
+ {
+ }
+
+ public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
+ {
+
+ services.AddControllers(options =>
+ {
+ options.Filters.Add();
+ });
+ //services.AddAutoApiService(opt =>
+ //{
+ // //NETServiceTest所在程序集添加进动态api配置
+ // opt.CreateConventional(typeof(YiFrameworkOperLogManagerModule).Assembly, option => option.RootPath = string.Empty);
+
+ //});
+
+ services.AddSingleton();
+ services.AddTransient();
+ services.AddTransient();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs
index 1d6c5a27..7ec9ebe8 100644
--- a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs
@@ -20,9 +20,9 @@ TemplateFactory templateFactory = new();
//string modelName = "Dictionary";
//string nameSpaces = "Yi.RBAC";
//List entityNames = new() { "_", "_" };
-string modelName = "Logs";
+string modelName = "Setting";
string nameSpaces = "Yi.RBAC";
-List entityNames = new() { "_" };
+List entityNames = new() { "File" };
foreach (var entityName in entityNames)
diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ServiceTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ServiceTemplate.txt
index e058e170..9daff1d8 100644
--- a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ServiceTemplate.txt
+++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ServiceTemplate.txt
@@ -1,5 +1,5 @@
using #NameSpaces#.Application.Contracts.#ModelName#;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using #NameSpaces#.Application.Contracts.#ModelName#.Dtos;
using #NameSpaces#.Domain.#ModelName#.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/ApplicationSwaggerDoc.xml b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/ApplicationSwaggerDoc.xml
index 9dc71566..00dc323b 100644
--- a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/ApplicationSwaggerDoc.xml
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Application/ApplicationSwaggerDoc.xml
@@ -120,25 +120,6 @@
临时服务,之后用其他模块代替
-
-
- 登录
-
-
-
-
-
-
- 判断是否有登录
-
-
-
-
-
- 退出登录
-
-
-
获取用户信息
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/YiBBSWebModule.cs b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/YiBBSWebModule.cs
index 9a9129cb..93d27737 100644
--- a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/YiBBSWebModule.cs
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/YiBBSWebModule.cs
@@ -10,6 +10,7 @@ using Yi.Framework.Core.Autofac;
using Yi.RBAC.Application;
using Yi.Framework.AspNetCore;
using Yi.Framework.Data.Json;
+using Yi.Framework.OperLogManager;
namespace Yi.BBS.Web
{
@@ -31,7 +32,6 @@ namespace Yi.BBS.Web
{
//NETServiceTest所在程序集添加进动态api配置
opt.CreateConventional(typeof(YiBBSApplicationModule).Assembly, option => option.RootPath = string.Empty);
- //opt.CreateConventional(typeof(YiRBACApplicationModule).Assembly, option => option.RootPath = string.Empty);
});
//添加swagger
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/appsettings.json b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/appsettings.json
index bf88b491..1d927cdf 100644
--- a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/appsettings.json
+++ b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/appsettings.json
@@ -16,7 +16,7 @@
"DbConnOptions": {
"Url": "DataSource=yi-sqlsugar-dev.db",
"DbType": "Sqlite",
- "EnabledDbSeed": false,
+ "EnabledDbSeed": true,
"EnabledReadWrite": false,
"EnabledCodeFirst": true,
"EntityAssembly": null,
diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/yi-sqlsugar-dev.db b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/yi-sqlsugar-dev.db
index 4bc8b298..1516839b 100644
Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/yi-sqlsugar-dev.db and b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/yi-sqlsugar-dev.db differ
diff --git a/Yi.Framework.Net6/src/project/Template/Yi.Template.Application/School/StudentService.cs b/Yi.Framework.Net6/src/project/Template/Yi.Template.Application/School/StudentService.cs
index 1d851255..cd961206 100644
--- a/Yi.Framework.Net6/src/project/Template/Yi.Template.Application/School/StudentService.cs
+++ b/Yi.Framework.Net6/src/project/Template/Yi.Template.Application/School/StudentService.cs
@@ -1,5 +1,5 @@
using Yi.Template.Application.Contracts.School;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.Template.Application.Contracts.School.Dtos;
using Yi.Template.Domain.School.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/ApplicationSwaggerDoc.xml b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/ApplicationSwaggerDoc.xml
index 9dc71566..00dc323b 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/ApplicationSwaggerDoc.xml
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/ApplicationSwaggerDoc.xml
@@ -120,25 +120,6 @@
临时服务,之后用其他模块代替
-
-
- 登录
-
-
-
-
-
-
- 判断是否有登录
-
-
-
-
-
- 退出登录
-
-
-
获取用户信息
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Exhibition/BannerService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Exhibition/BannerService.cs
index db630b4e..94b25c30 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Exhibition/BannerService.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Exhibition/BannerService.cs
@@ -1,5 +1,5 @@
using Yi.BBS.Application.Contracts.Exhibition;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.BBS.Application.Contracts.Exhibition.Dtos;
using Yi.BBS.Domain.Exhibition.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/ArticleService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/ArticleService.cs
index 200ef445..12eb207a 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/ArticleService.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/ArticleService.cs
@@ -1,5 +1,5 @@
using Yi.BBS.Application.Contracts.Forum;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.BBS.Application.Contracts.Forum.Dtos;
using Yi.BBS.Domain.Forum.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/CommentService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/CommentService.cs
index 9f12340c..46fc1955 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/CommentService.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/CommentService.cs
@@ -1,5 +1,5 @@
using Yi.BBS.Application.Contracts.Forum;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.BBS.Application.Contracts.Forum.Dtos;
using Yi.BBS.Domain.Forum.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/DiscussService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/DiscussService.cs
index a92e459a..317af4f7 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/DiscussService.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/DiscussService.cs
@@ -1,5 +1,5 @@
using Yi.BBS.Application.Contracts.Forum;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.BBS.Application.Contracts.Forum.Dtos;
using Yi.BBS.Domain.Forum.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/MyTypeService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/MyTypeService.cs
index 903e92c2..ac557727 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/MyTypeService.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/MyTypeService.cs
@@ -1,5 +1,5 @@
using Yi.BBS.Application.Contracts.Forum;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.BBS.Application.Contracts.Forum.Dtos;
using Yi.BBS.Domain.Forum.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/PlateService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/PlateService.cs
index 9d062aee..43a67b8a 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/PlateService.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/Forum/PlateService.cs
@@ -1,5 +1,5 @@
using Yi.BBS.Application.Contracts.Forum;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.BBS.Application.Contracts.Forum.Dtos;
using Yi.BBS.Domain.Forum.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/GlobalSetting/SettingService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/GlobalSetting/SettingService.cs
index 598cffde..0e759e92 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/GlobalSetting/SettingService.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/GlobalSetting/SettingService.cs
@@ -1,5 +1,5 @@
using Yi.BBS.Application.Contracts.GlobalSetting;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.BBS.Domain.GlobalSetting.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/GlobalSetting/TempService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/GlobalSetting/TempService.cs
index 48815354..e2e04b84 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/GlobalSetting/TempService.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Application/GlobalSetting/TempService.cs
@@ -1,5 +1,5 @@
using Yi.BBS.Application.Contracts.GlobalSetting;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.BBS.Domain.GlobalSetting.Entities;
using Yi.Framework.Ddd.Services;
using Microsoft.AspNetCore.Mvc;
@@ -14,43 +14,43 @@ namespace Yi.BBS.Application.GlobalSetting
[AppService]
public class TempService : ApplicationService, IAutoApiService
{
- ///
- /// 登录
- ///
- ///
- ///
- [Route("/api/account/login")]
- public Task PostLoginAsync()
- {
- bool loginSucces = true;
- if (!loginSucces)
- {
- throw new UserFriendlyException("登录失败", (int)BbsHttpStatusEnum.LoginFailed, "用户或者密码错误");
- }
- var dto = new LoginDto("token");
- dto.User = new LoginUserInfoDto { Icon = "", Id = 0, Level = 1, UserName = "橙子" };
- return Task.FromResult(dto);
- }
+ /////
+ ///// 登录
+ /////
+ /////
+ /////
+ //[Route("/api/account/login")]
+ //public Task PostLoginAsync()
+ //{
+ // bool loginSucces = true;
+ // if (!loginSucces)
+ // {
+ // throw new UserFriendlyException("登录失败", (int)BbsHttpStatusEnum.LoginFailed, "用户或者密码错误");
+ // }
+ // var dto = new LoginDto("token");
+ // dto.User = new LoginUserInfoDto { Icon = "", Id = 0, Level = 1, UserName = "橙子" };
+ // return Task.FromResult(dto);
+ //}
- ///
- /// 判断是否有登录
- ///
- ///
- [Route("/api/account/logged")]
- public Task PostLogged()
- {
- return Task.FromResult(true);
- }
+ /////
+ ///// 判断是否有登录
+ /////
+ /////
+ //[Route("/api/account/logged")]
+ //public Task PostLogged()
+ //{
+ // return Task.FromResult(true);
+ //}
- ///
- /// 退出登录
- ///
- ///
- [Route("/api/account/logout")]
- public Task PostlogOut()
- {
- return Task.CompletedTask;
- }
+ /////
+ ///// 退出登录
+ /////
+ /////
+ //[Route("/api/account/logout")]
+ //public Task PostlogOut()
+ //{
+ // return Task.CompletedTask;
+ //}
///
/// 获取用户信息
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/YiBBSWebModule.cs b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/YiBBSWebModule.cs
index 9a9129cb..93d27737 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/YiBBSWebModule.cs
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/YiBBSWebModule.cs
@@ -10,6 +10,7 @@ using Yi.Framework.Core.Autofac;
using Yi.RBAC.Application;
using Yi.Framework.AspNetCore;
using Yi.Framework.Data.Json;
+using Yi.Framework.OperLogManager;
namespace Yi.BBS.Web
{
@@ -31,7 +32,6 @@ namespace Yi.BBS.Web
{
//NETServiceTest所在程序集添加进动态api配置
opt.CreateConventional(typeof(YiBBSApplicationModule).Assembly, option => option.RootPath = string.Empty);
- //opt.CreateConventional(typeof(YiRBACApplicationModule).Assembly, option => option.RootPath = string.Empty);
});
//添加swagger
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/appsettings.json b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/appsettings.json
index bf88b491..1d927cdf 100644
--- a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/appsettings.json
+++ b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/appsettings.json
@@ -16,7 +16,7 @@
"DbConnOptions": {
"Url": "DataSource=yi-sqlsugar-dev.db",
"DbType": "Sqlite",
- "EnabledDbSeed": false,
+ "EnabledDbSeed": true,
"EnabledReadWrite": false,
"EnabledCodeFirst": true,
"EntityAssembly": null,
diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/yi-sqlsugar-dev.db b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/yi-sqlsugar-dev.db
index 4bc8b298..1516839b 100644
Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/yi-sqlsugar-dev.db and b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/yi-sqlsugar-dev.db differ
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/ApplicationContractsSwaggerDoc.xml b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/ApplicationContractsSwaggerDoc.xml
index e4d97274..cf583a46 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/ApplicationContractsSwaggerDoc.xml
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/ApplicationContractsSwaggerDoc.xml
@@ -94,16 +94,61 @@
登录信息
-
-
- OperationLog服务抽象
-
-
Config输入创建对象
+
+
+ 配置查询参数
+
+
+
+
+ 配置名称
+
+
+
+
+ 配置键
+
+
+
+
+ 配置名称
+
+
+
+
+ 配置主键
+
+
+
+
+ 配置值
+
+
+
+
+ 配置类型
+
+
+
+
+ 排序字段
+
+
+
+
+ 备注
+
+
+
+
+ 创建时间
+
+
Config服务抽象
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Account/UpdateIconDto.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Account/UpdateIconDto.cs
new file mode 100644
index 00000000..c0e0e2a3
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Account/UpdateIconDto.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.RBAC.Application.Contracts.Identity.Dtos.Account
+{
+ public class UpdateIconDto
+ {
+ public string? Icon { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/ProfileUpdateInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/ProfileUpdateInputVo.cs
new file mode 100644
index 00000000..8a3b77d4
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/ProfileUpdateInputVo.cs
@@ -0,0 +1,23 @@
+using Mapster;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.RBAC.Domain.Shared.Identity.EnumClasses;
+
+namespace Yi.RBAC.Application.Contracts.Identity.Dtos.User
+{
+ public class ProfileUpdateInputVo
+ {
+ public string? Name { get; set; }
+ public int? Age { get; set; }
+ public string? Nick { get; set; }
+ public string? Email { get; set; }
+ public string? Address { get; set; }
+ public long? Phone { get; set; }
+ public string? Introduction { get; set; }
+ public string? Remark { get; set; }
+ public SexEnum? Sex { get; set; }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListInputVo.cs
index 4d1c0a30..1782cec4 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListInputVo.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListInputVo.cs
@@ -7,10 +7,20 @@ using Yi.Framework.Ddd.Dtos;
namespace Yi.RBAC.Application.Contracts.Setting.Dtos
{
+ ///
+ /// òѯ
+ ///
public class ConfigGetListInputVo : PagedAllResultRequestDto
{
+ ///
+ ///
+ ///
public string? ConfigName { get; set; }
+
+ ///
+ /// ü
+ ///
public string? ConfigKey { get; set; }
- public DateTime CreationTime { get; set; }
+
}
}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListOutputDto.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListOutputDto.cs
index 73819616..1b1da511 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListOutputDto.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListOutputDto.cs
@@ -10,12 +10,36 @@ namespace Yi.RBAC.Application.Contracts.Setting.Dtos
public class ConfigGetListOutputDto : IEntityDto
{
public long Id { get; set; }
+ ///
+ ///
+ ///
public string ConfigName { get; set; } = string.Empty;
+
+ ///
+ ///
+ ///
public string ConfigKey { get; set; } = string.Empty;
+ ///
+ /// ֵ
+ ///
public string ConfigValue { get; set; } = string.Empty;
+ ///
+ ///
+ ///
public string? ConfigType { get; set; }
+ ///
+ /// ֶ
+ ///
public int OrderNum { get; set; }
+
+ ///
+ /// ע
+ ///
public string? Remark { get; set; }
+
+ ///
+ /// ʱ
+ ///
public DateTime CreationTime { get; set; }
}
}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/ApplicationSwaggerDoc.xml b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/ApplicationSwaggerDoc.xml
index 75e1f5ac..8ef4cb44 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/ApplicationSwaggerDoc.xml
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/ApplicationSwaggerDoc.xml
@@ -73,6 +73,13 @@
+
+
+ 更新头像
+
+
+
+
Dept服务实现
@@ -171,6 +178,13 @@
+
+
+ 更新个人中心
+
+
+
+
更新状态
@@ -179,15 +193,17 @@
-
-
- OperationLog服务实现
-
-
Config服务实现
+
+
+ 多查
+
+
+
+
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryService.cs
index 419a4448..5dfd2e6c 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryService.cs
@@ -1,5 +1,5 @@
using Yi.RBAC.Application.Contracts.Dictionary;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Dictionary.Dtos;
using Yi.RBAC.Domain.Dictionary.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryTypeService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryTypeService.cs
index f1d7af3d..16071eb1 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryTypeService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryTypeService.cs
@@ -1,5 +1,5 @@
using Yi.RBAC.Application.Contracts.Dictionary;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Dictionary.Dtos;
using Yi.RBAC.Domain.Dictionary.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs
index e0ea1e91..8d08f302 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs
@@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -28,6 +28,7 @@ using Yi.RBAC.Domain.Identity.Repositories;
using Yi.RBAC.Domain.Shared.Identity.ConstClasses;
using Yi.RBAC.Domain.Shared.Identity.Dtos;
using Yi.RBAC.Domain.Shared.Identity.Etos;
+using System.Net.WebSockets;
namespace Yi.RBAC.Application.Identity
{
@@ -188,5 +189,19 @@ namespace Yi.RBAC.Application.Identity
await _accountManager.RestPasswordAsync(userId, input.Password);
return true;
}
+
+ ///
+ /// 更新头像
+ ///
+ ///
+ ///
+ public async Task UpdateIconAsync(UpdateIconDto input)
+ {
+ var entity = await _userRepository.GetByIdAsync(_currentUser.Id);
+ entity.Icon = input.Icon;
+ await _userRepository.UpdateAsync(entity);
+
+ return true;
+ }
}
}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/DeptService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/DeptService.cs
index 624a2110..0d032dad 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/DeptService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/DeptService.cs
@@ -1,11 +1,12 @@
using Yi.RBAC.Application.Contracts.Identity;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Identity.Dtos;
using Yi.RBAC.Domain.Identity.Entities;
using Yi.Framework.Ddd.Services;
using Yi.Framework.Ddd.Dtos;
using SqlSugar;
using Microsoft.AspNetCore.Mvc;
+using Cike.AutoWebApi.Setting;
namespace Yi.RBAC.Application.Identity
{
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MenuService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MenuService.cs
index 1fa8d6ab..036a0a0e 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MenuService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MenuService.cs
@@ -1,5 +1,5 @@
using Yi.RBAC.Application.Contracts.Identity;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Identity.Dtos;
using Yi.RBAC.Domain.Identity.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/PostService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/PostService.cs
index f2ce0baa..ab2eaccc 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/PostService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/PostService.cs
@@ -1,5 +1,5 @@
using Yi.RBAC.Application.Contracts.Identity;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Identity.Dtos;
using Yi.RBAC.Domain.Identity.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs
index a9af44dc..ddc08fd7 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs
@@ -1,5 +1,5 @@
using Yi.RBAC.Application.Contracts.Identity;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Identity.Dtos;
using Yi.RBAC.Domain.Identity.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs
index fff06ecc..91911800 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs
@@ -1,5 +1,5 @@
using Yi.RBAC.Application.Contracts.Identity;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Identity.Dtos;
using Yi.RBAC.Domain.Identity.Entities;
using Yi.Framework.Ddd.Services;
@@ -12,7 +12,9 @@ using SqlSugar;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using Yi.Framework.Auth.JwtBearer.Authorization;
-using Yi.RBAC.Domain.Shared.Logs;
+using Yi.RBAC.Application.Contracts.Identity.Dtos.User;
+using Yi.Framework.Core.CurrentUsers;
+using Yi.Framework.OperLogManager;
namespace Yi.RBAC.Application.Identity
{
@@ -32,6 +34,9 @@ namespace Yi.RBAC.Application.Identity
[Autowired]
private IUserRepository _userRepository { get; set; }
+ [Autowired]
+ private ICurrentUser _currentUser { get; set; }
+
///
/// 查询用户
///
@@ -138,6 +143,21 @@ namespace Yi.RBAC.Application.Identity
return await MapToGetOutputDtoAsync(entity);
}
+ ///
+ /// 更新个人中心
+ ///
+ ///
+ ///
+ [OperLog("更新个人信息", OperEnum.Update)]
+ public async Task UpdateProfileAsync(ProfileUpdateInputVo input)
+ {
+ var entity = await _repository.GetByIdAsync(_currentUser.Id);
+ _mapper.Map(input, entity);
+ await _repository.UpdateAsync(entity);
+ var dto = _mapper.Map(entity);
+ return dto;
+ }
+
///
/// 更新状态
///
@@ -158,5 +178,10 @@ namespace Yi.RBAC.Application.Identity
await _repository.UpdateAsync(entity);
return await MapToGetOutputDtoAsync(entity);
}
+ [OperLog("删除用户", OperEnum.Delete)]
+ public override Task DeleteAsync(string id)
+ {
+ return base.DeleteAsync(id);
+ }
}
}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/LoginLogService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/LoginLogService.cs
index a0a34d8f..52ba4d68 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/LoginLogService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/LoginLogService.cs
@@ -1,5 +1,5 @@
using Microsoft.AspNetCore.Mvc;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using SqlSugar;
using System;
using System.Collections.Generic;
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Setting/ConfigService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Setting/ConfigService.cs
index 3cf4e1f8..aab40d6f 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Setting/ConfigService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Setting/ConfigService.cs
@@ -1,5 +1,5 @@
using Yi.RBAC.Application.Contracts.Setting;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Setting.Dtos;
using Yi.RBAC.Domain.Setting.Entities;
using Yi.Framework.Ddd.Services;
@@ -19,6 +19,11 @@ namespace Yi.RBAC.Application.Setting
public class ConfigService : CrudAppService,
IConfigService, IAutoApiService
{
+ ///
+ /// 多查
+ ///
+ ///
+ ///
public override async Task> GetListAsync(ConfigGetListInputVo input)
{
var entity = await MapToEntityAsync(input);
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/TestService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/TestService.cs
index 5eff6736..5cf13672 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/TestService.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/TestService.cs
@@ -1,4 +1,4 @@
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/UserDataSeed.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/UserDataSeed.cs
new file mode 100644
index 00000000..b16193da
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/UserDataSeed.cs
@@ -0,0 +1,68 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yi.Framework.Data.DataSeeds;
+using Yi.Framework.Ddd.Repositories;
+using Yi.RBAC.Domain.Identity.Entities;
+using Yi.RBAC.Domain.Shared.Identity.EnumClasses;
+
+namespace Yi.RBAC.Domain.DataSeeds
+{
+ [AppService(typeof(IDataSeed))]
+ public class UserDataSeed : AbstractDataSeed
+ {
+ public UserDataSeed(IRepository repository) : base(repository)
+ {
+ }
+
+ public override List GetSeedData()
+ {
+ var entities=new List();
+ UserEntity user1 = new UserEntity()
+ {
+ Id = SnowFlakeSingle.Instance.NextId(),
+ Name = "大橙子",
+ UserName = "cc",
+ Nick = "橙子",
+ Password = "123456",
+ Email = "454313500@qq.com",
+ Phone = 13800000000,
+ Sex = SexEnum.Male,
+ Address = "深圳",
+ Age = 20,
+ Introduction = "还有谁?",
+ OrderNum = 999,
+ Remark = "描述是什么呢?",
+ State = true
+ };
+ user1.BuildPassword();
+ entities.Add(user1);
+
+ UserEntity user2 = new UserEntity()
+ {
+ Id = SnowFlakeSingle.Instance.NextId(),
+ Name = "大测试",
+ UserName = "test",
+ Nick = "测试",
+ Password = "123456",
+ Email = "454313500@qq.com",
+ Phone = 15900000000,
+ Sex = SexEnum.Woman,
+ Address = "深圳",
+ Age = 18,
+ Introduction = "还有我!",
+ OrderNum = 1,
+ Remark = "我没有描述!",
+ State = true
+
+ };
+ user2.BuildPassword();
+ entities.Add(user2);
+
+ return entities;
+ }
+ }
+}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DomainSwaggerDoc.xml b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DomainSwaggerDoc.xml
index e60d99a5..d7fd7578 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DomainSwaggerDoc.xml
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DomainSwaggerDoc.xml
@@ -790,55 +790,5 @@
描述
-
-
- 操作日志表
-
-
-
-
- 操作模块
-
-
-
-
- 操作类型
-
-
-
-
- 请求方法
-
-
-
-
- 操作人员
-
-
-
-
- 操作Ip
-
-
-
-
- 操作地点
-
-
-
-
- 操作方法
-
-
-
-
- 请求参数
-
-
-
-
- 请求结果
-
-
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Yi.RBAC.Domain.csproj b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Yi.RBAC.Domain.csproj
index d8fd344f..5aad5dba 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Yi.RBAC.Domain.csproj
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Yi.RBAC.Domain.csproj
@@ -12,12 +12,13 @@
-
+
+
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/YiRBACDomainModule.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/YiRBACDomainModule.cs
index 5a2e9966..0c06234c 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/YiRBACDomainModule.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/YiRBACDomainModule.cs
@@ -10,6 +10,8 @@ using System.Threading.Tasks;
using Yi.Framework.Core.Attributes;
using Yi.Framework.Data;
using Yi.Framework.EventBus;
+using Yi.Framework.FileManager;
+using Yi.Framework.OperLogManager;
using Yi.Framework.ThumbnailSharp;
using Yi.RBAC.Domain.Logs;
using Yi.RBAC.Domain.Shared;
@@ -20,7 +22,9 @@ namespace Yi.RBAC.Domain
typeof(YiRBACDomainSharedModule),
typeof(YiFrameworkDataModule),
typeof(YiFrameworkThumbnailSharpModule),
- typeof(YiFrameworkEventBusModule)
+ typeof(YiFrameworkEventBusModule),
+ typeof(YiFrameworkOperLogManagerModule),
+ typeof(YiFrameworkFileManagerModule)
)]
public class YiRBACDomainModule : IStartupModule
{
@@ -31,10 +35,7 @@ namespace Yi.RBAC.Domain
public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
{
services.AddHeiCaptcha();
- services.AddControllers(options => {
- options.Filters.Add();
- });
- services.AddSingleton();
+
}
}
}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/YiRBACWebModule.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/YiRBACWebModule.cs
index de6f4604..6db43adc 100644
--- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/YiRBACWebModule.cs
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/YiRBACWebModule.cs
@@ -7,6 +7,7 @@ using Yi.Framework.Core;
using Yi.Framework.Core.Attributes;
using Yi.Framework.Core.Autofac;
using Yi.Framework.Data.Json;
+using Yi.Framework.OperLogManager;
using Yi.RBAC.Application;
using Yi.RBAC.Sqlsugar;
@@ -28,12 +29,16 @@ namespace Yi.RBAC.Web
opt.JsonSerializerOptions.Converters.Add(new DateTimeJsonConverter("yyyy-MM-dd HH:mm:ss"));
});
+
+
+
services.AddAutoApiService(opt =>
{
- //NETServiceTest所在程序集添加进动态api配置
- opt.CreateConventional(typeof(YiRBACApplicationModule).Assembly, option => option.RootPath = string.Empty);
+ opt.CreateConventional(AssemblyHelper.GetAllLoadAssembly(), option => option.RootPath = string.Empty);
+
});
+
//添加swagger
services.AddSwaggerServer();
}
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628277864304640.txt b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628277864304640.txt
new file mode 100644
index 00000000..119417d4
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628277864304640.txt
@@ -0,0 +1,28 @@
+3-5
+一周一次
+
+实现涂膜功能
+1:数据存储,Crud
+2:后台线程,任务调度
+3:plc通信交互,IM工厂
+4:定时任务界面管控
+5:signlr开发
+6:授权鉴权
+7:用户角色菜单模块
+8:配置文件统一标准化
+9:规范问题
+10:动态api
+11:发布订阅
+12:resful
+13:dto注释
+14:代码中文
+15:种子数据
+
+1:job任务调度的模式,可以在if上的改
+2:Crud,EntityServiceBase,考虑复用的话sqlsugar这块就不用动了、仓储、工作单元、过滤器
+3:IOptionsWritable ,直接可以复用
+4:事件,是否需要,需要的话,用哪个
+5:动态api,是否需要
+6:IM,IVarReader中的IDataChannel工厂
+6:ISignal
+7:微软日志扩展,这块是否考虑封装出来,还是直接提供微软日志的扩展,我们提供模板就可以了
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628396160454656.txt b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628396160454656.txt
new file mode 100644
index 00000000..119417d4
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628396160454656.txt
@@ -0,0 +1,28 @@
+3-5
+一周一次
+
+实现涂膜功能
+1:数据存储,Crud
+2:后台线程,任务调度
+3:plc通信交互,IM工厂
+4:定时任务界面管控
+5:signlr开发
+6:授权鉴权
+7:用户角色菜单模块
+8:配置文件统一标准化
+9:规范问题
+10:动态api
+11:发布订阅
+12:resful
+13:dto注释
+14:代码中文
+15:种子数据
+
+1:job任务调度的模式,可以在if上的改
+2:Crud,EntityServiceBase,考虑复用的话sqlsugar这块就不用动了、仓储、工作单元、过滤器
+3:IOptionsWritable ,直接可以复用
+4:事件,是否需要,需要的话,用哪个
+5:动态api,是否需要
+6:IM,IVarReader中的IDataChannel工厂
+6:ISignal
+7:微软日志扩展,这块是否考虑封装出来,还是直接提供微软日志的扩展,我们提供模板就可以了
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628415508779008.txt b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628415508779008.txt
new file mode 100644
index 00000000..119417d4
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628628415508779008.txt
@@ -0,0 +1,28 @@
+3-5
+一周一次
+
+实现涂膜功能
+1:数据存储,Crud
+2:后台线程,任务调度
+3:plc通信交互,IM工厂
+4:定时任务界面管控
+5:signlr开发
+6:授权鉴权
+7:用户角色菜单模块
+8:配置文件统一标准化
+9:规范问题
+10:动态api
+11:发布订阅
+12:resful
+13:dto注释
+14:代码中文
+15:种子数据
+
+1:job任务调度的模式,可以在if上的改
+2:Crud,EntityServiceBase,考虑复用的话sqlsugar这块就不用动了、仓储、工作单元、过滤器
+3:IOptionsWritable ,直接可以复用
+4:事件,是否需要,需要的话,用哪个
+5:动态api,是否需要
+6:IM,IVarReader中的IDataChannel工厂
+6:ISignal
+7:微软日志扩展,这块是否考虑封装出来,还是直接提供微软日志的扩展,我们提供模板就可以了
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628636925021786112.txt b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628636925021786112.txt
new file mode 100644
index 00000000..119417d4
--- /dev/null
+++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628636925021786112.txt
@@ -0,0 +1,28 @@
+3-5
+一周一次
+
+实现涂膜功能
+1:数据存储,Crud
+2:后台线程,任务调度
+3:plc通信交互,IM工厂
+4:定时任务界面管控
+5:signlr开发
+6:授权鉴权
+7:用户角色菜单模块
+8:配置文件统一标准化
+9:规范问题
+10:动态api
+11:发布订阅
+12:resful
+13:dto注释
+14:代码中文
+15:种子数据
+
+1:job任务调度的模式,可以在if上的改
+2:Crud,EntityServiceBase,考虑复用的话sqlsugar这块就不用动了、仓储、工作单元、过滤器
+3:IOptionsWritable ,直接可以复用
+4:事件,是否需要,需要的话,用哪个
+5:动态api,是否需要
+6:IM,IVarReader中的IDataChannel工厂
+6:ISignal
+7:微软日志扩展,这块是否考虑封装出来,还是直接提供微软日志的扩展,我们提供模板就可以了
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628642335514562560 b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628642335514562560
new file mode 100644
index 00000000..2d3f458d
Binary files /dev/null and b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628642335514562560 differ
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628645021437792256 b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628645021437792256
new file mode 100644
index 00000000..d66859d7
Binary files /dev/null and b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/File/1628645021437792256 differ
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Image/1628639014875697152.jpg b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Image/1628639014875697152.jpg
new file mode 100644
index 00000000..57c1f446
Binary files /dev/null and b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Image/1628639014875697152.jpg differ
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Image/1628639326948691968.jpg b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Image/1628639326948691968.jpg
new file mode 100644
index 00000000..57c1f446
Binary files /dev/null and b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Image/1628639326948691968.jpg differ
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Thumbnail/1628639326948691968.jpg b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Thumbnail/1628639326948691968.jpg
new file mode 100644
index 00000000..446af2c8
Binary files /dev/null and b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/wwwroot/Thumbnail/1628639326948691968.jpg differ
diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db
index de82930b..7071674f 100644
Binary files a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db and b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db differ
diff --git a/Yi.Framework.Net6/src/project/template/Yi.Template.Application/School/StudentService.cs b/Yi.Framework.Net6/src/project/template/Yi.Template.Application/School/StudentService.cs
index 1d851255..cd961206 100644
--- a/Yi.Framework.Net6/src/project/template/Yi.Template.Application/School/StudentService.cs
+++ b/Yi.Framework.Net6/src/project/template/Yi.Template.Application/School/StudentService.cs
@@ -1,5 +1,5 @@
using Yi.Template.Application.Contracts.School;
-using NET.AutoWebApi.Setting;
+using Cike.AutoWebApi.Setting;
using Yi.Template.Application.Contracts.School.Dtos;
using Yi.Template.Domain.School.Entities;
using Yi.Framework.Ddd.Services;
diff --git a/Yi.RuoYi.Vue3/src/api/file.js b/Yi.RuoYi.Vue3/src/api/file.js
index 2dc681e9..d80d58e6 100644
--- a/Yi.RuoYi.Vue3/src/api/file.js
+++ b/Yi.RuoYi.Vue3/src/api/file.js
@@ -1,9 +1,9 @@
import request from '@/utils/request'
export function
- upload(type,data){
+ upload(data){
return request({
- url: `/file/upload/${type}`,
+ url: `/file`,
headers:{"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"},
method: 'POST',
data:data
diff --git a/Yi.RuoYi.Vue3/src/api/system/user.js b/Yi.RuoYi.Vue3/src/api/system/user.js
index bf3f580e..8302e52b 100644
--- a/Yi.RuoYi.Vue3/src/api/system/user.js
+++ b/Yi.RuoYi.Vue3/src/api/system/user.js
@@ -69,7 +69,7 @@ export function changeUserStatus(userId, isDel) {
// 查询用户个人信息
export function getUserProfile() {
return request({
- url: '/account/getUserAllInfo',
+ url: '/account',
method: 'get'
})
}
@@ -77,11 +77,20 @@ export function getUserProfile() {
// 修改用户个人信息
export function updateUserProfile(data) {
return request({
- url: '/user/UpdateProfile',
+ url: `/user/profile`,
method: 'put',
- data: { user: data }
+ data: data
})
}
+// 只修改用户头像
+export function updateUserIcon(data) {
+ return request({
+ url: `/account/icon`,
+ method: 'put',
+ data:{icon:data}
+ })
+}
+
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
diff --git a/Yi.RuoYi.Vue3/src/utils/request.js b/Yi.RuoYi.Vue3/src/utils/request.js
index 7903a0a4..29dfbe0b 100644
--- a/Yi.RuoYi.Vue3/src/utils/request.js
+++ b/Yi.RuoYi.Vue3/src/utils/request.js
@@ -74,14 +74,11 @@ service.interceptors.request.use(config => {
// 响应拦截器
service.interceptors.response.use(res => {
- // // 未设置状态码则默认成功状态
- // const code = res.data.code || 200;
- // // 获取错误信息
- // const msg = errorCode[code] || res.data.message || errorCode['default']
-
- const code=200;
- const msg="成功";
-
+ // 未设置状态码则默认成功状态
+ const code = res.data.code || 200;
+ // 获取错误信息
+ const msg = errorCode[code] || res.data.message || errorCode['default']
+
// 二进制数据则直接返回
if(res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer'){
return res
diff --git a/Yi.RuoYi.Vue3/src/views/monitor/operlog/index.vue b/Yi.RuoYi.Vue3/src/views/monitor/operlog/index.vue
index 4e152056..915dd42b 100644
--- a/Yi.RuoYi.Vue3/src/views/monitor/operlog/index.vue
+++ b/Yi.RuoYi.Vue3/src/views/monitor/operlog/index.vue
@@ -34,8 +34,8 @@
/>
-
-
+
+
@@ -100,9 +100,9 @@
-
+
-
+
@@ -163,7 +163,7 @@
{{ parseTime(form.createTime) }}
- {{ form.errorMsg }}
+ {{ form.errorMsg }}
@@ -202,7 +202,7 @@ const data = reactive({
title: undefined,
operUser: undefined,
operType: undefined,
- isDeleted: undefined
+ state: undefined
}
});
diff --git a/Yi.RuoYi.Vue3/src/views/system/user/profile/userAvatar.vue b/Yi.RuoYi.Vue3/src/views/system/user/profile/userAvatar.vue
index 7f1c4834..71b1a787 100644
--- a/Yi.RuoYi.Vue3/src/views/system/user/profile/userAvatar.vue
+++ b/Yi.RuoYi.Vue3/src/views/system/user/profile/userAvatar.vue
@@ -54,7 +54,7 @@
import "vue-cropper/dist/index.css";
import { VueCropper } from "vue-cropper";
import { upload } from "@/api/file";
-import { updateUserProfile } from "@/api/system/user";
+import { updateUserIcon } from "@/api/system/user";
import useUserStore from '@/store/modules/user'
const userStore = useUserStore()
@@ -116,14 +116,11 @@ function uploadImg() {
proxy.$refs.cropper.getCropBlob(data => {
let formData = new FormData();
formData.append("file", data);
- upload("image",formData).then(response => {
+ upload(formData).then(response => {
open.value = false;
- options.img = import.meta.env.VITE_APP_BASE_API +"/file/"+response.data[0];
+ options.img = import.meta.env.VITE_APP_BASE_API +"/file/"+response.data[0].id;
userStore.avatar = options.img;
-
-
-
- updateUserProfile({icon:response.data[0]}).then(response2=>{
+ updateUserIcon(response.data[0].id).then(response2=>{
proxy.$modal.msgSuccess("修改成功");
visible.value = false;
})