Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
661640d441 |
@ -1 +0,0 @@
|
|||||||
drone workflows
|
|
6
.gitmodules
vendored
@ -4,6 +4,6 @@
|
|||||||
[submodule "refs/ns-ext"]
|
[submodule "refs/ns-ext"]
|
||||||
path = refs/ns-ext
|
path = refs/ns-ext
|
||||||
url = https://github.com/nsnail/ns-ext.git
|
url = https://github.com/nsnail/ns-ext.git
|
||||||
[submodule "refs/NetAdmin.FreeSql"]
|
[submodule "refs/FreeSql"]
|
||||||
path = refs/NetAdmin.FreeSql
|
path = refs/FreeSql
|
||||||
url = https://github.com/nsnail/NetAdmin.FreeSql.git
|
url = https://github.com/nsnail/FreeSql.git
|
75
CHANGELOG.md
@ -2,81 +2,6 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
### [2.3.1](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.3.1) (2024-12-13)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* ✨ 菜单复制 ([#214](https://github.com/nsnail/NetAdmin/issues/214)) ([81d9b0b](https://github.com/nsnail/NetAdmin/commit/81d9b0b3bb280661ceffa61aa6e9d612fb7ec52c))
|
|
||||||
* ✨ 分组统计功能 ([0b036e9](https://github.com/nsnail/NetAdmin/commit/0b036e9d67ffdf7a07c772606009f02744e6a3c3))
|
|
||||||
* ✨ 框架代码同步 ([098cfc1](https://github.com/nsnail/NetAdmin/commit/098cfc135e781a0cf172cd1289e5e871c7a76419))
|
|
||||||
* ✨ 框架代码同步 ([7256626](https://github.com/nsnail/NetAdmin/commit/725662693b7b47f6fae4c1917dd8d80220c7640a))
|
|
||||||
* ✨ 文档管理 ([#221](https://github.com/nsnail/NetAdmin/issues/221)) ([7ed3040](https://github.com/nsnail/NetAdmin/commit/7ed30406c9f721a12f0b756ec8884a1882242b93))
|
|
||||||
* ✨ select-filter badge icon ([#217](https://github.com/nsnail/NetAdmin/issues/217)) ([4d857f1](https://github.com/nsnail/NetAdmin/commit/4d857f1861b1256980e7cc59e2ab6a5f7d966da2))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* 🐛 按钮文字提示 ([#227](https://github.com/nsnail/NetAdmin/issues/227)) ([c88c8d2](https://github.com/nsnail/NetAdmin/commit/c88c8d293d44f2707f3b5232e6a40a141af9981c))
|
|
||||||
* 🐛 导出界面报错 ([#213](https://github.com/nsnail/NetAdmin/issues/213)) ([ef2f0de](https://github.com/nsnail/NetAdmin/commit/ef2f0de095e314f34bec21c0a2ccdb51423a163b))
|
|
||||||
* 🐛 导出文件的responseType ([#205](https://github.com/nsnail/NetAdmin/issues/205)) ([841a419](https://github.com/nsnail/NetAdmin/commit/841a4195e77aa96e3c6c72626c1add3f71a310aa))
|
|
||||||
* 🐛 个性主题色冲突 ([4e4a1d0](https://github.com/nsnail/NetAdmin/commit/4e4a1d0dff7f3698e9a9cfcf46368260cfd70cbd))
|
|
||||||
* 🐛 请求日志批量插入,漏写了登录日志 ([#210](https://github.com/nsnail/NetAdmin/issues/210)) ([6c71c74](https://github.com/nsnail/NetAdmin/commit/6c71c74a27617c7d0530a5f6eaff650ecfd4eaec))
|
|
||||||
* 🐛 修复一些样式问题 ([442a69f](https://github.com/nsnail/NetAdmin/commit/442a69f90de179539f78c01d967572f83bd2eff8))
|
|
||||||
* 🐛 用户选择器报错 ([#220](https://github.com/nsnail/NetAdmin/issues/220)) ([71bfdaa](https://github.com/nsnail/NetAdmin/commit/71bfdaafa8176cf686b03244ee758de058080a71))
|
|
||||||
* 🐛 editUser ([ef2a0c3](https://github.com/nsnail/NetAdmin/commit/ef2a0c3280532ac24889279e4780a1b1a2561a6b))
|
|
||||||
* 🐛 idd ([#208](https://github.com/nsnail/NetAdmin/issues/208)) ([4e9f605](https://github.com/nsnail/NetAdmin/commit/4e9f605ea2cc6fe394068cfea5638e51920b9096))
|
|
||||||
* 🐛 version 条件重复指定 ([01058ba](https://github.com/nsnail/NetAdmin/commit/01058ba7288bcc645f66de2f78e1d659d55333cf))
|
|
||||||
* 🐛 version lock ([4eecc0b](https://github.com/nsnail/NetAdmin/commit/4eecc0b4ce09f620f83109949e4c2b67b7f8ba90))
|
|
||||||
|
|
||||||
## [2.3.0](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.3.0) (2024-12-12)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* ✨ 菜单复制 ([#214](https://github.com/nsnail/NetAdmin/issues/214)) ([81d9b0b](https://github.com/nsnail/NetAdmin/commit/81d9b0b3bb280661ceffa61aa6e9d612fb7ec52c))
|
|
||||||
* ✨ 分组统计功能 ([0b036e9](https://github.com/nsnail/NetAdmin/commit/0b036e9d67ffdf7a07c772606009f02744e6a3c3))
|
|
||||||
* ✨ 框架代码同步 ([098cfc1](https://github.com/nsnail/NetAdmin/commit/098cfc135e781a0cf172cd1289e5e871c7a76419))
|
|
||||||
* ✨ 框架代码同步 ([7256626](https://github.com/nsnail/NetAdmin/commit/725662693b7b47f6fae4c1917dd8d80220c7640a))
|
|
||||||
* ✨ 文档管理 ([#221](https://github.com/nsnail/NetAdmin/issues/221)) ([7ed3040](https://github.com/nsnail/NetAdmin/commit/7ed30406c9f721a12f0b756ec8884a1882242b93))
|
|
||||||
* ✨ select-filter badge icon ([#217](https://github.com/nsnail/NetAdmin/issues/217)) ([4d857f1](https://github.com/nsnail/NetAdmin/commit/4d857f1861b1256980e7cc59e2ab6a5f7d966da2))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* 🐛 按钮文字提示 ([#227](https://github.com/nsnail/NetAdmin/issues/227)) ([c88c8d2](https://github.com/nsnail/NetAdmin/commit/c88c8d293d44f2707f3b5232e6a40a141af9981c))
|
|
||||||
* 🐛 导出界面报错 ([#213](https://github.com/nsnail/NetAdmin/issues/213)) ([ef2f0de](https://github.com/nsnail/NetAdmin/commit/ef2f0de095e314f34bec21c0a2ccdb51423a163b))
|
|
||||||
* 🐛 导出文件的responseType ([#205](https://github.com/nsnail/NetAdmin/issues/205)) ([841a419](https://github.com/nsnail/NetAdmin/commit/841a4195e77aa96e3c6c72626c1add3f71a310aa))
|
|
||||||
* 🐛 个性主题色冲突 ([4e4a1d0](https://github.com/nsnail/NetAdmin/commit/4e4a1d0dff7f3698e9a9cfcf46368260cfd70cbd))
|
|
||||||
* 🐛 请求日志批量插入,漏写了登录日志 ([#210](https://github.com/nsnail/NetAdmin/issues/210)) ([6c71c74](https://github.com/nsnail/NetAdmin/commit/6c71c74a27617c7d0530a5f6eaff650ecfd4eaec))
|
|
||||||
* 🐛 用户选择器报错 ([#220](https://github.com/nsnail/NetAdmin/issues/220)) ([71bfdaa](https://github.com/nsnail/NetAdmin/commit/71bfdaafa8176cf686b03244ee758de058080a71))
|
|
||||||
* 🐛 editUser ([ef2a0c3](https://github.com/nsnail/NetAdmin/commit/ef2a0c3280532ac24889279e4780a1b1a2561a6b))
|
|
||||||
* 🐛 idd ([#208](https://github.com/nsnail/NetAdmin/issues/208)) ([4e9f605](https://github.com/nsnail/NetAdmin/commit/4e9f605ea2cc6fe394068cfea5638e51920b9096))
|
|
||||||
* 🐛 version 条件重复指定 ([01058ba](https://github.com/nsnail/NetAdmin/commit/01058ba7288bcc645f66de2f78e1d659d55333cf))
|
|
||||||
* 🐛 version lock ([4eecc0b](https://github.com/nsnail/NetAdmin/commit/4eecc0b4ce09f620f83109949e4c2b67b7f8ba90))
|
|
||||||
|
|
||||||
### [2.2.1](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.2.1) (2024-12-04)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* ✨ 菜单复制 ([#214](https://github.com/nsnail/NetAdmin/issues/214)) ([81d9b0b](https://github.com/nsnail/NetAdmin/commit/81d9b0b3bb280661ceffa61aa6e9d612fb7ec52c))
|
|
||||||
* ✨ 文档管理 ([#221](https://github.com/nsnail/NetAdmin/issues/221)) ([7ed3040](https://github.com/nsnail/NetAdmin/commit/7ed30406c9f721a12f0b756ec8884a1882242b93))
|
|
||||||
* ✨ select-filter badge icon ([#217](https://github.com/nsnail/NetAdmin/issues/217)) ([4d857f1](https://github.com/nsnail/NetAdmin/commit/4d857f1861b1256980e7cc59e2ab6a5f7d966da2))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* 🐛 按钮文字提示 ([#227](https://github.com/nsnail/NetAdmin/issues/227)) ([c88c8d2](https://github.com/nsnail/NetAdmin/commit/c88c8d293d44f2707f3b5232e6a40a141af9981c))
|
|
||||||
* 🐛 导出界面报错 ([#213](https://github.com/nsnail/NetAdmin/issues/213)) ([ef2f0de](https://github.com/nsnail/NetAdmin/commit/ef2f0de095e314f34bec21c0a2ccdb51423a163b))
|
|
||||||
* 🐛 导出文件的responseType ([#205](https://github.com/nsnail/NetAdmin/issues/205)) ([841a419](https://github.com/nsnail/NetAdmin/commit/841a4195e77aa96e3c6c72626c1add3f71a310aa))
|
|
||||||
* 🐛 请求日志批量插入,漏写了登录日志 ([#210](https://github.com/nsnail/NetAdmin/issues/210)) ([6c71c74](https://github.com/nsnail/NetAdmin/commit/6c71c74a27617c7d0530a5f6eaff650ecfd4eaec))
|
|
||||||
* 🐛 用户选择器报错 ([#220](https://github.com/nsnail/NetAdmin/issues/220)) ([71bfdaa](https://github.com/nsnail/NetAdmin/commit/71bfdaafa8176cf686b03244ee758de058080a71))
|
|
||||||
* 🐛 editUser ([ef2a0c3](https://github.com/nsnail/NetAdmin/commit/ef2a0c3280532ac24889279e4780a1b1a2561a6b))
|
|
||||||
* 🐛 idd ([#208](https://github.com/nsnail/NetAdmin/issues/208)) ([4e9f605](https://github.com/nsnail/NetAdmin/commit/4e9f605ea2cc6fe394068cfea5638e51920b9096))
|
|
||||||
* 🐛 version 条件重复指定 ([01058ba](https://github.com/nsnail/NetAdmin/commit/01058ba7288bcc645f66de2f78e1d659d55333cf))
|
|
||||||
* 🐛 version lock ([4eecc0b](https://github.com/nsnail/NetAdmin/commit/4eecc0b4ce09f620f83109949e4c2b67b7f8ba90))
|
|
||||||
|
|
||||||
## [2.2.0](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.2.0) (2024-11-27)
|
## [2.2.0](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.2.0) (2024-11-27)
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
<Authors>nsnail</Authors>
|
<Authors>nsnail</Authors>
|
||||||
<BaseIntermediateOutputPath>$(SolutionDir)/dist/backend/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
|
<BaseIntermediateOutputPath>$(SolutionDir)/dist/backend/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
|
||||||
<BaseOutputPath>$(SolutionDir)/dist/backend/$(MSBuildProjectName)/bin</BaseOutputPath>
|
<BaseOutputPath>$(SolutionDir)/dist/backend/$(MSBuildProjectName)/bin</BaseOutputPath>
|
||||||
<Copyright>© 2006-2024 nsnail</Copyright>
|
<Copyright>© 2006-2023 nsnail</Copyright>
|
||||||
<Description>通用后台权限管理系统、快速开发框架(基于C#13/.NET9、Vue3/Vite、ElementPlus等现代技术构建,具有十分整洁、优雅的编码规范)</Description>
|
<Description>通用后台权限管理系统、快速开发框架(基于C#12/.NET9、Vue3/Vite、Element Plus等现代技术构建,具有十分整洁、优雅的编码规范)</Description>
|
||||||
<EnableBaseIntermediateOutputPathMismatchWarning>false</EnableBaseIntermediateOutputPathMismatchWarning>
|
<EnableBaseIntermediateOutputPathMismatchWarning>false</EnableBaseIntermediateOutputPathMismatchWarning>
|
||||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
70
NetAdmin.sln
@ -1,42 +1,12 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.0.31903.59
|
VisualStudioVersion = 17.0.31903.59
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C84EB5A0-37AD-4B17-A51E-E36888C4441E}"
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".drone", ".drone", "{3E408077-E73E-45CE-A53A-EF5F9DAE4B46}"
|
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{BB5BB244-E7D2-4368-8C18-C1C0ED1E12D1}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "backend", "backend", "{4DAF9366-855F-46BB-AE4C-660C92FA0697}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
README.md = .drone/workflows/README.md
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
EndProject
|
||||||
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{1129FE25-466B-4F4F-85FC-3752664245E1}"
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C6F049E-3EE8-4D66-9AFF-E8A369032487}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
nightly-build.yml = .github/workflows/nightly-build.yml
|
|
||||||
README.md = .github/workflows/README.md
|
|
||||||
release.yml = .github/workflows/release.yml
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{8E4C93BA-9493-4892-80C4-5E174C504829}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
code.quality.props = build/code.quality.props
|
|
||||||
copy.pkg.xml.comment.files.targets = build/copy.pkg.xml.comment.files.targets
|
|
||||||
minver.targets = build/minver.targets
|
|
||||||
prebuild.targets = build/prebuild.targets
|
|
||||||
stylecop.analyzers.ruleset = build/stylecop.analyzers.ruleset
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{E80A1018-C354-4A26-9029-8847BB9DA864}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
README.md = docker/README.md
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0CAC-4828-A807-34A693F73859}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0CAC-4828-A807-34A693F73859}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
.commitlintrc.js = .commitlintrc.js
|
.commitlintrc.js = .commitlintrc.js
|
||||||
@ -56,14 +26,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0
|
|||||||
README.md = README.md
|
README.md = README.md
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{BB0B25C9-0901-4923-913F-00F9A6B352A5}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{BB0B25C9-0901-4923-913F-00F9A6B352A5}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
1.git.pull.request.ps1 = scripts/1.git.pull.request.ps1
|
1.git.pull.request.ps1 = scripts/1.git.pull.request.ps1
|
||||||
2.git.release.ps1 = scripts/2.git.release.ps1
|
2.git.release.ps1 = scripts/2.git.release.ps1
|
||||||
3.git.recreate.branch.ps1 = scripts/3.git.recreate.branch.ps1
|
3.git.recreate.branch.ps1 = scripts/3.git.recreate.branch.ps1
|
||||||
4.git.del.obsolete.tags.ps1 = scripts/4.git.del.obsolete.tags.ps1
|
4.git.del.obsolete.tags.ps1 = scripts/4.git.del.obsolete.tags.ps1
|
||||||
5.git.update.submodule.ps1 = scripts/5.git.update.submodule.ps1
|
|
||||||
clean.ln.csx = scripts/clean.ln.csx
|
clean.ln.csx = scripts/clean.ln.csx
|
||||||
code.clean.csx = scripts/code.clean.csx
|
code.clean.csx = scripts/code.clean.csx
|
||||||
code.clean.ps1 = scripts/code.clean.ps1
|
code.clean.ps1 = scripts/code.clean.ps1
|
||||||
@ -81,10 +49,23 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{BB0B
|
|||||||
wait.server.stop.sh = scripts/wait.server.stop.sh
|
wait.server.stop.sh = scripts/wait.server.stop.sh
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{1129FE25-466B-4F4F-85FC-3752664245E1}"
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C84EB5A0-37AD-4B17-A51E-E36888C4441E}"
|
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "backend", "backend", "{4DAF9366-855F-46BB-AE4C-660C92FA0697}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C6F049E-3EE8-4D66-9AFF-E8A369032487}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
nightly-build.yml = .github/workflows/nightly-build.yml
|
||||||
|
README.md = .github/workflows/README.md
|
||||||
|
release.yml = .github/workflows/release.yml
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{8E4C93BA-9493-4892-80C4-5E174C504829}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
code.quality.props = build/code.quality.props
|
||||||
|
copy.pkg.xml.comment.files.targets = build/copy.pkg.xml.comment.files.targets
|
||||||
|
minver.targets = build/minver.targets
|
||||||
|
prebuild.targets = build/prebuild.targets
|
||||||
|
stylecop.analyzers.ruleset = build/stylecop.analyzers.ruleset
|
||||||
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Infrastructure", "src\backend\NetAdmin\NetAdmin.Infrastructure\NetAdmin.Infrastructure.csproj", "{1E62C322-EE42-4699-A6F1-791C53EFA62D}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Infrastructure", "src\backend\NetAdmin\NetAdmin.Infrastructure\NetAdmin.Infrastructure.csproj", "{1E62C322-EE42-4699-A6F1-791C53EFA62D}"
|
||||||
EndProject
|
EndProject
|
||||||
@ -122,19 +103,23 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "src\backend\Un
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Tests", "src\backend\NetAdmin\NetAdmin.Tests\NetAdmin.Tests.csproj", "{00604162-C444-478B-B773-3AB23C856CA7}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Tests", "src\backend\NetAdmin\NetAdmin.Tests\NetAdmin.Tests.csproj", "{00604162-C444-478B-B773-3AB23C856CA7}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{E80A1018-C354-4A26-9029-8847BB9DA864}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
README.md = docker/README.md
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Domain", "src\backend\YourSolution.AdmServer.Domain\YourSolution.AdmServer.Domain.csproj", "{932520DF-D312-415A-A128-1117F8221D68}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Domain", "src\backend\YourSolution.AdmServer.Domain\YourSolution.AdmServer.Domain.csproj", "{932520DF-D312-415A-A128-1117F8221D68}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Infrastructure", "src\backend\YourSolution.AdmServer.Infrastructure\YourSolution.AdmServer.Infrastructure.csproj", "{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Infrastructure", "src\backend\YourSolution.AdmServer.Infrastructure\YourSolution.AdmServer.Infrastructure.csproj", "{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}"
|
||||||
EndProject
|
EndProject
|
||||||
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gurion", "refs\Gurion\src\Gurion\Gurion.csproj", "{CCD098FE-4F95-4FA4-8CC0-9A6DE921FBAE}"#refs
|
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gurion", "refs\Gurion\src\Gurion\Gurion.csproj", "{CCD098FE-4F95-4FA4-8CC0-9A6DE921FBAE}"#refs
|
||||||
##EndProject#refs
|
##EndProject#refs
|
||||||
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql", "refs\NetAdmin.FreeSql\src\FreeSql\FreeSql.csproj", "{3C65DA42-877D-46FF-B754-C12214302A29}"#refs
|
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql", "refs\FreeSql\FreeSql\FreeSql.csproj", "{3C65DA42-877D-46FF-B754-C12214302A29}"#refs
|
||||||
##EndProject#refs
|
##EndProject#refs
|
||||||
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql.Provider.Sqlite", "refs\NetAdmin.FreeSql\src\FreeSql.Provider.Sqlite\FreeSql.Provider.Sqlite.csproj", "{CF5EFA63-4631-4A64-B4F3-98A7DD532F68}"#refs
|
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql.Provider.Sqlite", "refs\FreeSql\Providers\FreeSql.Provider.Sqlite\FreeSql.Provider.Sqlite.csproj", "{CF5EFA63-4631-4A64-B4F3-98A7DD532F68}"#refs
|
||||||
##EndProject#refs
|
##EndProject#refs
|
||||||
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql.DbContext", "refs\NetAdmin.FreeSql\src\FreeSql.DbContext\FreeSql.DbContext.csproj", "{FE03DF27-EC56-48DB-81B0-F99947259A7C}"#refs
|
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql.DbContext", "refs\FreeSql\FreeSql.DbContext\FreeSql.DbContext.csproj", "{FE03DF27-EC56-48DB-81B0-F99947259A7C}"#refs
|
||||||
##EndProject#refs
|
##EndProject#refs
|
||||||
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@ -244,6 +229,5 @@ Global
|
|||||||
{932520DF-D312-415A-A128-1117F8221D68} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
{932520DF-D312-415A-A128-1117F8221D68} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
{3C6F049E-3EE8-4D66-9AFF-E8A369032487} = {1129FE25-466B-4F4F-85FC-3752664245E1}
|
{3C6F049E-3EE8-4D66-9AFF-E8A369032487} = {1129FE25-466B-4F4F-85FC-3752664245E1}
|
||||||
{BB5BB244-E7D2-4368-8C18-C1C0ED1E12D1} = {3E408077-E73E-45CE-A53A-EF5F9DAE4B46}
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
@ -1,6 +1,6 @@
|
|||||||
# NetAdmin
|
# NetAdmin
|
||||||
|
|
||||||
通用后台权限管理系统、快速开发框架(基于C#13/.NET9、Vue3/Vite、ElementPlus等现代技术构建,具有十分整洁、优雅的编码规范)
|
通用后台权限管理系统、快速开发框架(基于C#12/.NET9、Vue3/Vite、Element Plus等现代技术构建,具有十分整洁、优雅的编码规范)
|
||||||
|
|
||||||
[](https://github.com/nsnail/NetAdmin/actions/workflows/nightly-build.yml)
|
[](https://github.com/nsnail/NetAdmin/actions/workflows/nightly-build.yml)
|
||||||
[](https://github.com/nsnail/NetAdmin/blob/main/LICENSE)
|
[](https://github.com/nsnail/NetAdmin/blob/main/LICENSE)
|
||||||
@ -28,14 +28,15 @@ dotnet --list-sdks
|
|||||||
git clone https://github.com/nsnail/NetAdmin.git && cd ./NetAdmin
|
git clone https://github.com/nsnail/NetAdmin.git && cd ./NetAdmin
|
||||||
|
|
||||||
# 3. 确认本机 redis 处于运行状态
|
# 3. 确认本机 redis 处于运行状态
|
||||||
redis-server # 启动服务器
|
redis-server # 启动
|
||||||
redis-cli # 连接测试
|
redis-cli # 连接测试
|
||||||
# 下载 redis for windows:https://github.com/redis-windows/redis-windows/releases
|
# 下载 redis for windows:https://github.com/redis-windows/redis-windows/releases
|
||||||
# 下载 redis for linux/mac:https://redis.io/download
|
# 下载 redis for linux/mac:https://redis.io/download
|
||||||
|
|
||||||
# 4. 运行后端 WebApi
|
# 4. 运行后端 WebApi
|
||||||
dotnet run --project ./src/backend/YourSolution.AdmServer.Host/YourSolution.AdmServer.Host.csproj --urls http://[::]:5010 -is
|
dotnet run --project ./src/backend/YourSolution.AdmServer.Host/YourSolution.AdmServer.Host.csproj --urls http://[::]:5010 -is
|
||||||
# -i 插入种子数据;-s 同步数据库结构
|
# -i 插入种子数据
|
||||||
|
# -s 同步数据库结构
|
||||||
# 浏览器访问 http://localhost:5010 ,将看到Swagger(Knife4jUI)界面
|
# 浏览器访问 http://localhost:5010 ,将看到Swagger(Knife4jUI)界面
|
||||||
|
|
||||||
# 5. 检查 nodejs 版本 >=20
|
# 5. 检查 nodejs 版本 >=20
|
||||||
@ -109,7 +110,7 @@ biz-infra-->infra
|
|||||||
| C# | 自动化版本管理 | [MinVer](https://github.com/adamralph/minver) |
|
| C# | 自动化版本管理 | [MinVer](https://github.com/adamralph/minver) |
|
||||||
| TypeScript | SPA基础框架 | [Vue](https://github.com/vuejs/core) |
|
| TypeScript | SPA基础框架 | [Vue](https://github.com/vuejs/core) |
|
||||||
| TypeScript | 前端构建工具 | [Vite](https://github.com/vitejs/vite) |
|
| TypeScript | 前端构建工具 | [Vite](https://github.com/vitejs/vite) |
|
||||||
| TypeScript | UI控件库 | [ElementPlus](https://github.com/element-plus/element-plus) |
|
| TypeScript | UI控件库 | [Element Plus](https://github.com/element-plus/element-plus) |
|
||||||
| TypeScript | CSS解析器 | [Sass](https://github.com/sass/sass) |
|
| TypeScript | CSS解析器 | [Sass](https://github.com/sass/sass) |
|
||||||
| TypeScript | 图表和数据可视化 | [ECharts](https://github.com/apache/echarts) |
|
| TypeScript | 图表和数据可视化 | [ECharts](https://github.com/apache/echarts) |
|
||||||
| JavaScript | 后台管理界面 | [SCUI](https://gitee.com/lolicode/scui) |
|
| JavaScript | 后台管理界面 | [SCUI](https://gitee.com/lolicode/scui) |
|
||||||
|
@ -219,7 +219,7 @@
|
|||||||
"ParentId": 373838105399301,
|
"ParentId": 373838105399301,
|
||||||
"Icon": "el-icon-eleme-filled",
|
"Icon": "el-icon-eleme-filled",
|
||||||
"Name": "dev/element",
|
"Name": "dev/element",
|
||||||
"Path": "https://element-plus.org/zh-CN/component/overview.html",
|
"Path": "http://element-plus.org/zh-CN/component/overview.html",
|
||||||
"Sort": 99,
|
"Sort": 99,
|
||||||
"Title": "Element",
|
"Title": "Element",
|
||||||
"Type": 3,
|
"Type": 3,
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"Content": "<p>尊敬的用户:</p>\n<p style=\"padding-left: 40px;\">欢迎您使用 NetAdmin 后台管理系统!NetAdmin 是一款通用后台权限管理系统和快速开发框架,它基于 C#13/.NET9、Vue3/Vite、ElementPlus 等现代技术构建,具有十分整洁、优雅的编码规范。</p>\n<p style=\"padding-left: 40px;\">NetAdmin 致力于为企业提供高效、安全、易用的解决方案,帮助您快速构建出符合业务需求的应用程序。系统提供了丰富的功能模块,包括用户管理、权限管理、日志管理、文件上传等,可以满足您日常管理的需求。</p>\n<p style=\"padding-left: 40px;\">在使用 NetAdmin 的过程中,我们真诚地希望您能够遵守以下规定:</p>\n<p style=\"padding-left: 80px;\">1. 不得利用 NetAdmin 进行非法活动或者侵犯他人权益;</p>\n<p style=\"padding-left: 80px;\">2. 不得对 NetAdmin 系统进行恶意攻击或者破坏;</p>\n<p style=\"padding-left: 80px;\">3. 不得将 NetAdmin 系统的任何部分用于商业目的或者未经授权的访问。</p>\n<p style=\"padding-left: 80px;\">4. 为了更好地为您提供服务,NetAdmin 将不断进行优化和升级,同时也欢迎您提出宝贵的意见和建议。如果您在使用过程中遇到任何问题,可以通过官方网站或者技术支持团队进行咨询和解决。</p>\n<p style=\"padding-left: 40px;\">再次感谢您对 NetAdmin 的信任和支持!我们相信,在您的使用过程中,NetAdmin 一定会成为您的得力助手,为您的事业发展提供强有力的支持!</p>\n<p style=\"text-align: right;\">NetAdmin 开发团队</p>",
|
"Content": "<p>尊敬的用户:</p>\n<p style=\"padding-left: 40px;\">欢迎您使用 NetAdmin 后台管理系统!NetAdmin 是一款通用后台权限管理系统和快速开发框架,它基于 C#12/.NET9、Vue3/Vite、Element Plus 等现代技术构建,具有十分整洁、优雅的编码规范。</p>\n<p style=\"padding-left: 40px;\">NetAdmin 致力于为企业提供高效、安全、易用的解决方案,帮助您快速构建出符合业务需求的应用程序。系统提供了丰富的功能模块,包括用户管理、权限管理、日志管理、文件上传等,可以满足您日常管理的需求。</p>\n<p style=\"padding-left: 40px;\">在使用 NetAdmin 的过程中,我们真诚地希望您能够遵守以下规定:</p>\n<p style=\"padding-left: 80px;\">1. 不得利用 NetAdmin 进行非法活动或者侵犯他人权益;</p>\n<p style=\"padding-left: 80px;\">2. 不得对 NetAdmin 系统进行恶意攻击或者破坏;</p>\n<p style=\"padding-left: 80px;\">3. 不得将 NetAdmin 系统的任何部分用于商业目的或者未经授权的访问。</p>\n<p style=\"padding-left: 80px;\">4. 为了更好地为您提供服务,NetAdmin 将不断进行优化和升级,同时也欢迎您提出宝贵的意见和建议。如果您在使用过程中遇到任何问题,可以通过官方网站或者技术支持团队进行咨询和解决。</p>\n<p style=\"padding-left: 40px;\">再次感谢您对 NetAdmin 的信任和支持!我们相信,在您的使用过程中,NetAdmin 一定会成为您的得力助手,为您的事业发展提供强有力的支持!</p>\n<p style=\"text-align: right;\">NetAdmin 开发团队</p>",
|
||||||
"CreatedUserId": 370942943322181,
|
"CreatedUserId": 370942943322181,
|
||||||
"CreatedUserName": "root",
|
"CreatedUserName": "root",
|
||||||
"MsgType": 2,
|
"MsgType": 2,
|
||||||
"Summary": "尊敬的用户:\n欢迎您使用 NetAdmin 后台管理系统!NetAdmin 是一款通用后台权限管理系统和快速开发框架,它基于 C#13/.NET9、Vue3/Vite、ElementPlus 等现代",
|
"Summary": "尊敬的用户:\n欢迎您使用 NetAdmin 后台管理系统!NetAdmin 是一款通用后台权限管理系统和快速开发框架,它基于 C#12/.NET9、Vue3/Vite、Element Plus 等现代",
|
||||||
"Title": "欢迎使用 NetAdmin 后台管理系统",
|
"Title": "欢迎使用 NetAdmin 后台管理系统",
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -23,7 +23,7 @@
|
|||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.3.0.106239">
|
<PackageReference Include="SonarAnalyzer.CSharp" Version="9.32.0.97167">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
BIN
docs/screenshot/2023-10-26_172812.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
docs/screenshot/2023-10-26_172955.png
Normal file
After Width: | Height: | Size: 207 KiB |
BIN
docs/screenshot/2023-10-26_174707.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/screenshot/2023-10-26_174949.png
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
docs/screenshot/2023-10-26_175308.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
docs/screenshot/2023-10-26_175352.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
docs/screenshot/2023-10-26_175407.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
docs/screenshot/2023-10-26_175419.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
docs/screenshot/2023-10-26_175430.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
docs/screenshot/2023-10-26_175441.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
docs/screenshot/2023-10-26_175447.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
docs/screenshot/2023-10-26_175501.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
docs/screenshot/2023-10-26_175922.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
docs/screenshot/thumb/2023-10-26_172812.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
docs/screenshot/thumb/2023-10-26_172955.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
docs/screenshot/thumb/2023-10-26_174707.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
docs/screenshot/thumb/2023-10-26_174949.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175308.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175352.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175407.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175419.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175430.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175441.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175447.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175501.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
docs/screenshot/thumb/2023-10-26_175922.png
Normal file
After Width: | Height: | Size: 28 KiB |
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"version": "2.3.1",
|
"version": "2.2.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"cz-git": "^1.11.0",
|
"cz-git": "^1.11.0",
|
||||||
"commitizen": "^4.3.1",
|
"commitizen": "^4.3.1",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.1",
|
||||||
"standard-version": "^9.5.0"
|
"standard-version": "^9.5.0"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
|
1
refs/FreeSql
Submodule
@ -1,3 +0,0 @@
|
|||||||
git submodule update --progress --init --recursive --force --remote -- "../refs/Gurion"
|
|
||||||
git submodule update --progress --init --recursive --force --remote -- "../refs/NetAdmin.FreeSql"
|
|
||||||
git submodule update --progress --init --recursive --force --remote -- "../refs/ns-ext"
|
|
@ -1,4 +0,0 @@
|
|||||||
git config --local core.eol lf
|
|
||||||
git config --local core.autocrlf false
|
|
||||||
git config --local core.longpaths true
|
|
||||||
git config --local pull.rebase false
|
|
@ -5,7 +5,8 @@ Console.WriteLine("请输入原始名称(NetAdmin):");
|
|||||||
var oldName = Console.ReadLine().NullOrEmpty("NetAdmin");
|
var oldName = Console.ReadLine().NullOrEmpty("NetAdmin");
|
||||||
Console.WriteLine("请输入替换名称:");
|
Console.WriteLine("请输入替换名称:");
|
||||||
var newName = Console.ReadLine();
|
var newName = Console.ReadLine();
|
||||||
foreach (var path in Directory.EnumerateDirectories("../", $"*{oldName}*", SearchOption.AllDirectories).Where(x => !x.Contains(".git")))
|
foreach (var path in Directory.EnumerateDirectories("../", $"*{oldName}*",
|
||||||
|
SearchOption.AllDirectories))
|
||||||
{
|
{
|
||||||
Console.Write($"{path} --> ");
|
Console.Write($"{path} --> ");
|
||||||
var newPath = path.Replace(oldName, newName);
|
var newPath = path.Replace(oldName, newName);
|
||||||
@ -15,7 +16,7 @@ foreach (var path in Directory.EnumerateDirectories("../", $"*{oldName}*", Searc
|
|||||||
|
|
||||||
|
|
||||||
Console.WriteLine();
|
Console.WriteLine();
|
||||||
foreach (var path in Directory.EnumerateFiles("../", $"*.*", SearchOption.AllDirectories).Where(x => !x.Contains(".git")))
|
foreach (var path in Directory.EnumerateFiles("../", $"*.*", SearchOption.AllDirectories))
|
||||||
{
|
{
|
||||||
File.WriteAllText(path, File.ReadAllText(path).Replace(oldName, newName));
|
File.WriteAllText(path, File.ReadAllText(path).Replace(oldName, newName));
|
||||||
var newPath = path.Replace(oldName, newName);
|
var newPath = path.Replace(oldName, newName);
|
||||||
|
@ -45,20 +45,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{
|
|||||||
"""
|
"""
|
||||||
);
|
);
|
||||||
|
|
||||||
content = Regex.Replace(
|
|
||||||
content,
|
|
||||||
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"workflows\", \"workflows\", \"{BB5BB244-E7D2-4368-8C18-C1C0ED1E12D1}\"(?:.|\n)*?EndProject",
|
|
||||||
$$"""
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{BB5BB244-E7D2-4368-8C18-C1C0ED1E12D1}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
{{string.Join('\n',
|
|
||||||
Directory.GetFiles(@"../.drone/workflows", "*")
|
|
||||||
.Select(x=>$" {Path.GetFileName(x)} = .drone/workflows/{Path.GetFileName(x)}")
|
|
||||||
)}}
|
|
||||||
EndProject
|
|
||||||
"""
|
|
||||||
);
|
|
||||||
|
|
||||||
content = Regex.Replace(
|
content = Regex.Replace(
|
||||||
content,
|
content,
|
||||||
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"scripts\", \"scripts\", \"{BB0B25C9-0901-4923-913F-00F9A6B352A5}\"(?:.|\n)*?EndProject",
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"scripts\", \"scripts\", \"{BB0B25C9-0901-4923-913F-00F9A6B352A5}\"(?:.|\n)*?EndProject",
|
||||||
|
@ -8,14 +8,12 @@ namespace NetAdmin.Application.Modules;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TCreateReq">创建请求类型</typeparam>
|
/// <typeparam name="TCreateReq">创建请求类型</typeparam>
|
||||||
/// <typeparam name="TCreateRsp">创建响应类型</typeparam>
|
/// <typeparam name="TCreateRsp">创建响应类型</typeparam>
|
||||||
/// <typeparam name="TEditReq">编辑请求类型</typeparam>
|
|
||||||
/// <typeparam name="TQueryReq">查询请求类型</typeparam>
|
/// <typeparam name="TQueryReq">查询请求类型</typeparam>
|
||||||
/// <typeparam name="TQueryRsp">查询响应类型</typeparam>
|
/// <typeparam name="TQueryRsp">查询响应类型</typeparam>
|
||||||
/// <typeparam name="TDelReq">删除请求类型</typeparam>
|
/// <typeparam name="TDelReq">删除请求类型</typeparam>
|
||||||
public interface ICrudModule<in TCreateReq, TCreateRsp, in TEditReq, TQueryReq, TQueryRsp, TDelReq>
|
public interface ICrudModule<in TCreateReq, TCreateRsp, TQueryReq, TQueryRsp, TDelReq>
|
||||||
where TCreateReq : DataAbstraction, new()
|
where TCreateReq : DataAbstraction, new()
|
||||||
where TCreateRsp : DataAbstraction
|
where TCreateRsp : DataAbstraction
|
||||||
where TEditReq : DataAbstraction, new()
|
|
||||||
where TQueryReq : DataAbstraction, new()
|
where TQueryReq : DataAbstraction, new()
|
||||||
where TQueryRsp : DataAbstraction
|
where TQueryRsp : DataAbstraction
|
||||||
where TDelReq : DataAbstraction, new()
|
where TDelReq : DataAbstraction, new()
|
||||||
@ -30,11 +28,6 @@ public interface ICrudModule<in TCreateReq, TCreateRsp, in TEditReq, TQueryReq,
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
Task<long> CountAsync(QueryReq<TQueryReq> req);
|
Task<long> CountAsync(QueryReq<TQueryReq> req);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 实体分组计数
|
|
||||||
/// </summary>
|
|
||||||
Task<IOrderedEnumerable<KeyValuePair<IImmutableDictionary<string, string>, int>>> CountByAsync(QueryReq<TQueryReq> req);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建实体
|
/// 创建实体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -46,9 +39,9 @@ public interface ICrudModule<in TCreateReq, TCreateRsp, in TEditReq, TQueryReq,
|
|||||||
Task<int> DeleteAsync(TDelReq req);
|
Task<int> DeleteAsync(TDelReq req);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 编辑实体
|
/// 判断实体是否存在
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Task<TQueryRsp> EditAsync(TEditReq req);
|
Task<bool> ExistAsync(QueryReq<TQueryReq> req);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出实体
|
/// 导出实体
|
||||||
|
@ -7,7 +7,6 @@ namespace NetAdmin.Application.Modules.Tpl;
|
|||||||
/// 示例模块
|
/// 示例模块
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IExampleModule : ICrudModule<CreateExampleReq, QueryExampleRsp // 创建类型
|
public interface IExampleModule : ICrudModule<CreateExampleReq, QueryExampleRsp // 创建类型
|
||||||
, EditExampleReq // 编辑类型
|
|
||||||
, QueryExampleReq, QueryExampleRsp // 查询类型
|
, QueryExampleReq, QueryExampleRsp // 查询类型
|
||||||
, DelReq // 删除类型
|
, DelReq // 删除类型
|
||||||
>;
|
>;
|
@ -5,7 +5,6 @@ using NetAdmin.Domain;
|
|||||||
using NetAdmin.Domain.DbMaps.Dependency;
|
using NetAdmin.Domain.DbMaps.Dependency;
|
||||||
using NetAdmin.Domain.DbMaps.Dependency.Fields;
|
using NetAdmin.Domain.DbMaps.Dependency.Fields;
|
||||||
using NetAdmin.Domain.Dto.Dependency;
|
using NetAdmin.Domain.Dto.Dependency;
|
||||||
using NetAdmin.Domain.Extensions;
|
|
||||||
|
|
||||||
namespace NetAdmin.Application.Services;
|
namespace NetAdmin.Application.Services;
|
||||||
|
|
||||||
@ -51,11 +50,13 @@ public abstract class RepositoryService<TEntity, TPrimary, TLogger>(BasicReposit
|
|||||||
Func<QueryReq<TQuery>, ISelect<TEntity>> selector, QueryReq<TQuery> query, string fileName, Expression<Func<TEntity, object>> listExp = null)
|
Func<QueryReq<TQuery>, ISelect<TEntity>> selector, QueryReq<TQuery> query, string fileName, Expression<Func<TEntity, object>> listExp = null)
|
||||||
where TQuery : DataAbstraction, new()
|
where TQuery : DataAbstraction, new()
|
||||||
{
|
{
|
||||||
var select = selector(query).WithNoLockNoWait().Take(Numbers.MAX_LIMIT_EXPORT);
|
var select = selector(query)
|
||||||
|
#if DBTYPE_SQLSERVER
|
||||||
|
.WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
|
||||||
|
#endif
|
||||||
|
.Take(Numbers.MAX_LIMIT_EXPORT);
|
||||||
|
|
||||||
object list = listExp == null
|
object list = listExp == null ? await select.ToListAsync().ConfigureAwait(false) : await select.ToListAsync(listExp).ConfigureAwait(false);
|
||||||
? await select.ToListAsync().ConfigureAwait(false)
|
|
||||||
: await select.ToListAsync(listExp).ConfigureAwait(false);
|
|
||||||
|
|
||||||
return await GetExportFileStreamAsync<TExport>(fileName, list).ConfigureAwait(false);
|
return await GetExportFileStreamAsync<TExport>(fileName, list).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
@ -72,8 +73,8 @@ public abstract class RepositoryService<TEntity, TPrimary, TLogger>(BasicReposit
|
|||||||
/// <returns>更新行数</returns>
|
/// <returns>更新行数</returns>
|
||||||
protected Task<int> UpdateAsync( //
|
protected Task<int> UpdateAsync( //
|
||||||
TEntity newValue //
|
TEntity newValue //
|
||||||
, List<string> includeFields = null //
|
, IEnumerable<string> includeFields //
|
||||||
, List<string> excludeFields = null //
|
, string[] excludeFields = null //
|
||||||
, Expression<Func<TEntity, bool>> whereExp = null //
|
, Expression<Func<TEntity, bool>> whereExp = null //
|
||||||
, string whereSql = null //
|
, string whereSql = null //
|
||||||
, bool ignoreVersion = false)
|
, bool ignoreVersion = false)
|
||||||
@ -97,8 +98,8 @@ public abstract class RepositoryService<TEntity, TPrimary, TLogger>(BasicReposit
|
|||||||
/// <returns>更新后的实体列表</returns>
|
/// <returns>更新后的实体列表</returns>
|
||||||
protected Task<List<TEntity>> UpdateReturnListAsync( //
|
protected Task<List<TEntity>> UpdateReturnListAsync( //
|
||||||
TEntity newValue //
|
TEntity newValue //
|
||||||
, List<string> includeFields = null //
|
, IEnumerable<string> includeFields //
|
||||||
, List<string> excludeFields = null //
|
, string[] excludeFields = null //
|
||||||
, Expression<Func<TEntity, bool>> whereExp = null //
|
, Expression<Func<TEntity, bool>> whereExp = null //
|
||||||
, string whereSql = null //
|
, string whereSql = null //
|
||||||
, bool ignoreVersion = false)
|
, bool ignoreVersion = false)
|
||||||
@ -135,22 +136,22 @@ public abstract class RepositoryService<TEntity, TPrimary, TLogger>(BasicReposit
|
|||||||
return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
|
return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
private IUpdate<TEntity> BuildUpdate(TEntity entity, List<string> includeFields, List<string> excludeFields, bool ignoreVersion)
|
private IUpdate<TEntity> BuildUpdate( //
|
||||||
|
TEntity entity //
|
||||||
|
, IEnumerable<string> includeFields //
|
||||||
|
, string[] excludeFields = null //
|
||||||
|
, bool ignoreVersion = false)
|
||||||
{
|
{
|
||||||
IUpdate<TEntity> updateExp;
|
var updateExp = includeFields == null
|
||||||
if (includeFields.NullOrEmpty()) {
|
? Rpo.UpdateDiy.SetSource(entity)
|
||||||
updateExp = Rpo.UpdateDiy.SetSource(entity);
|
: Rpo.UpdateDiy.SetDto(includeFields!.ToDictionary(
|
||||||
if (!excludeFields.NullOrEmpty()) {
|
x => x, x => typeof(TEntity).GetProperty(x, BindingFlags.Public | BindingFlags.Instance)!.GetValue(entity)));
|
||||||
updateExp = updateExp.IgnoreColumns(excludeFields.ToArray());
|
if (excludeFields != null) {
|
||||||
}
|
updateExp = updateExp.IgnoreColumns(excludeFields);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
updateExp = Rpo.UpdateDiy.SetDto(includeFields!.ToDictionary(
|
if (!ignoreVersion && entity is IFieldVersion ver) {
|
||||||
x => x
|
updateExp = updateExp.Where($"{nameof(IFieldVersion.Version)} = @version", new { version = ver.Version });
|
||||||
, x => typeof(TEntity).GetProperty(x, BindingFlags.Public | BindingFlags.Instance)!.GetValue(entity)));
|
|
||||||
if (!ignoreVersion && entity is IFieldVersion ver) {
|
|
||||||
updateExp = updateExp.Where($"{nameof(IFieldVersion.Version)} = {ver.Version}");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return updateExp;
|
return updateExp;
|
||||||
|
@ -3,7 +3,6 @@ using NetAdmin.Application.Services.Tpl.Dependency;
|
|||||||
using NetAdmin.Domain.DbMaps.Tpl;
|
using NetAdmin.Domain.DbMaps.Tpl;
|
||||||
using NetAdmin.Domain.Dto.Dependency;
|
using NetAdmin.Domain.Dto.Dependency;
|
||||||
using NetAdmin.Domain.Dto.Tpl.Example;
|
using NetAdmin.Domain.Dto.Tpl.Example;
|
||||||
using NetAdmin.Domain.Extensions;
|
|
||||||
|
|
||||||
namespace NetAdmin.Application.Services.Tpl;
|
namespace NetAdmin.Application.Services.Tpl;
|
||||||
|
|
||||||
@ -29,22 +28,11 @@ public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
|||||||
public Task<long> CountAsync(QueryReq<QueryExampleReq> req)
|
public Task<long> CountAsync(QueryReq<QueryExampleReq> req)
|
||||||
{
|
{
|
||||||
req.ThrowIfInvalid();
|
req.ThrowIfInvalid();
|
||||||
return QueryInternal(req).WithNoLockNoWait().CountAsync();
|
return QueryInternal(req)
|
||||||
}
|
#if DBTYPE_SQLSERVER
|
||||||
|
.WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
|
||||||
/// <inheritdoc />
|
#endif
|
||||||
public async Task<IOrderedEnumerable<KeyValuePair<IImmutableDictionary<string, string>, int>>> CountByAsync(QueryReq<QueryExampleReq> req)
|
.CountAsync();
|
||||||
{
|
|
||||||
req.ThrowIfInvalid();
|
|
||||||
var ret = await QueryInternal(req with { Order = Orders.None })
|
|
||||||
.WithNoLockNoWait()
|
|
||||||
.GroupBy(req.GetToListExp<Tpl_Example>())
|
|
||||||
.ToDictionaryAsync(a => a.Count())
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
return ret.Select(x => new KeyValuePair<IImmutableDictionary<string, string>, int>(
|
|
||||||
req.RequiredFields.ToImmutableDictionary(y => y, y => typeof(Tpl_Example).GetProperty(y)!.GetValue(x.Key)!.ToString())
|
|
||||||
, x.Value))
|
|
||||||
.OrderByDescending(x => x.Value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
@ -63,14 +51,14 @@ public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public async Task<QueryExampleRsp> EditAsync(EditExampleReq req)
|
public Task<bool> ExistAsync(QueryReq<QueryExampleReq> req)
|
||||||
{
|
{
|
||||||
req.ThrowIfInvalid();
|
req.ThrowIfInvalid();
|
||||||
#if DBTYPE_SQLSERVER
|
return QueryInternal(req)
|
||||||
return (await UpdateReturnListAsync(req).ConfigureAwait(false)).FirstOrDefault()?.Adapt<QueryExampleRsp>();
|
#if DBTYPE_SQLSERVER
|
||||||
#else
|
.WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
|
||||||
return await UpdateAsync(req).ConfigureAwait(false) > 0 ? await GetAsync(new QueryExampleReq { Id = req.Id }).ConfigureAwait(false) : null;
|
#endif
|
||||||
#endif
|
.AnyAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
@ -94,9 +82,11 @@ public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
|||||||
req.ThrowIfInvalid();
|
req.ThrowIfInvalid();
|
||||||
var list = await QueryInternal(req)
|
var list = await QueryInternal(req)
|
||||||
.Page(req.Page, req.PageSize)
|
.Page(req.Page, req.PageSize)
|
||||||
.WithNoLockNoWait()
|
#if DBTYPE_SQLSERVER
|
||||||
|
.WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
|
||||||
|
#endif
|
||||||
.Count(out var total)
|
.Count(out var total)
|
||||||
.ToListAsync(req)
|
.ToListAsync()
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
|
|
||||||
return new PagedQueryRsp<QueryExampleRsp>(req.Page, req.PageSize, total, list.Adapt<IEnumerable<QueryExampleRsp>>());
|
return new PagedQueryRsp<QueryExampleRsp>(req.Page, req.PageSize, total, list.Adapt<IEnumerable<QueryExampleRsp>>());
|
||||||
@ -106,7 +96,13 @@ public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
|||||||
public async Task<IEnumerable<QueryExampleRsp>> QueryAsync(QueryReq<QueryExampleReq> req)
|
public async Task<IEnumerable<QueryExampleRsp>> QueryAsync(QueryReq<QueryExampleReq> req)
|
||||||
{
|
{
|
||||||
req.ThrowIfInvalid();
|
req.ThrowIfInvalid();
|
||||||
var ret = await QueryInternal(req).WithNoLockNoWait().Take(req.Count).ToListAsync(req).ConfigureAwait(false);
|
var ret = await QueryInternal(req)
|
||||||
|
#if DBTYPE_SQLSERVER
|
||||||
|
.WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
|
||||||
|
#endif
|
||||||
|
.Take(req.Count)
|
||||||
|
.ToListAsync()
|
||||||
|
.ConfigureAwait(false);
|
||||||
return ret.Adapt<IEnumerable<QueryExampleRsp>>();
|
return ret.Adapt<IEnumerable<QueryExampleRsp>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,12 +21,6 @@ public sealed class ExampleCache(IDistributedCache cache, IExampleService servic
|
|||||||
return Service.CountAsync(req);
|
return Service.CountAsync(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public Task<IOrderedEnumerable<KeyValuePair<IImmutableDictionary<string, string>, int>>> CountByAsync(QueryReq<QueryExampleReq> req)
|
|
||||||
{
|
|
||||||
return Service.CountByAsync(req);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Task<QueryExampleRsp> CreateAsync(CreateExampleReq req)
|
public Task<QueryExampleRsp> CreateAsync(CreateExampleReq req)
|
||||||
{
|
{
|
||||||
@ -40,9 +34,9 @@ public sealed class ExampleCache(IDistributedCache cache, IExampleService servic
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Task<QueryExampleRsp> EditAsync(EditExampleReq req)
|
public Task<bool> ExistAsync(QueryReq<QueryExampleReq> req)
|
||||||
{
|
{
|
||||||
return Service.EditAsync(req);
|
return Service.ExistAsync(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
@ -11,8 +11,7 @@ public sealed class ApiIdAttribute : ValidationAttribute
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
||||||
{
|
{
|
||||||
var service = App.GetService(
|
var service = App.GetService(App.EffectiveTypes.Single(x => x.FullName == "NetAdmin.SysComponent.Cache.Sys.Dependency.IApiCache"));
|
||||||
App.EffectiveTypes.Single(x => x.FullName == "NetAdmin.SysComponent.Application.Services.Sys.Dependency.IApiService"));
|
|
||||||
|
|
||||||
var req = new QueryReq<QueryApiReq> { Filter = new QueryApiReq { Id = value as string } };
|
var req = new QueryReq<QueryApiReq> { Filter = new QueryApiReq { Id = value as string } };
|
||||||
|
|
||||||
|
@ -11,8 +11,7 @@ public sealed class UserIdAttribute : ValidationAttribute
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
||||||
{
|
{
|
||||||
var service = App.GetService(
|
var service = App.GetService(App.EffectiveTypes.Single(x => x.FullName == "NetAdmin.SysComponent.Cache.Sys.Dependency.IUserCache"));
|
||||||
App.EffectiveTypes.Single(x => x.FullName == "NetAdmin.SysComponent.Application.Services.Sys.Dependency.IUserService"));
|
|
||||||
|
|
||||||
var req = new QueryReq<QueryUserReq> { Filter = new QueryUserReq { Id = (long)value! } };
|
var req = new QueryReq<QueryUserReq> { Filter = new QueryUserReq { Id = (long)value! } };
|
||||||
|
|
||||||
|
@ -5,15 +5,10 @@ namespace NetAdmin.Domain.Attributes;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Enum)]
|
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Enum)]
|
||||||
public sealed class IndicatorAttribute(string indicate, bool pulse) : Attribute
|
public sealed class IndicatorAttribute(string indicate) : Attribute
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 状态指示
|
/// 状态指示
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Indicate { get; } = indicate;
|
public string Indicate { get; } = indicate;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 脉动
|
|
||||||
/// </summary>
|
|
||||||
public bool Pulse { get; } = pulse;
|
|
||||||
}
|
}
|
@ -25,7 +25,7 @@ public abstract record ImmutableEntity<T> : LiteImmutableEntity<T>, IFieldCreate
|
|||||||
[Column(CanUpdate = false, Position = -1)]
|
[Column(CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual long? CreatedUserId { get; init; }
|
public long? CreatedUserId { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建者用户名
|
/// 创建者用户名
|
||||||
|
@ -11,7 +11,11 @@ public record Sys_DocContent : VersionEntity, IFieldEnabled, IFieldOwner
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 文档正文
|
/// 文档正文
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string Body { get; init; }
|
public virtual string Body { get; init; }
|
||||||
|
@ -59,10 +59,10 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上次执行状态
|
/// 上次执行状态
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_SMALL_INT)]
|
[Column]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public int? LastStatusCode { get; init; }
|
public HttpStatusCode? LastStatusCode { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 下次执行时间
|
/// 下次执行时间
|
||||||
@ -99,7 +99,11 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求体
|
/// 请求体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestBody { get; init; }
|
public virtual string RequestBody { get; init; }
|
||||||
@ -107,7 +111,11 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求头
|
/// 请求头
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestHeader { get; init; }
|
public virtual string RequestHeader { get; init; }
|
||||||
@ -115,7 +123,11 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求的网络地址
|
/// 请求的网络地址
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestUrl { get; init; }
|
public virtual string RequestUrl { get; init; }
|
||||||
@ -131,7 +143,11 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 备注
|
/// 备注
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string Summary { get; init; }
|
public virtual string Summary { get; init; }
|
||||||
|
@ -53,7 +53,11 @@ public record Sys_JobRecord : LiteImmutableEntity
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求体
|
/// 请求体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestBody { get; init; }
|
public virtual string RequestBody { get; init; }
|
||||||
@ -61,7 +65,11 @@ public record Sys_JobRecord : LiteImmutableEntity
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求头
|
/// 请求头
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestHeader { get; init; }
|
public virtual string RequestHeader { get; init; }
|
||||||
@ -77,7 +85,11 @@ public record Sys_JobRecord : LiteImmutableEntity
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 响应体
|
/// 响应体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string ResponseBody { get; init; }
|
public virtual string ResponseBody { get; init; }
|
||||||
@ -85,7 +97,11 @@ public record Sys_JobRecord : LiteImmutableEntity
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 响应头
|
/// 响应头
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string ResponseHeader { get; init; }
|
public virtual string ResponseHeader { get; init; }
|
||||||
|
@ -28,7 +28,11 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建者客户端用户代理
|
/// 创建者客户端用户代理
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
#if DBTYPE_SQLSERVER
|
||||||
[Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_1022)]
|
[Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_1022)]
|
||||||
|
#else
|
||||||
|
[Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string CreatedUserAgent { get; init; }
|
public virtual string CreatedUserAgent { get; init; }
|
||||||
@ -92,7 +96,11 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求内容
|
/// 请求内容
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestBody { get; protected init; }
|
public virtual string RequestBody { get; protected init; }
|
||||||
@ -100,7 +108,11 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求头信息
|
/// 请求头信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestHeaders { get; protected init; }
|
public virtual string RequestHeaders { get; protected init; }
|
||||||
@ -116,7 +128,11 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 响应内容
|
/// 响应内容
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string ResponseBody { get; protected init; }
|
public virtual string ResponseBody { get; protected init; }
|
||||||
@ -124,7 +140,11 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 响应头
|
/// 响应头
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string ResponseHeaders { get; protected init; }
|
public virtual string ResponseHeaders { get; protected init; }
|
||||||
|
@ -18,7 +18,11 @@ public record Sys_RequestLogDetail : SimpleEntity, IFieldCreatedTime, IFieldCrea
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建者客户端用户代理
|
/// 创建者客户端用户代理
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
#if DBTYPE_SQLSERVER
|
||||||
[Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_1022)]
|
[Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_1022)]
|
||||||
|
#else
|
||||||
|
[Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string CreatedUserAgent { get; init; }
|
public virtual string CreatedUserAgent { get; init; }
|
||||||
@ -34,7 +38,11 @@ public record Sys_RequestLogDetail : SimpleEntity, IFieldCreatedTime, IFieldCrea
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异常信息
|
/// 异常信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string Exception { get; init; }
|
public virtual string Exception { get; init; }
|
||||||
@ -42,7 +50,11 @@ public record Sys_RequestLogDetail : SimpleEntity, IFieldCreatedTime, IFieldCrea
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求内容
|
/// 请求内容
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestBody { get; init; }
|
public virtual string RequestBody { get; init; }
|
||||||
@ -58,7 +70,11 @@ public record Sys_RequestLogDetail : SimpleEntity, IFieldCreatedTime, IFieldCrea
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求头信息
|
/// 请求头信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string RequestHeaders { get; init; }
|
public virtual string RequestHeaders { get; init; }
|
||||||
@ -74,7 +90,11 @@ public record Sys_RequestLogDetail : SimpleEntity, IFieldCreatedTime, IFieldCrea
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 响应内容
|
/// 响应内容
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string ResponseBody { get; init; }
|
public virtual string ResponseBody { get; init; }
|
||||||
@ -90,7 +110,11 @@ public record Sys_RequestLogDetail : SimpleEntity, IFieldCreatedTime, IFieldCrea
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 响应头
|
/// 响应头
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string ResponseHeaders { get; init; }
|
public virtual string ResponseHeaders { get; init; }
|
||||||
|
@ -21,7 +21,11 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 仪表板布局
|
/// 仪表板布局
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string DashboardLayout { get; set; }
|
public virtual string DashboardLayout { get; set; }
|
||||||
|
@ -12,7 +12,11 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 消息内容
|
/// 消息内容
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string Content { get; init; }
|
public virtual string Content { get; init; }
|
||||||
|
@ -11,7 +11,11 @@ public record Sys_UserProfile : VersionEntity, IRegister
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 应用配置
|
/// 应用配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLGL_DB_FIELD_TYPE_VARCHAR_MAX)]
|
#if DBTYPE_SQLSERVER
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
|
||||||
|
#else
|
||||||
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
|
||||||
|
#endif
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string AppConfig { get; set; }
|
public virtual string AppConfig { get; set; }
|
||||||
|
@ -40,7 +40,7 @@ public record QueryReq<T> : DataAbstraction
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 所需字段
|
/// 所需字段
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string[] RequiredFields { get; init; }
|
public string[] RequiredFields { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 列表表达式
|
/// 列表表达式
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Api;
|
namespace NetAdmin.Domain.Dto.Sys.Api;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
namespace NetAdmin.Domain.Dto.Sys.Api;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 请求:编辑接口
|
|
||||||
/// </summary>
|
|
||||||
public sealed record EditApiReq : Sys_Api;
|
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Api;
|
namespace NetAdmin.Domain.Dto.Sys.Api;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Api;
|
namespace NetAdmin.Domain.Dto.Sys.Api;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Config;
|
namespace NetAdmin.Domain.Dto.Sys.Config;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.Dept;
|
using NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
using NetAdmin.Domain.Dto.Sys.Role;
|
using NetAdmin.Domain.Dto.Sys.Role;
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Config;
|
namespace NetAdmin.Domain.Dto.Sys.Config;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.Dept;
|
using NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
using NetAdmin.Domain.Dto.Sys.Role;
|
using NetAdmin.Domain.Dto.Sys.Role;
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Config;
|
namespace NetAdmin.Domain.Dto.Sys.Config;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.Domain.Enums.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.Domain.Enums.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.Domain.Enums.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Job;
|
namespace NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Job;
|
namespace NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Job;
|
namespace NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using CronExpressionDescriptor;
|
using CronExpressionDescriptor;
|
||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.User;
|
using NetAdmin.Domain.Dto.Sys.User;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.Domain.Enums.Sys;
|
||||||
using Options = CronExpressionDescriptor.Options;
|
using Options = CronExpressionDescriptor.Options;
|
||||||
@ -19,11 +20,13 @@ public record QueryJobRsp : Sys_Job
|
|||||||
/// <inheritdoc cref="Sys_Job.LastStatusCode" />
|
/// <inheritdoc cref="Sys_Job.LastStatusCode" />
|
||||||
[JsonInclude]
|
[JsonInclude]
|
||||||
public new virtual string LastStatusCode =>
|
public new virtual string LastStatusCode =>
|
||||||
|
#pragma warning disable IDE0072
|
||||||
base.LastStatusCode switch {
|
base.LastStatusCode switch {
|
||||||
|
#pragma warning restore IDE0072
|
||||||
null => null
|
null => null
|
||||||
, _ => base.LastStatusCode.Value == Numbers.HTTP_STATUS_BIZ_FAIL
|
, _ => (int)base.LastStatusCode.Value == Numbers.HTTP_STATUS_BIZ_FAIL
|
||||||
? nameof(ErrorCodes.Unhandled).ToLowerCamelCase()
|
? nameof(ErrorCodes.Unhandled).ToLowerCamelCase()
|
||||||
: ((HttpStatusCode)base.LastStatusCode.Value).ToString().ToLowerCamelCase()
|
: base.LastStatusCode.Value.ToString().ToLowerCamelCase()
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <inheritdoc cref="IFieldCreatedTime.CreatedTime" />
|
/// <inheritdoc cref="IFieldCreatedTime.CreatedTime" />
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Job;
|
namespace NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求:创建计划作业执行记录
|
/// 请求:创建计划作业执行记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public record CreateJobRecordReq : Sys_JobRecord;
|
public sealed record CreateJobRecordReq : Sys_JobRecord;
|
@ -1,6 +0,0 @@
|
|||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 请求:编辑计划作业执行记录
|
|
||||||
/// </summary>
|
|
||||||
public sealed record EditJobRecordReq : CreateJobRecordReq;
|
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.Job;
|
using NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.Job;
|
using NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
||||||
|