mirror of
https://github.com/nsnail/NetAdmin.git
synced 2025-04-23 14:42:51 +08:00
refactor: ♻️ 框架&业务代码分离 (#185)
Co-authored-by: tk <fiyne1a@dingtalk.com>
This commit is contained in:
parent
072cc1e491
commit
13ba536df2
1
.github/workflows/README.md
vendored
Normal file
1
.github/workflows/README.md
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
github workflows
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -397,6 +397,7 @@ FodyWeavers.xsd
|
|||||||
# JetBrains Rider
|
# JetBrains Rider
|
||||||
*.sln.iml
|
*.sln.iml
|
||||||
.idea/
|
.idea/
|
||||||
|
!src/backend/CloudCode.DataGrip/.idea
|
||||||
|
|
||||||
# User Define
|
# User Define
|
||||||
dist/
|
dist/
|
||||||
|
6
.gitmodules
vendored
6
.gitmodules
vendored
@ -1,6 +1,6 @@
|
|||||||
[submodule "refs/Furion"]
|
[submodule "refs/Gurion"]
|
||||||
path = refs/Furion
|
path = refs/Gurion
|
||||||
url = https://github.com/nsnail/Furion.git
|
url = https://github.com/nsnail/Gurion.git
|
||||||
[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
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<!-- 注意此文件名大小写不可变更 -->
|
<!-- 注意此文件名大小写不可变更 -->
|
||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
<DefineConstants>DBTYPE_SQLITE</DefineConstants>
|
||||||
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
|
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(SolutionDir)/build/minver.targets" />
|
<Import Project="$(SolutionDir)/build/minver.targets" />
|
||||||
|
45
NetAdmin.sln
45
NetAdmin.sln
@ -31,6 +31,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{BB0B
|
|||||||
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
|
||||||
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
|
||||||
@ -39,13 +40,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{BB0B
|
|||||||
gen.id.linq = scripts/gen.id.linq
|
gen.id.linq = scripts/gen.id.linq
|
||||||
gen.ln.cmd = scripts/gen.ln.cmd
|
gen.ln.cmd = scripts/gen.ln.cmd
|
||||||
gen.resx.tt = scripts/gen.resx.tt
|
gen.resx.tt = scripts/gen.resx.tt
|
||||||
git.del.obsolete.tags.ps1 = scripts/git.del.obsolete.tags.ps1
|
|
||||||
image.optimize.csx = scripts/image.optimize.csx
|
image.optimize.csx = scripts/image.optimize.csx
|
||||||
install.as.tpl.ps1 = scripts/install.as.tpl.ps1
|
install.as.tpl.ps1 = scripts/install.as.tpl.ps1
|
||||||
rename.csx = scripts/rename.csx
|
rename.csx = scripts/rename.csx
|
||||||
resharper.full.ps1 = scripts/resharper.full.ps1
|
resharper.full.ps1 = scripts/resharper.full.ps1
|
||||||
switcher.freesql.json = scripts/switcher.freesql.json
|
switcher.freesql.json = scripts/switcher.freesql.json
|
||||||
switcher.furion.json = scripts/switcher.furion.json
|
switcher.gurion.json = scripts/switcher.gurion.json
|
||||||
switcher.nsext.json = scripts/switcher.nsext.json
|
switcher.nsext.json = scripts/switcher.nsext.json
|
||||||
switcher.ps1 = scripts/switcher.ps1
|
switcher.ps1 = scripts/switcher.ps1
|
||||||
sync.sln.files.csx = scripts/sync.sln.files.csx
|
sync.sln.files.csx = scripts/sync.sln.files.csx
|
||||||
@ -57,6 +57,7 @@ EndProject
|
|||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C6F049E-3EE8-4D66-9AFF-E8A369032487}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C6F049E-3EE8-4D66-9AFF-E8A369032487}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
nightly-build.yml = .github/workflows/nightly-build.yml
|
nightly-build.yml = .github/workflows/nightly-build.yml
|
||||||
|
README.md = .github/workflows/README.md
|
||||||
release.yml = .github/workflows/release.yml
|
release.yml = .github/workflows/release.yml
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
@ -99,10 +100,25 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01.frameworks", "01.framewo
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04.tests", "04.tests", "{89260294-80FC-49F1-8D73-AECD39AFF2B7}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04.tests", "04.tests", "{89260294-80FC-49F1-8D73-AECD39AFF2B7}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.AdmServer.Tests", "src\backend\NetAdmin.AdmServer.Tests\NetAdmin.AdmServer.Tests.csproj", "{C7F27698-DA05-4ACD-B0D7-4791B3972002}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "05.tools", "05.tools", "{79409163-5006-405D-AC96-406FA0AD77B7}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "src\backend\UnitTests\UnitTests.csproj", "{C7F27698-DA05-4ACD-B0D7-4791B3972002}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Tests", "src\backend\NetAdmin.Tests\NetAdmin.Tests.csproj", "{00604162-C444-478B-B773-3AB23C856CA7}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Tests", "src\backend\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}") = "NetAdmin.SysComponent.Domain", "src\backend\NetAdmin.SysComponent.Domain\NetAdmin.SysComponent.Domain.csproj", "{51D6E603-0749-4A11-A78C-9E5BB127E03A}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.AdmServer.Domain", "src\backend\NetAdmin.AdmServer.Domain\NetAdmin.AdmServer.Domain.csproj", "{932520DF-D312-415A-A128-1117F8221D68}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.AdmServer.Infrastructure", "src\backend\NetAdmin.AdmServer.Infrastructure\NetAdmin.AdmServer.Infrastructure.csproj", "{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.SysComponent.Infrastructure", "src\backend\NetAdmin.SysComponent.Infrastructure\NetAdmin.SysComponent.Infrastructure.csproj", "{48EE6FC4-B64A-40D3-B889-36837E067880}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@ -164,6 +180,22 @@ Global
|
|||||||
{00604162-C444-478B-B773-3AB23C856CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{00604162-C444-478B-B773-3AB23C856CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.Build.0 = Release|Any CPU
|
{00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{51D6E603-0749-4A11-A78C-9E5BB127E03A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{51D6E603-0749-4A11-A78C-9E5BB127E03A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{51D6E603-0749-4A11-A78C-9E5BB127E03A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{51D6E603-0749-4A11-A78C-9E5BB127E03A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{48EE6FC4-B64A-40D3-B889-36837E067880}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{48EE6FC4-B64A-40D3-B889-36837E067880}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{48EE6FC4-B64A-40D3-B889-36837E067880}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{48EE6FC4-B64A-40D3-B889-36837E067880}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(NestedProjects) = preSolution
|
GlobalSection(NestedProjects) = preSolution
|
||||||
{4DAF9366-855F-46BB-AE4C-660C92FA0697} = {C84EB5A0-37AD-4B17-A51E-E36888C4441E}
|
{4DAF9366-855F-46BB-AE4C-660C92FA0697} = {C84EB5A0-37AD-4B17-A51E-E36888C4441E}
|
||||||
@ -180,10 +212,15 @@ Global
|
|||||||
{CE895E44-EEC3-4ECE-A56A-8A82E7D863E3} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
{CE895E44-EEC3-4ECE-A56A-8A82E7D863E3} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
{89260294-80FC-49F1-8D73-AECD39AFF2B7} = {4DAF9366-855F-46BB-AE4C-660C92FA0697}
|
{89260294-80FC-49F1-8D73-AECD39AFF2B7} = {4DAF9366-855F-46BB-AE4C-660C92FA0697}
|
||||||
{C7F27698-DA05-4ACD-B0D7-4791B3972002} = {89260294-80FC-49F1-8D73-AECD39AFF2B7}
|
{C7F27698-DA05-4ACD-B0D7-4791B3972002} = {89260294-80FC-49F1-8D73-AECD39AFF2B7}
|
||||||
{3C6F049E-3EE8-4D66-9AFF-E8A369032487} = {1129FE25-466B-4F4F-85FC-3752664245E1}
|
|
||||||
{00604162-C444-478B-B773-3AB23C856CA7} = {D9C3EF66-2757-473D-A26B-54FD08DA203F}
|
{00604162-C444-478B-B773-3AB23C856CA7} = {D9C3EF66-2757-473D-A26B-54FD08DA203F}
|
||||||
{34650E82-D257-46DA-BD6B-DE307113347B} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
{34650E82-D257-46DA-BD6B-DE307113347B} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
||||||
{19872A4C-3C9A-4C62-A33B-74F5B8D6F77C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
{19872A4C-3C9A-4C62-A33B-74F5B8D6F77C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
||||||
{C2CC1596-3BEE-43EA-A9BE-4EDE5716296C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
{C2CC1596-3BEE-43EA-A9BE-4EDE5716296C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
||||||
|
{79409163-5006-405D-AC96-406FA0AD77B7} = {4DAF9366-855F-46BB-AE4C-660C92FA0697}
|
||||||
|
{51D6E603-0749-4A11-A78C-9E5BB127E03A} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
|
{48EE6FC4-B64A-40D3-B889-36837E067880} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
||||||
|
{3C6F049E-3EE8-4D66-9AFF-E8A369032487} = {1129FE25-466B-4F4F-85FC-3752664245E1}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
@ -27,6 +27,256 @@
|
|||||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ACCESSOR_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
|
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ACCESSOR_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
|
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_RECORD_FIELD_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
|
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_RECORD_FIELD_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AD/@EntryIndexedValue">AD</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AE/@EntryIndexedValue">AE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AF/@EntryIndexedValue">AF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AG/@EntryIndexedValue">AG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AI/@EntryIndexedValue">AI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AL/@EntryIndexedValue">AL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AM/@EntryIndexedValue">AM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AO/@EntryIndexedValue">AO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AQ/@EntryIndexedValue">AQ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AR/@EntryIndexedValue">AR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AS/@EntryIndexedValue">AS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AT/@EntryIndexedValue">AT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AU/@EntryIndexedValue">AU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AW/@EntryIndexedValue">AW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AX/@EntryIndexedValue">AX</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AZ/@EntryIndexedValue">AZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BA/@EntryIndexedValue">BA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BB/@EntryIndexedValue">BB</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BD/@EntryIndexedValue">BD</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BE/@EntryIndexedValue">BE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BF/@EntryIndexedValue">BF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BG/@EntryIndexedValue">BG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BH/@EntryIndexedValue">BH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BI/@EntryIndexedValue">BI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BJ/@EntryIndexedValue">BJ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BL/@EntryIndexedValue">BL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BM/@EntryIndexedValue">BM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BN/@EntryIndexedValue">BN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BO/@EntryIndexedValue">BO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BQ/@EntryIndexedValue">BQ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BR/@EntryIndexedValue">BR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BS/@EntryIndexedValue">BS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BT/@EntryIndexedValue">BT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BV/@EntryIndexedValue">BV</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BW/@EntryIndexedValue">BW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BY/@EntryIndexedValue">BY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=BZ/@EntryIndexedValue">BZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CA/@EntryIndexedValue">CA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CC/@EntryIndexedValue">CC</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CD/@EntryIndexedValue">CD</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CF/@EntryIndexedValue">CF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CG/@EntryIndexedValue">CG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CH/@EntryIndexedValue">CH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CI/@EntryIndexedValue">CI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CK/@EntryIndexedValue">CK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CL/@EntryIndexedValue">CL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CM/@EntryIndexedValue">CM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CN/@EntryIndexedValue">CN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CO/@EntryIndexedValue">CO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CR/@EntryIndexedValue">CR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CU/@EntryIndexedValue">CU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CV/@EntryIndexedValue">CV</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CW/@EntryIndexedValue">CW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CX/@EntryIndexedValue">CX</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CY/@EntryIndexedValue">CY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CZ/@EntryIndexedValue">CZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DE/@EntryIndexedValue">DE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DJ/@EntryIndexedValue">DJ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DK/@EntryIndexedValue">DK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DM/@EntryIndexedValue">DM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DO/@EntryIndexedValue">DO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DZ/@EntryIndexedValue">DZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=EC/@EntryIndexedValue">EC</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=EE/@EntryIndexedValue">EE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=EG/@EntryIndexedValue">EG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=EH/@EntryIndexedValue">EH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ER/@EntryIndexedValue">ER</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ES/@EntryIndexedValue">ES</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ET/@EntryIndexedValue">ET</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FI/@EntryIndexedValue">FI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FJ/@EntryIndexedValue">FJ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FK/@EntryIndexedValue">FK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FM/@EntryIndexedValue">FM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FO/@EntryIndexedValue">FO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FR/@EntryIndexedValue">FR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GA/@EntryIndexedValue">GA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GB/@EntryIndexedValue">GB</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GD/@EntryIndexedValue">GD</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GE/@EntryIndexedValue">GE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GF/@EntryIndexedValue">GF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GG/@EntryIndexedValue">GG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GH/@EntryIndexedValue">GH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GI/@EntryIndexedValue">GI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GL/@EntryIndexedValue">GL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GM/@EntryIndexedValue">GM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GN/@EntryIndexedValue">GN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GP/@EntryIndexedValue">GP</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GQ/@EntryIndexedValue">GQ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GR/@EntryIndexedValue">GR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GS/@EntryIndexedValue">GS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GT/@EntryIndexedValue">GT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GU/@EntryIndexedValue">GU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GW/@EntryIndexedValue">GW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GY/@EntryIndexedValue">GY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HK/@EntryIndexedValue">HK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HM/@EntryIndexedValue">HM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HN/@EntryIndexedValue">HN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HR/@EntryIndexedValue">HR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HT/@EntryIndexedValue">HT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HU/@EntryIndexedValue">HU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ID/@EntryIndexedValue">ID</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IE/@EntryIndexedValue">IE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IL/@EntryIndexedValue">IL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IM/@EntryIndexedValue">IM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IN/@EntryIndexedValue">IN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IO/@EntryIndexedValue">IO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IQ/@EntryIndexedValue">IQ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IR/@EntryIndexedValue">IR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IS/@EntryIndexedValue">IS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IT/@EntryIndexedValue">IT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=JE/@EntryIndexedValue">JE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=JM/@EntryIndexedValue">JM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=JO/@EntryIndexedValue">JO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=JP/@EntryIndexedValue">JP</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KE/@EntryIndexedValue">KE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KG/@EntryIndexedValue">KG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KH/@EntryIndexedValue">KH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KI/@EntryIndexedValue">KI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KM/@EntryIndexedValue">KM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KN/@EntryIndexedValue">KN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KP/@EntryIndexedValue">KP</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KR/@EntryIndexedValue">KR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KW/@EntryIndexedValue">KW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KY/@EntryIndexedValue">KY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KZ/@EntryIndexedValue">KZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LA/@EntryIndexedValue">LA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LB/@EntryIndexedValue">LB</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LC/@EntryIndexedValue">LC</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LI/@EntryIndexedValue">LI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LK/@EntryIndexedValue">LK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LR/@EntryIndexedValue">LR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LS/@EntryIndexedValue">LS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LT/@EntryIndexedValue">LT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LU/@EntryIndexedValue">LU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LV/@EntryIndexedValue">LV</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LY/@EntryIndexedValue">LY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MA/@EntryIndexedValue">MA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MC/@EntryIndexedValue">MC</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MD/@EntryIndexedValue">MD</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ME/@EntryIndexedValue">ME</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MF/@EntryIndexedValue">MF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MG/@EntryIndexedValue">MG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MH/@EntryIndexedValue">MH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MK/@EntryIndexedValue">MK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ML/@EntryIndexedValue">ML</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MM/@EntryIndexedValue">MM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MN/@EntryIndexedValue">MN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MO/@EntryIndexedValue">MO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MP/@EntryIndexedValue">MP</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MQ/@EntryIndexedValue">MQ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MR/@EntryIndexedValue">MR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MS/@EntryIndexedValue">MS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MT/@EntryIndexedValue">MT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MU/@EntryIndexedValue">MU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MV/@EntryIndexedValue">MV</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MW/@EntryIndexedValue">MW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MX/@EntryIndexedValue">MX</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MY/@EntryIndexedValue">MY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MZ/@EntryIndexedValue">MZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NA/@EntryIndexedValue">NA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NC/@EntryIndexedValue">NC</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NE/@EntryIndexedValue">NE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NF/@EntryIndexedValue">NF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NG/@EntryIndexedValue">NG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NI/@EntryIndexedValue">NI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NL/@EntryIndexedValue">NL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NO/@EntryIndexedValue">NO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NP/@EntryIndexedValue">NP</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NR/@EntryIndexedValue">NR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NU/@EntryIndexedValue">NU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=NZ/@EntryIndexedValue">NZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=OM/@EntryIndexedValue">OM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=OTP/@EntryIndexedValue">OTP</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PA/@EntryIndexedValue">PA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PE/@EntryIndexedValue">PE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PF/@EntryIndexedValue">PF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PG/@EntryIndexedValue">PG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PH/@EntryIndexedValue">PH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PK/@EntryIndexedValue">PK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PL/@EntryIndexedValue">PL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PM/@EntryIndexedValue">PM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PN/@EntryIndexedValue">PN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PR/@EntryIndexedValue">PR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PS/@EntryIndexedValue">PS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PT/@EntryIndexedValue">PT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PW/@EntryIndexedValue">PW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PY/@EntryIndexedValue">PY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=QA/@EntryIndexedValue">QA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RE/@EntryIndexedValue">RE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RO/@EntryIndexedValue">RO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RS/@EntryIndexedValue">RS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RU/@EntryIndexedValue">RU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RW/@EntryIndexedValue">RW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SA/@EntryIndexedValue">SA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SB/@EntryIndexedValue">SB</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SC/@EntryIndexedValue">SC</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SD/@EntryIndexedValue">SD</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SE/@EntryIndexedValue">SE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SG/@EntryIndexedValue">SG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SH/@EntryIndexedValue">SH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SI/@EntryIndexedValue">SI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SJ/@EntryIndexedValue">SJ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SK/@EntryIndexedValue">SK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SL/@EntryIndexedValue">SL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SM/@EntryIndexedValue">SM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SN/@EntryIndexedValue">SN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SO/@EntryIndexedValue">SO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SR/@EntryIndexedValue">SR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SS/@EntryIndexedValue">SS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ST/@EntryIndexedValue">ST</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SV/@EntryIndexedValue">SV</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SX/@EntryIndexedValue">SX</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SY/@EntryIndexedValue">SY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SZ/@EntryIndexedValue">SZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TC/@EntryIndexedValue">TC</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TD/@EntryIndexedValue">TD</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TF/@EntryIndexedValue">TF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TG/@EntryIndexedValue">TG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TH/@EntryIndexedValue">TH</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TJ/@EntryIndexedValue">TJ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TK/@EntryIndexedValue">TK</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TL/@EntryIndexedValue">TL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TM/@EntryIndexedValue">TM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TN/@EntryIndexedValue">TN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TO/@EntryIndexedValue">TO</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TR/@EntryIndexedValue">TR</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TT/@EntryIndexedValue">TT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TV/@EntryIndexedValue">TV</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TW/@EntryIndexedValue">TW</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TZ/@EntryIndexedValue">TZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UA/@EntryIndexedValue">UA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UG/@EntryIndexedValue">UG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UM/@EntryIndexedValue">UM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=US/@EntryIndexedValue">US</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UY/@EntryIndexedValue">UY</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UZ/@EntryIndexedValue">UZ</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=VA/@EntryIndexedValue">VA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=VC/@EntryIndexedValue">VC</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=VE/@EntryIndexedValue">VE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=VG/@EntryIndexedValue">VG</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=VI/@EntryIndexedValue">VI</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=VN/@EntryIndexedValue">VN</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=VU/@EntryIndexedValue">VU</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=WF/@EntryIndexedValue">WF</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=WS/@EntryIndexedValue">WS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=YE/@EntryIndexedValue">YE</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=YT/@EntryIndexedValue">YT</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ZA/@EntryIndexedValue">ZA</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ZM/@EntryIndexedValue">ZM</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ZW/@EntryIndexedValue">ZW</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=15b5b1f1_002D457c_002D4ca6_002Db278_002D5615aedc07d3/@EntryIndexedValue"><Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static readonly fields (private)"><ElementKinds><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /></Policy></s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=15b5b1f1_002D457c_002D4ca6_002Db278_002D5615aedc07d3/@EntryIndexedValue"><Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static readonly fields (private)"><ElementKinds><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /></Policy></s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=236f7aa5_002D7b06_002D43ca_002Dbf2a_002D9b31bfcff09a/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Private" Description="Constant fields (private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="_" Suffix="" Style="AA_BB" /></Policy></s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=236f7aa5_002D7b06_002D43ca_002Dbf2a_002D9b31bfcff09a/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Private" Description="Constant fields (private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="_" Suffix="" Style="AA_BB" /></Policy></s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=669e5282_002Dfb4b_002D4e90_002D91e7_002D07d269d04b60/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Protected, ProtectedInternal, Internal, Public, PrivateProtected" Description="Constant fields (not private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" /></Policy></s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=669e5282_002Dfb4b_002D4e90_002D91e7_002D07d269d04b60/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Protected, ProtectedInternal, Internal, Public, PrivateProtected" Description="Constant fields (not private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" /></Policy></s:String>
|
||||||
|
249
assets/res/CountryCodes.ln
Normal file
249
assets/res/CountryCodes.ln
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
不丹
|
||||||
|
东帝汶
|
||||||
|
中国
|
||||||
|
中非
|
||||||
|
丹麦
|
||||||
|
乌克兰
|
||||||
|
乌兹别克斯坦
|
||||||
|
乌干达
|
||||||
|
乌拉圭
|
||||||
|
乍得
|
||||||
|
也门
|
||||||
|
亚美尼亚
|
||||||
|
以色列
|
||||||
|
伊拉克
|
||||||
|
伊朗
|
||||||
|
伯利兹
|
||||||
|
佛得角
|
||||||
|
俄罗斯
|
||||||
|
保加利亚
|
||||||
|
克罗地亚
|
||||||
|
关岛
|
||||||
|
冈比亚
|
||||||
|
冰岛
|
||||||
|
几内亚
|
||||||
|
几内亚比绍
|
||||||
|
列支敦士登
|
||||||
|
刚果共和国
|
||||||
|
刚果民主共和国
|
||||||
|
利比亚
|
||||||
|
利比里亚
|
||||||
|
加拿大
|
||||||
|
加纳
|
||||||
|
加蓬
|
||||||
|
匈牙利
|
||||||
|
北马其顿
|
||||||
|
北马里亚纳群岛
|
||||||
|
南乔治亚和南桑威奇群岛
|
||||||
|
南极洲
|
||||||
|
南苏丹
|
||||||
|
南非
|
||||||
|
博茨瓦纳
|
||||||
|
卡塔尔
|
||||||
|
卢旺达
|
||||||
|
卢森堡
|
||||||
|
印度
|
||||||
|
印度尼西亚
|
||||||
|
危地马拉
|
||||||
|
厄瓜多尔
|
||||||
|
厄立特里亚
|
||||||
|
叙利亚
|
||||||
|
古巴
|
||||||
|
台湾
|
||||||
|
吉尔吉斯斯坦
|
||||||
|
吉布提
|
||||||
|
哈萨克斯坦
|
||||||
|
哥伦比亚
|
||||||
|
哥斯达黎加
|
||||||
|
喀麦隆
|
||||||
|
图瓦卢
|
||||||
|
土库曼斯坦
|
||||||
|
土耳其
|
||||||
|
圣卢西亚
|
||||||
|
圣基茨和尼维斯
|
||||||
|
圣多美和普林西比
|
||||||
|
圣巴泰勒米
|
||||||
|
圣文森特和格林纳丁斯
|
||||||
|
圣皮埃尔和密克隆
|
||||||
|
圣诞岛
|
||||||
|
圣赫勒拿
|
||||||
|
圣马力诺
|
||||||
|
圭亚那
|
||||||
|
坦桑尼亚
|
||||||
|
埃及
|
||||||
|
埃塞俄比亚
|
||||||
|
基里巴斯
|
||||||
|
塔吉克斯坦
|
||||||
|
塞内加尔
|
||||||
|
塞尔维亚
|
||||||
|
塞拉利昂
|
||||||
|
塞浦路斯
|
||||||
|
塞舌尔
|
||||||
|
墨西哥
|
||||||
|
多哥
|
||||||
|
多米尼克
|
||||||
|
多米尼加
|
||||||
|
奥兰
|
||||||
|
奥地利
|
||||||
|
委内瑞拉
|
||||||
|
孟加拉国
|
||||||
|
安哥拉
|
||||||
|
安圭拉
|
||||||
|
安提瓜和巴布达
|
||||||
|
安道尔
|
||||||
|
密克罗尼西亚联邦
|
||||||
|
尼加拉瓜
|
||||||
|
尼日利亚
|
||||||
|
尼日尔
|
||||||
|
尼泊尔
|
||||||
|
巴勒斯坦
|
||||||
|
巴哈马
|
||||||
|
巴基斯坦
|
||||||
|
巴巴多斯
|
||||||
|
巴布亚新几内亚
|
||||||
|
巴拉圭
|
||||||
|
巴拿马
|
||||||
|
巴林
|
||||||
|
巴西
|
||||||
|
布基纳法索
|
||||||
|
布隆迪
|
||||||
|
布韦岛
|
||||||
|
希腊
|
||||||
|
帕劳
|
||||||
|
库克群岛
|
||||||
|
库拉索
|
||||||
|
开曼群岛
|
||||||
|
德国
|
||||||
|
意大利
|
||||||
|
所罗门群岛
|
||||||
|
托克劳
|
||||||
|
拉脱维亚
|
||||||
|
挪威
|
||||||
|
捷克
|
||||||
|
摩尔多瓦
|
||||||
|
摩洛哥
|
||||||
|
摩纳哥
|
||||||
|
文莱
|
||||||
|
斐济
|
||||||
|
斯威士兰
|
||||||
|
斯洛伐克
|
||||||
|
斯洛文尼亚
|
||||||
|
斯瓦尔巴和扬马延
|
||||||
|
斯里兰卡
|
||||||
|
新加坡
|
||||||
|
新喀里多尼亚
|
||||||
|
新西兰
|
||||||
|
日本
|
||||||
|
智利
|
||||||
|
朝鲜
|
||||||
|
柬埔寨
|
||||||
|
根西
|
||||||
|
格林纳达
|
||||||
|
格陵兰
|
||||||
|
格鲁吉亚
|
||||||
|
梵蒂冈
|
||||||
|
比利时
|
||||||
|
毛里塔尼亚
|
||||||
|
毛里求斯
|
||||||
|
汤加
|
||||||
|
沙特阿拉伯
|
||||||
|
法国
|
||||||
|
法属南部和南极领地
|
||||||
|
法属圣马丁
|
||||||
|
法属圭亚那
|
||||||
|
法属波利尼西亚
|
||||||
|
法罗群岛
|
||||||
|
波兰
|
||||||
|
波多黎各
|
||||||
|
波黑
|
||||||
|
泰国
|
||||||
|
泽西
|
||||||
|
津巴布韦
|
||||||
|
洪都拉斯
|
||||||
|
海地
|
||||||
|
澳大利亚
|
||||||
|
澳门
|
||||||
|
爱尔兰
|
||||||
|
爱沙尼亚
|
||||||
|
牙买加
|
||||||
|
特克斯和凯科斯群岛
|
||||||
|
特立尼达和多巴哥
|
||||||
|
玻利维亚
|
||||||
|
瑙鲁
|
||||||
|
瑞典
|
||||||
|
瑞士
|
||||||
|
瓜德罗普
|
||||||
|
瓦利斯和富图纳
|
||||||
|
瓦努阿图
|
||||||
|
留尼汪
|
||||||
|
白俄罗斯
|
||||||
|
百慕大
|
||||||
|
皮特凯恩群岛
|
||||||
|
直布罗陀
|
||||||
|
福克兰群岛
|
||||||
|
科威特
|
||||||
|
科摩罗
|
||||||
|
科特迪瓦
|
||||||
|
科科斯基林群岛
|
||||||
|
秘鲁
|
||||||
|
突尼斯
|
||||||
|
立陶宛
|
||||||
|
索马里
|
||||||
|
约旦
|
||||||
|
纳米比亚
|
||||||
|
纽埃
|
||||||
|
缅甸
|
||||||
|
罗马尼亚
|
||||||
|
美国
|
||||||
|
美国本土外小岛屿
|
||||||
|
美属维尔京群岛
|
||||||
|
美属萨摩亚
|
||||||
|
老挝
|
||||||
|
肯尼亚
|
||||||
|
芬兰
|
||||||
|
苏丹
|
||||||
|
苏里南
|
||||||
|
英国
|
||||||
|
英属印度洋领地
|
||||||
|
英属维尔京群岛
|
||||||
|
荷兰
|
||||||
|
荷兰加勒比区
|
||||||
|
荷属圣马丁
|
||||||
|
莫桑比克
|
||||||
|
莱索托
|
||||||
|
菲律宾
|
||||||
|
萨尔瓦多
|
||||||
|
萨摩亚
|
||||||
|
葡萄牙
|
||||||
|
蒙古
|
||||||
|
蒙特塞拉特
|
||||||
|
西撒哈拉
|
||||||
|
西班牙
|
||||||
|
诺福克岛
|
||||||
|
贝宁
|
||||||
|
赞比亚
|
||||||
|
赤道几内亚
|
||||||
|
赫德岛和麦克唐纳群岛
|
||||||
|
越南
|
||||||
|
阿塞拜疆
|
||||||
|
阿富汗
|
||||||
|
阿尔及利亚
|
||||||
|
阿尔巴尼亚
|
||||||
|
阿曼
|
||||||
|
阿根廷
|
||||||
|
阿联酋
|
||||||
|
阿鲁巴
|
||||||
|
韩国
|
||||||
|
香港
|
||||||
|
马尔代夫
|
||||||
|
马恩岛
|
||||||
|
马拉维
|
||||||
|
马提尼克
|
||||||
|
马来西亚
|
||||||
|
马约特
|
||||||
|
马绍尔群岛
|
||||||
|
马耳他
|
||||||
|
马达加斯加
|
||||||
|
马里
|
||||||
|
黎巴嫩
|
||||||
|
黑山
|
0
assets/res/NetAdmin.AdmServer.Fields.ln
Normal file
0
assets/res/NetAdmin.AdmServer.Fields.ln
Normal file
0
assets/res/NetAdmin.AdmServer.Statements.ln
Normal file
0
assets/res/NetAdmin.AdmServer.Statements.ln
Normal file
70
assets/res/NetAdmin.Fields.ln
Normal file
70
assets/res/NetAdmin.Fields.ln
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
不为其中之一
|
||||||
|
不以什么开始
|
||||||
|
不以什么结束
|
||||||
|
不包含
|
||||||
|
不排序
|
||||||
|
不等于
|
||||||
|
丧偶
|
||||||
|
中专
|
||||||
|
中共党员
|
||||||
|
为其中之一
|
||||||
|
以什么开始
|
||||||
|
以什么结束
|
||||||
|
保密
|
||||||
|
保密
|
||||||
|
信息
|
||||||
|
倒序排序
|
||||||
|
共青团员
|
||||||
|
出生证
|
||||||
|
初中
|
||||||
|
包含
|
||||||
|
博士
|
||||||
|
博士后
|
||||||
|
同步数据库结构
|
||||||
|
外国人居留证
|
||||||
|
外部错误
|
||||||
|
大专
|
||||||
|
大于
|
||||||
|
大于等于
|
||||||
|
女
|
||||||
|
女
|
||||||
|
宕机
|
||||||
|
小于
|
||||||
|
小于等于
|
||||||
|
小学
|
||||||
|
已婚
|
||||||
|
并且
|
||||||
|
成功
|
||||||
|
或者
|
||||||
|
护照
|
||||||
|
插入种子数据
|
||||||
|
无效操作
|
||||||
|
无效输入
|
||||||
|
日期范围
|
||||||
|
未处理异常
|
||||||
|
未婚
|
||||||
|
本科
|
||||||
|
比较数据库结构
|
||||||
|
港澳台通行证
|
||||||
|
男
|
||||||
|
男
|
||||||
|
硕士
|
||||||
|
示例导出
|
||||||
|
离异
|
||||||
|
等于
|
||||||
|
等于
|
||||||
|
等于
|
||||||
|
管理模块
|
||||||
|
系统模块
|
||||||
|
结果非预期
|
||||||
|
群众
|
||||||
|
自定义
|
||||||
|
范围
|
||||||
|
警告
|
||||||
|
调试
|
||||||
|
跟踪
|
||||||
|
身份证
|
||||||
|
错误
|
||||||
|
随机排序
|
||||||
|
顺序排序
|
||||||
|
高中
|
21
assets/res/NetAdmin.Statements.ln
Normal file
21
assets/res/NetAdmin.Statements.ln
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
6位数字
|
||||||
|
8位以上数字字母组合
|
||||||
|
XML注释文件不存在
|
||||||
|
中文姓名
|
||||||
|
事务已回滚
|
||||||
|
事务已提交
|
||||||
|
区号电话号码分机号
|
||||||
|
参数格式不正确
|
||||||
|
开始事务
|
||||||
|
支付宝账号
|
||||||
|
数据库同步开始
|
||||||
|
数据库结构同步完成
|
||||||
|
无效端口号
|
||||||
|
无效证件号码
|
||||||
|
时间表达式
|
||||||
|
用户名不能是手机号码
|
||||||
|
用户名长度4位以上
|
||||||
|
请求对象不能为空
|
||||||
|
邀请码不正确
|
||||||
|
配置文件初始化完毕
|
||||||
|
非JSON字符串
|
@ -2,66 +2,29 @@
|
|||||||
上次执行状态
|
上次执行状态
|
||||||
上次执行耗时
|
上次执行耗时
|
||||||
下次执行时间
|
下次执行时间
|
||||||
不为其中之一
|
|
||||||
不以什么开始
|
|
||||||
不以什么结束
|
|
||||||
不包含
|
|
||||||
不排序
|
|
||||||
不等于
|
|
||||||
丧偶
|
|
||||||
中专
|
|
||||||
中共党员
|
|
||||||
为其中之一
|
|
||||||
人工审核
|
人工审核
|
||||||
以什么开始
|
|
||||||
以什么结束
|
|
||||||
作业名称
|
作业名称
|
||||||
作业状态
|
作业状态
|
||||||
保密
|
|
||||||
信息
|
|
||||||
倒序排序
|
|
||||||
全部数据
|
全部数据
|
||||||
公告
|
公告
|
||||||
共青团员
|
|
||||||
出生证
|
|
||||||
创建时间
|
创建时间
|
||||||
初中
|
|
||||||
删除
|
删除
|
||||||
包含
|
|
||||||
博士
|
|
||||||
博士后
|
|
||||||
发送失败
|
发送失败
|
||||||
同步数据库结构
|
|
||||||
响应体
|
响应体
|
||||||
响应状态码
|
响应状态码
|
||||||
唯一编码
|
唯一编码
|
||||||
备注
|
备注
|
||||||
外国人居留证
|
|
||||||
外部错误
|
|
||||||
大专
|
|
||||||
大于
|
|
||||||
大于等于
|
|
||||||
女
|
|
||||||
字典内容导出
|
字典内容导出
|
||||||
宕机
|
|
||||||
客户端IP
|
客户端IP
|
||||||
小于
|
|
||||||
小于等于
|
|
||||||
小学
|
|
||||||
已发送
|
已发送
|
||||||
已婚
|
|
||||||
已校验
|
已校验
|
||||||
已读
|
已读
|
||||||
并且
|
|
||||||
成功
|
|
||||||
或者
|
|
||||||
所属角色
|
所属角色
|
||||||
所属部门
|
所属部门
|
||||||
手机
|
手机
|
||||||
手机号
|
手机号
|
||||||
执行耗时
|
执行耗时
|
||||||
执行计划
|
执行计划
|
||||||
护照
|
|
||||||
指定部门数据
|
指定部门数据
|
||||||
按钮
|
按钮
|
||||||
排序
|
排序
|
||||||
@ -69,66 +32,41 @@
|
|||||||
接口导出
|
接口导出
|
||||||
接口描述
|
接口描述
|
||||||
接口路径
|
接口路径
|
||||||
插入种子数据
|
|
||||||
操作系统
|
操作系统
|
||||||
数据范围
|
数据范围
|
||||||
无效操作
|
|
||||||
无效输入
|
|
||||||
无限权限
|
无限权限
|
||||||
日期范围
|
|
||||||
是否启用
|
是否启用
|
||||||
显示仪表板
|
显示仪表板
|
||||||
最后登录时间
|
最后登录时间
|
||||||
未处理异常
|
|
||||||
未婚
|
|
||||||
未读
|
未读
|
||||||
本人数据
|
本人数据
|
||||||
本科
|
|
||||||
本部门和下级部门数据
|
本部门和下级部门数据
|
||||||
本部门数据
|
本部门数据
|
||||||
框架
|
框架
|
||||||
比较数据库结构
|
|
||||||
注册
|
注册
|
||||||
消息主题
|
消息主题
|
||||||
消息摘要
|
消息摘要
|
||||||
消息类型
|
消息类型
|
||||||
港澳台通行证
|
|
||||||
用户代理
|
用户代理
|
||||||
用户名
|
用户名
|
||||||
用户导出
|
用户导出
|
||||||
电子邮箱
|
电子邮箱
|
||||||
男
|
|
||||||
登录
|
登录
|
||||||
登录名
|
登录名
|
||||||
登录日志导出
|
登录日志导出
|
||||||
硕士
|
|
||||||
示例导出
|
|
||||||
离异
|
|
||||||
空闲
|
空闲
|
||||||
站内信导出
|
站内信导出
|
||||||
等于
|
|
||||||
等待发送
|
等待发送
|
||||||
管理模块
|
|
||||||
系统模块
|
|
||||||
绑定手机号码
|
绑定手机号码
|
||||||
结果非预期
|
|
||||||
群众
|
|
||||||
自定义
|
|
||||||
范围
|
|
||||||
菜单
|
菜单
|
||||||
角色名称
|
角色名称
|
||||||
角色导出
|
角色导出
|
||||||
解绑手机号码
|
解绑手机号码
|
||||||
警告
|
|
||||||
计划作业导出
|
计划作业导出
|
||||||
计划作业执行记录导出
|
计划作业执行记录导出
|
||||||
请求方式
|
请求方式
|
||||||
请求日志导出
|
请求日志导出
|
||||||
调试
|
|
||||||
跟踪
|
|
||||||
跟踪标识
|
跟踪标识
|
||||||
跟踪编号
|
|
||||||
身份证
|
|
||||||
运行
|
运行
|
||||||
通知
|
通知
|
||||||
邮箱号
|
邮箱号
|
||||||
@ -137,11 +75,7 @@
|
|||||||
配置导出
|
配置导出
|
||||||
重设密码
|
重设密码
|
||||||
链接
|
链接
|
||||||
错误
|
|
||||||
随机排序
|
|
||||||
项值
|
项值
|
||||||
项名
|
项名
|
||||||
顺序排序
|
|
||||||
高中
|
|
||||||
默认角色
|
默认角色
|
||||||
默认部门
|
默认部门
|
@ -1,17 +1,9 @@
|
|||||||
1分钟内只能发送1次
|
1分钟内只能发送1次
|
||||||
6位数字
|
|
||||||
8位以上数字字母组合
|
|
||||||
XML注释文件不存在
|
|
||||||
中文姓名
|
|
||||||
事务已回滚
|
|
||||||
事务已提交
|
|
||||||
人机校验请求不能为空
|
人机校验请求不能为空
|
||||||
人机验证未通过
|
人机验证未通过
|
||||||
作业名称不能为空
|
作业名称不能为空
|
||||||
允许的文件大小
|
允许的文件大小
|
||||||
允许的文件格式
|
允许的文件格式
|
||||||
区号电话号码分机号
|
|
||||||
参数格式不正确
|
|
||||||
唯一编码不能为空
|
唯一编码不能为空
|
||||||
图标代码不能为空
|
图标代码不能为空
|
||||||
图标名称不能为空
|
图标名称不能为空
|
||||||
@ -19,55 +11,61 @@ XML注释文件不存在
|
|||||||
字典名称不能为空
|
字典名称不能为空
|
||||||
字典目录不存在
|
字典目录不存在
|
||||||
字典目录编号不能为空
|
字典目录编号不能为空
|
||||||
|
字典目录编号不能为空
|
||||||
字典编码不能为空
|
字典编码不能为空
|
||||||
学历不正确
|
学历不正确
|
||||||
密码不能为空
|
密码不能为空
|
||||||
|
密码不能为空
|
||||||
|
密码不能为空
|
||||||
|
密码不能为空
|
||||||
|
已处理完毕
|
||||||
|
已处理完毕
|
||||||
已处理完毕
|
已处理完毕
|
||||||
并发冲突_请稍后重试
|
并发冲突_请稍后重试
|
||||||
开始事务
|
|
||||||
性别不正确
|
性别不正确
|
||||||
手机号码不正确
|
手机号码不正确
|
||||||
手机号码不能为空
|
手机号码不能为空
|
||||||
接口编码不存在
|
接口编码不存在
|
||||||
支付宝账号
|
|
||||||
政治面貌不正确
|
政治面貌不正确
|
||||||
数据库同步开始
|
|
||||||
数据库服务器时钟偏移
|
数据库服务器时钟偏移
|
||||||
数据库结构同步完成
|
|
||||||
文件不能为空
|
文件不能为空
|
||||||
新密码不能为空
|
新密码不能为空
|
||||||
新手机号码验证码不正确
|
新手机号码验证码不正确
|
||||||
无效端口号
|
|
||||||
无效证件号码
|
|
||||||
旧密码不正确
|
旧密码不正确
|
||||||
旧密码不能为空
|
旧密码不能为空
|
||||||
旧手机号码不正确
|
旧手机号码不正确
|
||||||
旧手机号码验证码不正确
|
旧手机号码验证码不正确
|
||||||
时间表达式
|
|
||||||
时间计划不能为空
|
时间计划不能为空
|
||||||
未指定部门
|
未指定部门
|
||||||
未获取到待执行任务
|
未获取到待执行任务
|
||||||
模块名称不能为空
|
模块名称不能为空
|
||||||
|
模块类型不能为空
|
||||||
模块说明不能为空
|
模块说明不能为空
|
||||||
此节点已下线
|
此节点已下线
|
||||||
|
此节点已下线
|
||||||
民族不正确
|
民族不正确
|
||||||
消息主题不能为空
|
消息主题不能为空
|
||||||
消息内容不能为空
|
消息内容不能为空
|
||||||
父节点不存在
|
父节点不存在
|
||||||
用户不存在
|
用户不存在
|
||||||
用户名不能为空
|
用户名不能为空
|
||||||
用户名不能是手机号码
|
用户名不能为空
|
||||||
|
用户名不能为空
|
||||||
用户名或密码错误
|
用户名或密码错误
|
||||||
用户名长度4位以上
|
|
||||||
用户头像不能为空
|
用户头像不能为空
|
||||||
用户编号不存在
|
用户编号不存在
|
||||||
目标设备不能为空
|
目标设备不能为空
|
||||||
|
目标设备不能为空
|
||||||
|
短信验证请求不能为空
|
||||||
|
短信验证请求不能为空
|
||||||
短信验证请求不能为空
|
短信验证请求不能为空
|
||||||
站内信不存在
|
站内信不存在
|
||||||
站内信状态不正确
|
站内信状态不正确
|
||||||
站内信类型不正确
|
站内信类型不正确
|
||||||
缓存键不能为空
|
缓存键不能为空
|
||||||
网络地址不正确
|
网络地址不正确
|
||||||
|
网络地址不正确
|
||||||
|
网络地址不正确
|
||||||
菜单名称不能为空
|
菜单名称不能为空
|
||||||
菜单标题不能为空
|
菜单标题不能为空
|
||||||
菜单类型不正确
|
菜单类型不正确
|
||||||
@ -83,21 +81,19 @@ XML注释文件不存在
|
|||||||
该部门下存在子部门
|
该部门下存在子部门
|
||||||
该部门下存在用户
|
该部门下存在用户
|
||||||
请求地址不能为空
|
请求地址不能为空
|
||||||
请求对象不能为空
|
|
||||||
请求方法不正确
|
请求方法不正确
|
||||||
|
请稍后重试
|
||||||
请联系管理员激活账号
|
请联系管理员激活账号
|
||||||
读取用户令牌出错
|
读取用户令牌出错
|
||||||
账号不能为空
|
账号不能为空
|
||||||
邀请码不正确
|
|
||||||
邮箱验证码不正确
|
邮箱验证码不正确
|
||||||
部门不存在
|
部门不存在
|
||||||
部门名称不能为空
|
部门名称不能为空
|
||||||
配置文件初始化完毕
|
|
||||||
键值不能为空
|
键值不能为空
|
||||||
键名称不能为空
|
键名称不能为空
|
||||||
|
键名称不能为空
|
||||||
随机延时结束时间不正确
|
随机延时结束时间不正确
|
||||||
随机延时起始时间不正确
|
随机延时起始时间不正确
|
||||||
非JSON字符串
|
|
||||||
验证数据不能为空
|
验证数据不能为空
|
||||||
验证码不正确
|
验证码不正确
|
||||||
验证码不能为空
|
验证码不能为空
|
@ -9,22 +9,4 @@
|
|||||||
Command="dotnet t4 ./gen.cs.tt -o ../dist/backend/$(ProjectName)/Ln.cs"
|
Command="dotnet t4 ./gen.cs.tt -o ../dist/backend/$(ProjectName)/Ln.cs"
|
||||||
StdOutEncoding="utf-8" />
|
StdOutEncoding="utf-8" />
|
||||||
</Target>
|
</Target>
|
||||||
<ItemGroup>
|
|
||||||
<None Include="$(SolutionDir)/assets/res/Statements.ln">
|
|
||||||
<Link>Languages/Statements.ln</Link>
|
|
||||||
</None>
|
|
||||||
<None Include="$(SolutionDir)/assets/res/Nations.ln">
|
|
||||||
<Link>Languages/Nations.ln</Link>
|
|
||||||
</None>
|
|
||||||
<None Include="$(SolutionDir)/assets/res/Fields.ln">
|
|
||||||
<Link>Languages/Fields.ln</Link>
|
|
||||||
</None>
|
|
||||||
<EmbeddedResource Include="$(SolutionDir)/assets/res/Ln.resx">
|
|
||||||
<Link>Languages/Ln.resx</Link>
|
|
||||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<Compile Include="$(SolutionDir)/dist/backend/$(ProjectName)/Ln.Designer.cs">
|
|
||||||
<Link>Languages/Ln.Designer.cs</Link>
|
|
||||||
</Compile>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
</Project>
|
1
docker/README.md
Normal file
1
docker/README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
docker
|
@ -1 +0,0 @@
|
|||||||
Subproject commit d23c7cca552e9b1b1365349741139a012e2bc955
|
|
@ -20,8 +20,10 @@ git tag -d $tag
|
|||||||
git tag $tag
|
git tag $tag
|
||||||
git push --tags origin release
|
git push --tags origin release
|
||||||
Start-Process -FilePath "https://github.com/nsnail/NetAdmin/compare/main...release"
|
Start-Process -FilePath "https://github.com/nsnail/NetAdmin/compare/main...release"
|
||||||
Write-Host "按『Enter』回到主分支,『Ctrl+C』退出"
|
Write-Host "按『Enter』回到tk分支,『Ctrl+C』退出"
|
||||||
Pause
|
Pause
|
||||||
git checkout main
|
git checkout main
|
||||||
git pull
|
git pull
|
||||||
git branch -D release
|
git branch -D release
|
||||||
|
git branch -D tk
|
||||||
|
git checkout -b tk
|
@ -1,6 +1,7 @@
|
|||||||
<#@ template language="C#" #>
|
<#@ template language="C#" #>
|
||||||
<#@ output encoding="utf-8" extension="resx" #>
|
<#@ output encoding="utf-8" extension="resx" #>
|
||||||
<#@ import namespace="System.IO" #>
|
<#@ import namespace="System.IO" #>
|
||||||
|
<#@ import namespace="System.Linq" #>
|
||||||
<#@ import namespace="System.Text.RegularExpressions" #>
|
<#@ import namespace="System.Text.RegularExpressions" #>
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<root>
|
<root>
|
||||||
@ -28,14 +29,11 @@
|
|||||||
</resheader>
|
</resheader>
|
||||||
<#
|
<#
|
||||||
var regex = new Regex(@"^\d", RegexOptions.Compiled);
|
var regex = new Regex(@"^\d", RegexOptions.Compiled);
|
||||||
foreach (var file in Directory.GetFiles("../assets/res/", "*.ln"))
|
foreach (var line in Directory.GetFiles("../assets/res/", "*.ln").SelectMany(x => File.ReadLines(x)).Distinct())
|
||||||
{
|
|
||||||
foreach (var line in File.ReadLines(file))
|
|
||||||
{
|
{
|
||||||
#>
|
#>
|
||||||
<data name="<#= regex.IsMatch(line) ? "_" : "" #><#= line #>" xml:space="preserve"><value><#= line #></value></data>
|
<data name="<#= regex.IsMatch(line) ? "_" : "" #><#= line #>" xml:space="preserve"><value><#= line #></value></data>
|
||||||
<#
|
<#
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#>
|
#>
|
||||||
</root>
|
</root>
|
@ -1,15 +1,15 @@
|
|||||||
{
|
{
|
||||||
"solution": "NetAdmin.sln",
|
"solution": "NetAdmin.sln",
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"Furion.Pure.NS": "../refs/Furion/framework/Furion.Pure/Furion.Pure.csproj"
|
"Gurion": "../refs/Gurion/src/Gurion.csproj"
|
||||||
},
|
},
|
||||||
"restore": [
|
"restore": [
|
||||||
{
|
{
|
||||||
"name": "NetAdmin.Infrastructure",
|
"name": "NetAdmin.Infrastructure",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"packageName": "Furion.Pure.NS",
|
"packageName": "Gurion",
|
||||||
"version": "4.9.5.8-ns1"
|
"version": "1.1.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -17,6 +17,20 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0
|
|||||||
"""
|
"""
|
||||||
);
|
);
|
||||||
|
|
||||||
|
content = Regex.Replace(
|
||||||
|
content,
|
||||||
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"docker\", \"docker\", \"{E80A1018-C354-4A26-9029-8847BB9DA864}\"(?:.|\n)*?EndProject",
|
||||||
|
$$"""
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{E80A1018-C354-4A26-9029-8847BB9DA864}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
{{string.Join('\n',
|
||||||
|
Directory.GetFiles(@"../docker", "*")
|
||||||
|
.Select(x=>$" {Path.GetFileName(x)} = docker/{Path.GetFileName(x)}")
|
||||||
|
)}}
|
||||||
|
EndProject
|
||||||
|
"""
|
||||||
|
);
|
||||||
|
|
||||||
content = Regex.Replace(
|
content = Regex.Replace(
|
||||||
content,
|
content,
|
||||||
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"workflows\", \"workflows\", \"{3C6F049E-3EE8-4D66-9AFF-E8A369032487}\"(?:.|\n)*?EndProject",
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"workflows\", \"workflows\", \"{3C6F049E-3EE8-4D66-9AFF-E8A369032487}\"(?:.|\n)*?EndProject",
|
||||||
|
@ -25,16 +25,16 @@ global using FreeSql;
|
|||||||
global using FreeSql.Aop;
|
global using FreeSql.Aop;
|
||||||
global using FreeSql.DataAnnotations;
|
global using FreeSql.DataAnnotations;
|
||||||
global using FreeSql.Internal.Model;
|
global using FreeSql.Internal.Model;
|
||||||
global using Furion;
|
global using Gurion;
|
||||||
global using Furion.Authorization;
|
global using Gurion.Authorization;
|
||||||
global using Furion.ConfigurableOptions;
|
global using Gurion.ConfigurableOptions;
|
||||||
global using Furion.DataEncryption;
|
global using Gurion.DataEncryption;
|
||||||
global using Furion.DataValidation;
|
global using Gurion.DataValidation;
|
||||||
global using Furion.DependencyInjection;
|
global using Gurion.DependencyInjection;
|
||||||
global using Furion.DynamicApiController;
|
global using Gurion.DynamicApiController;
|
||||||
global using Furion.EventBus;
|
global using Gurion.EventBus;
|
||||||
global using Furion.SpecificationDocument;
|
global using Gurion.SpecificationDocument;
|
||||||
global using Furion.UnifyResult;
|
global using Gurion.UnifyResult;
|
||||||
global using Mapster;
|
global using Mapster;
|
||||||
global using Microsoft.AspNetCore.Authorization;
|
global using Microsoft.AspNetCore.Authorization;
|
||||||
global using Microsoft.AspNetCore.Builder;
|
global using Microsoft.AspNetCore.Builder;
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
|
||||||
<DefineConstants>DBTYPE_SQLITE</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="../NetAdmin.AdmServer.Domain/NetAdmin.AdmServer.Domain.csproj"/>
|
||||||
<ProjectReference Include="../NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj"/>
|
<ProjectReference Include="../NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="MailKit" Version="4.8.0"/>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -1,2 +0,0 @@
|
|||||||
<wpf:ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xml:space="preserve">
|
|
||||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=services_005Cadm_005Cpartial/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
|
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="../NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj"/>
|
|
||||||
<ProjectReference Include="../NetAdmin.AdmServer.Application/NetAdmin.AdmServer.Application.csproj"/>
|
<ProjectReference Include="../NetAdmin.AdmServer.Application/NetAdmin.AdmServer.Application.csproj"/>
|
||||||
|
<ProjectReference Include="../NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -0,0 +1,10 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="$(SolutionDir)/assets/seed-data/Adm_*.json" LinkBase="SeedData" CopyToOutputDirectory="PreserveNewest"/>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="../NetAdmin.AdmServer.Infrastructure/NetAdmin.AdmServer.Infrastructure.csproj"/>
|
||||||
|
<ProjectReference Include="../NetAdmin.SysComponent.Domain/NetAdmin.SysComponent.Domain.csproj"/>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
@ -1,8 +1,8 @@
|
|||||||
using NetAdmin.AdmServer.Host.Filters;
|
using NetAdmin.AdmServer.Host.Filters;
|
||||||
using NetAdmin.Domain.Contexts;
|
|
||||||
using NetAdmin.Domain.DbMaps.Dependency.Fields;
|
using NetAdmin.Domain.DbMaps.Dependency.Fields;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.SysComponent.Domain.Contexts;
|
||||||
using NetAdmin.Host.Extensions;
|
using NetAdmin.SysComponent.Domain.Enums.Sys;
|
||||||
|
using NetAdmin.SysComponent.Host.Extensions;
|
||||||
|
|
||||||
namespace NetAdmin.AdmServer.Host.Extensions;
|
namespace NetAdmin.AdmServer.Host.Extensions;
|
||||||
|
|
||||||
|
@ -1,17 +1,11 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="$(SolutionDir)/assets/captcha/**" LinkBase="Assets/Captcha"/>
|
|
||||||
<EmbeddedResource Include="$(SolutionDir)/CHANGELOG.md" LogicalName="CHANGELOG.md"/>
|
<EmbeddedResource Include="$(SolutionDir)/CHANGELOG.md" LogicalName="CHANGELOG.md"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="../NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj"/>
|
|
||||||
<ProjectReference Include="../NetAdmin.AdmServer.Cache/NetAdmin.AdmServer.Cache.csproj"/>
|
<ProjectReference Include="../NetAdmin.AdmServer.Cache/NetAdmin.AdmServer.Cache.csproj"/>
|
||||||
</ItemGroup>
|
<ProjectReference Include="../NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj"/>
|
||||||
<ItemGroup>
|
|
||||||
<None Update="*.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup Condition="'$(Configuration)' != 'Debug'">
|
<ItemGroup Condition="'$(Configuration)' != 'Debug'">
|
||||||
<EmbeddedResource Include="../../../dist/frontend/admin/**/*" LinkBase="UI"/>
|
<EmbeddedResource Include="../../../dist/frontend/admin/**/*" LinkBase="UI"/>
|
||||||
|
@ -91,7 +91,8 @@ namespace NetAdmin.AdmServer.Host
|
|||||||
.AddFreeSqlWithArgs() // 添加 freeSql
|
.AddFreeSqlWithArgs() // 添加 freeSql
|
||||||
.AddRemoteRequest() // 添加远程请求
|
.AddRemoteRequest() // 添加远程请求
|
||||||
.AddCorsAccessor() // 添加支持跨域访问
|
.AddCorsAccessor() // 添加支持跨域访问
|
||||||
.AddContextUser() // 添加上下文用户
|
.AddContextUserToken() // 添加上下文用户令牌
|
||||||
|
.AddContextUserInfo() // 添加上下文用户信息
|
||||||
.AddRedisCache() // 添加 Redis 缓存
|
.AddRedisCache() // 添加 Redis 缓存
|
||||||
.AddSchedules() // 添加计划任务
|
.AddSchedules() // 添加计划任务
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
{}
|
|
@ -1 +0,0 @@
|
|||||||
{}
|
|
@ -1,45 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
|
||||||
"SpecificationDocumentSettings": {
|
|
||||||
"GroupOpenApiInfos": [
|
|
||||||
{
|
|
||||||
"Group": "Sys",
|
|
||||||
"Title": "系统组件",
|
|
||||||
"Description": "NetAdmin - 系统组件",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Group": "Adm",
|
|
||||||
"Title": "管理服务",
|
|
||||||
"Description": "NetAdmin - 管理服务",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Group": "Tpl",
|
|
||||||
"Visible": false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Group": "Probe",
|
|
||||||
"Visible": false,
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"SecurityDefinitions": [
|
|
||||||
{
|
|
||||||
"Id": "Bearer",
|
|
||||||
"Type": "ApiKey",
|
|
||||||
"Name": "Authorization",
|
|
||||||
"Description": "JWT Authorization header using the Bearer scheme.",
|
|
||||||
"BearerFormat": "JWT",
|
|
||||||
"Scheme": "bearer",
|
|
||||||
"In": "Header",
|
|
||||||
"Requirement": {
|
|
||||||
"Scheme": {
|
|
||||||
"Reference": {
|
|
||||||
"Id": "Bearer",
|
|
||||||
"Type": "SecurityScheme"
|
|
||||||
},
|
|
||||||
"Accesses": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Debug",
|
||||||
|
"Microsoft.AspNetCore": "Debug",
|
||||||
|
"System.Logging.EventBusService": "Debug"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Debug",
|
||||||
|
"Microsoft.AspNetCore": "Debug",
|
||||||
|
"System.Logging.EventBusService": "Debug"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Debug",
|
||||||
|
"Microsoft.AspNetCore": "Debug",
|
||||||
|
"System.Logging.EventBusService": "Debug"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,99 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||||
|
// Swagger文档配置 ------------------------------------------------------------------------------
|
||||||
|
"SpecificationDocumentSettings": {
|
||||||
|
"GroupOpenApiInfos": [
|
||||||
|
{
|
||||||
|
"Group": "Sys",
|
||||||
|
"Title": "系统组件",
|
||||||
|
"Description": "NetAdmin - 系统组件"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Group": "Adm",
|
||||||
|
"Title": "管理服务",
|
||||||
|
"Description": "NetAdmin - 管理服务"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Group": "Tpl",
|
||||||
|
"Visible": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Group": "Probe",
|
||||||
|
"Visible": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"XmlComments": [
|
||||||
|
"NetAdmin.AdmServer.Application.xml",
|
||||||
|
"NetAdmin.AdmServer.Cache.xml",
|
||||||
|
"NetAdmin.AdmServer.Domain.xml",
|
||||||
|
"NetAdmin.AdmServer.Host.xml",
|
||||||
|
"NetAdmin.AdmServer.Infrastructure.xml",
|
||||||
|
"FreeSql.xml",
|
||||||
|
"NetAdmin.Application.xml",
|
||||||
|
"NetAdmin.Cache.xml",
|
||||||
|
"NetAdmin.Domain.xml",
|
||||||
|
"NetAdmin.Host.xml",
|
||||||
|
"NetAdmin.Infrastructure.xml",
|
||||||
|
"NetAdmin.SysComponent.Application.xml",
|
||||||
|
"NetAdmin.SysComponent.Cache.xml",
|
||||||
|
"NetAdmin.SysComponent.Domain.xml",
|
||||||
|
"NetAdmin.SysComponent.Host.xml",
|
||||||
|
"NetAdmin.SysComponent.Infrastructure.xml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 数据库配置 --------------------------------------------------------------------------------------------------------
|
||||||
|
"Database": {
|
||||||
|
"DbType": "Sqlite",
|
||||||
|
"ConnStr": "data source=NetAdmin.db",
|
||||||
|
"SeedDataRelativePath": "SeedData"
|
||||||
|
},
|
||||||
|
// JWT鉴权配置 -------------------------------------------------------------------------------------------------------
|
||||||
|
"JWTSettings": {
|
||||||
|
"ValidateIssuerSigningKey": true,
|
||||||
|
"IssuerSigningKey": "bO0BCAGxpxYnm6AE4XpgO25T27NayFzjGgfDqBuzUzD6ROpFiZUi3KjVg93bdGek",
|
||||||
|
"ValidateIssuer": true,
|
||||||
|
"ValidIssuer": "签发方",
|
||||||
|
"ValidateAudience": true,
|
||||||
|
"ValidAudience": "签收方",
|
||||||
|
"ValidateLifetime": true,
|
||||||
|
"ExpiredTime": 5256000,
|
||||||
|
"ClockSkew": 5,
|
||||||
|
"Algorithm": "HS256"
|
||||||
|
},
|
||||||
|
// 日志配置 ----------------------------------------------------------------------------------------------------------
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning",
|
||||||
|
"System.Logging.EventBusService": "Error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// Redis配置 --------------------------------------------------------------------------------------------------------
|
||||||
|
"Redis": {
|
||||||
|
"Instances": [
|
||||||
|
{
|
||||||
|
"Name": "DataCache",
|
||||||
|
"ConnStr": "localhost:6379,abortConnect=false",
|
||||||
|
"DataBase": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 文件上传配置 -------------------------------------------------------------------------------------------------------
|
||||||
|
"Upload": {
|
||||||
|
"ContentTypes": [
|
||||||
|
"image/jpg",
|
||||||
|
"image/png",
|
||||||
|
"image/jpeg",
|
||||||
|
"image/gif"
|
||||||
|
],
|
||||||
|
"MaxSize": 1073741824,
|
||||||
|
"Minio": {
|
||||||
|
"ServerAddress": "vm-ubt-1:9000",
|
||||||
|
"AccessKey": "nVMM0gSqwyIjM8iZ",
|
||||||
|
"SecretKey": "F8OZngGrNsZSYn4MP9swwMSf5rfm61EC",
|
||||||
|
"BucketName": "cloud-code",
|
||||||
|
"AccessUrl": "http://vm-ubt-1:9000",
|
||||||
|
"Secure": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="../NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj"/>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="$(SolutionDir)/assets/res/NetAdmin.AdmServer.Statements.ln">
|
||||||
|
<Link>Languages/NetAdmin.AdmServer.Statements.ln</Link>
|
||||||
|
</None>
|
||||||
|
<None Include="$(SolutionDir)/assets/res/NetAdmin.AdmServer.Fields.ln">
|
||||||
|
<Link>Languages/NetAdmin.AdmServer.Fields.ln</Link>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Update="*.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
@ -1,6 +1,7 @@
|
|||||||
|
using NetAdmin.Domain.Dto.Dependency;
|
||||||
using NetAdmin.Domain.Dto.Tpl.Example;
|
using NetAdmin.Domain.Dto.Tpl.Example;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Tpl;
|
namespace NetAdmin.Application.Modules.Tpl;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 示例模块
|
/// 示例模块
|
@ -1,7 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
|
||||||
<DefineConstants>DBTYPE_SQLITE</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="../NetAdmin.Domain/NetAdmin.Domain.csproj"/>
|
<ProjectReference Include="../NetAdmin.Domain/NetAdmin.Domain.csproj"/>
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
using NetAdmin.Application.Modules.Tpl;
|
||||||
|
|
||||||
|
namespace NetAdmin.Application.Services.Tpl.Dependency;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 示例服务
|
||||||
|
/// </summary>
|
||||||
|
public interface IExampleService : IService, IExampleModule;
|
@ -1,8 +1,10 @@
|
|||||||
|
using NetAdmin.Application.Repositories;
|
||||||
|
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.Tpl.Example;
|
using NetAdmin.Domain.Dto.Tpl.Example;
|
||||||
using NetAdmin.SysComponent.Application.Services.Tpl.Dependency;
|
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Services.Tpl;
|
namespace NetAdmin.Application.Services.Tpl;
|
||||||
|
|
||||||
/// <inheritdoc cref="IExampleService" />
|
/// <inheritdoc cref="IExampleService" />
|
||||||
public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
@ -0,0 +1,9 @@
|
|||||||
|
using NetAdmin.Application.Modules.Tpl;
|
||||||
|
using NetAdmin.Application.Services.Tpl.Dependency;
|
||||||
|
|
||||||
|
namespace NetAdmin.Cache.Tpl.Dependency;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 示例缓存
|
||||||
|
/// </summary>
|
||||||
|
public interface IExampleCache : ICache<IDistributedCache, IExampleService>, IExampleModule;
|
@ -1,8 +1,9 @@
|
|||||||
|
using NetAdmin.Application.Services.Tpl.Dependency;
|
||||||
|
using NetAdmin.Cache.Tpl.Dependency;
|
||||||
|
using NetAdmin.Domain.Dto.Dependency;
|
||||||
using NetAdmin.Domain.Dto.Tpl.Example;
|
using NetAdmin.Domain.Dto.Tpl.Example;
|
||||||
using NetAdmin.SysComponent.Application.Services.Tpl.Dependency;
|
|
||||||
using NetAdmin.SysComponent.Cache.Tpl.Dependency;
|
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Cache.Tpl;
|
namespace NetAdmin.Cache.Tpl;
|
||||||
|
|
||||||
/// <inheritdoc cref="IExampleCache" />
|
/// <inheritdoc cref="IExampleCache" />
|
||||||
public sealed class ExampleCache(IDistributedCache cache, IExampleService service)
|
public sealed class ExampleCache(IDistributedCache cache, IExampleService service)
|
@ -1,5 +1,3 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.User;
|
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Contexts;
|
namespace NetAdmin.Domain.Contexts;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -43,9 +41,9 @@ public sealed record ContextUserToken : DataAbstraction
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 从 QueryUserRsp 创建上下文用户
|
/// 从 QueryUserRsp 创建上下文用户
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static ContextUserToken Create(QueryUserRsp user)
|
public static ContextUserToken Create(long id, Guid token, string userName, long deptId)
|
||||||
{
|
{
|
||||||
return new ContextUserToken { Id = user.Id, Token = user.Token, UserName = user.UserName, DeptId = user.DeptId };
|
return new ContextUserToken { Id = id, Token = token, UserName = userName, DeptId = deptId };
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
namespace NetAdmin.Domain.DbMaps.Dependency.Fields;
|
namespace NetAdmin.Domain.DbMaps.Dependency.Fields;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新用户字段接口
|
/// 修改用户字段接口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IFieldModifiedUser
|
public interface IFieldModifiedUser
|
||||||
{
|
{
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
namespace NetAdmin.Domain.DbMaps.Dependency.Fields;
|
namespace NetAdmin.Domain.DbMaps.Dependency.Fields;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 描述字段接口
|
/// 备注字段接口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IFieldSummary
|
public interface IFieldSummary
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 描述
|
/// 备注
|
||||||
/// </summary>
|
/// </summary>
|
||||||
string Summary { get; init; }
|
string Summary { get; init; }
|
||||||
}
|
}
|
@ -3,7 +3,9 @@ namespace NetAdmin.Domain.DbMaps.Dependency;
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public abstract record ImmutableEntity : ImmutableEntity<long>
|
public abstract record ImmutableEntity : ImmutableEntity<long>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[Snowflake]
|
[Snowflake]
|
||||||
@ -17,19 +19,25 @@ public abstract record ImmutableEntity : ImmutableEntity<long>
|
|||||||
public abstract record ImmutableEntity<T> : LiteImmutableEntity<T>, IFieldCreatedUser
|
public abstract record ImmutableEntity<T> : LiteImmutableEntity<T>, IFieldCreatedUser
|
||||||
where T : IEquatable<T>
|
where T : IEquatable<T>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="IFieldCreatedUser.CreatedUserId" />
|
/// <summary>
|
||||||
|
/// 创建者编号
|
||||||
|
/// </summary>
|
||||||
[Column(CanUpdate = false, Position = -1)]
|
[Column(CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public long? CreatedUserId { get; init; }
|
public long? CreatedUserId { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="IFieldCreatedUser.CreatedUserName" />
|
/// <summary>
|
||||||
|
/// 创建者用户名
|
||||||
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)]
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string CreatedUserName { get; init; }
|
public virtual string CreatedUserName { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
public override T Id { get; init; }
|
public override T Id { get; init; }
|
||||||
|
@ -3,7 +3,9 @@ namespace NetAdmin.Domain.DbMaps.Dependency;
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public abstract record LiteImmutableEntity : LiteImmutableEntity<long>
|
public abstract record LiteImmutableEntity : LiteImmutableEntity<long>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[Snowflake]
|
[Snowflake]
|
||||||
@ -17,13 +19,17 @@ public abstract record LiteImmutableEntity : LiteImmutableEntity<long>
|
|||||||
public abstract record LiteImmutableEntity<T> : EntityBase<T>, IFieldCreatedTime
|
public abstract record LiteImmutableEntity<T> : EntityBase<T>, IFieldCreatedTime
|
||||||
where T : IEquatable<T>
|
where T : IEquatable<T>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="IFieldCreatedTime.CreatedTime" />
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
[Column(ServerTime = DateTimeKind.Local, CanUpdate = false, Position = -1)]
|
[Column(ServerTime = DateTimeKind.Local, CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual DateTime CreatedTime { get; init; }
|
public virtual DateTime CreatedTime { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
@ -3,7 +3,9 @@ namespace NetAdmin.Domain.DbMaps.Dependency;
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public abstract record LiteMutableEntity : LiteMutableEntity<long>
|
public abstract record LiteMutableEntity : LiteMutableEntity<long>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[Snowflake]
|
[Snowflake]
|
||||||
@ -16,12 +18,16 @@ public abstract record LiteMutableEntity : LiteMutableEntity<long>
|
|||||||
public abstract record LiteMutableEntity<T> : LiteImmutableEntity<T>, IFieldModifiedTime
|
public abstract record LiteMutableEntity<T> : LiteImmutableEntity<T>, IFieldModifiedTime
|
||||||
where T : IEquatable<T>
|
where T : IEquatable<T>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
public override T Id { get; init; }
|
public override T Id { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="IFieldModifiedTime.ModifiedTime" />
|
/// <summary>
|
||||||
|
/// 修改时间
|
||||||
|
/// </summary>
|
||||||
[Column(ServerTime = DateTimeKind.Local, CanInsert = false, Position = -1)]
|
[Column(ServerTime = DateTimeKind.Local, CanInsert = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
@ -3,7 +3,9 @@ namespace NetAdmin.Domain.DbMaps.Dependency;
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public abstract record LiteVersionEntity : LiteVersionEntity<long>
|
public abstract record LiteVersionEntity : LiteVersionEntity<long>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[Snowflake]
|
[Snowflake]
|
||||||
@ -16,13 +18,17 @@ public abstract record LiteVersionEntity : LiteVersionEntity<long>
|
|||||||
public abstract record LiteVersionEntity<T> : LiteMutableEntity<T>, IFieldVersion
|
public abstract record LiteVersionEntity<T> : LiteMutableEntity<T>, IFieldVersion
|
||||||
where T : IEquatable<T>
|
where T : IEquatable<T>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[Snowflake]
|
[Snowflake]
|
||||||
public override T Id { get; init; }
|
public override T Id { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="IFieldVersion.Version" />
|
/// <summary>
|
||||||
|
/// 数据版本
|
||||||
|
/// </summary>
|
||||||
[Column(IsVersion = true, Position = -1)]
|
[Column(IsVersion = true, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
@ -3,7 +3,9 @@ namespace NetAdmin.Domain.DbMaps.Dependency;
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public abstract record MutableEntity : MutableEntity<long>
|
public abstract record MutableEntity : MutableEntity<long>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[Snowflake]
|
[Snowflake]
|
||||||
@ -16,30 +18,40 @@ public abstract record MutableEntity : MutableEntity<long>
|
|||||||
public abstract record MutableEntity<T> : LiteMutableEntity<T>, IFieldCreatedUser, IFieldModifiedUser
|
public abstract record MutableEntity<T> : LiteMutableEntity<T>, IFieldCreatedUser, IFieldModifiedUser
|
||||||
where T : IEquatable<T>
|
where T : IEquatable<T>
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <summary>
|
||||||
|
/// 创建者编号
|
||||||
|
/// </summary>
|
||||||
[Column(CanUpdate = false, Position = -1)]
|
[Column(CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual long? CreatedUserId { get; init; }
|
public virtual long? CreatedUserId { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <summary>
|
||||||
|
/// 创建者用户名
|
||||||
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)]
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string CreatedUserName { get; init; }
|
public virtual string CreatedUserName { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
public override T Id { get; init; }
|
public override T Id { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="IFieldModifiedUser.ModifiedUserId" />
|
/// <summary>
|
||||||
|
/// 修改者编号
|
||||||
|
/// </summary>
|
||||||
[Column(CanInsert = false, Position = -1)]
|
[Column(CanInsert = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public long? ModifiedUserId { get; init; }
|
public long? ModifiedUserId { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="IFieldModifiedUser.ModifiedUserName" />
|
/// <summary>
|
||||||
|
/// 修改者用户名
|
||||||
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)]
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
@ -3,7 +3,9 @@ namespace NetAdmin.Domain.DbMaps.Dependency;
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public abstract record SimpleEntity : SimpleEntity<long>
|
public abstract record SimpleEntity : SimpleEntity<long>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[Snowflake]
|
[Snowflake]
|
||||||
|
@ -3,7 +3,9 @@ namespace NetAdmin.Domain.DbMaps.Dependency;
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public abstract record VersionEntity : VersionEntity<long>
|
public abstract record VersionEntity : VersionEntity<long>
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[Snowflake]
|
[Snowflake]
|
||||||
@ -16,30 +18,40 @@ public abstract record VersionEntity : VersionEntity<long>
|
|||||||
public abstract record VersionEntity<T> : LiteVersionEntity<T>, IFieldModifiedUser, IFieldCreatedUser
|
public abstract record VersionEntity<T> : LiteVersionEntity<T>, IFieldModifiedUser, IFieldCreatedUser
|
||||||
where T : IEquatable<T>
|
where T : IEquatable<T>
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <summary>
|
||||||
|
/// 创建者编号
|
||||||
|
/// </summary>
|
||||||
[Column(CanUpdate = false, Position = -1)]
|
[Column(CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual long? CreatedUserId { get; init; }
|
public virtual long? CreatedUserId { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <summary>
|
||||||
|
/// 创建者用户名
|
||||||
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)]
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string CreatedUserName { get; init; }
|
public virtual string CreatedUserName { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="EntityBase{T}.Id" />
|
/// <summary>
|
||||||
|
/// 唯一编码
|
||||||
|
/// </summary>
|
||||||
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
public override T Id { get; init; }
|
public override T Id { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="IFieldModifiedUser.ModifiedUserId" />
|
/// <summary>
|
||||||
|
/// 修改者编号
|
||||||
|
/// </summary>
|
||||||
[Column(CanInsert = false, Position = -1)]
|
[Column(CanInsert = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual long? ModifiedUserId { get; init; }
|
public virtual long? ModifiedUserId { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc cref="IFieldModifiedUser.ModifiedUserName" />
|
/// <summary>
|
||||||
|
/// 修改者用户名
|
||||||
|
/// </summary>
|
||||||
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)]
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
@ -8,6 +8,7 @@ public record RestfulInfo<T> : DataAbstraction
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 代码
|
/// 代码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <example>succeed</example>
|
||||||
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
|
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
|
||||||
public ErrorCodes Code { get; init; }
|
public ErrorCodes Code { get; init; }
|
||||||
|
|
||||||
@ -17,7 +18,8 @@ public record RestfulInfo<T> : DataAbstraction
|
|||||||
public T Data { get; init; }
|
public T Data { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 消息
|
/// 字符串:"消息内容",或数组:[{"参数名1":"消息内容1"},{"参数名2":"消息内容2"}]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <example>请求成功</example>
|
||||||
public object Msg { get; init; }
|
public object Msg { get; init; }
|
||||||
}
|
}
|
@ -1,11 +1,5 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
|
||||||
<DefineConstants>DBTYPE_SQLITE</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
<Import Project="$(SolutionDir)/build/code.quality.props"/>
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="$(SolutionDir)/assets/seed-data/**" LinkBase="SeedData" CopyToOutputDirectory="PreserveNewest"/>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="../NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj"/>
|
<ProjectReference Include="../NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -1,13 +1,5 @@
|
|||||||
global using NetAdmin.Domain.Attributes;
|
global using NetAdmin.Domain.Attributes;
|
||||||
global using NetAdmin.Domain.Attributes.DataValidation;
|
|
||||||
global using NetAdmin.Domain.DbMaps.Dependency;
|
global using NetAdmin.Domain.DbMaps.Dependency;
|
||||||
global using NetAdmin.Domain.DbMaps.Dependency.Fields;
|
global using NetAdmin.Domain.DbMaps.Dependency.Fields;
|
||||||
global using NetAdmin.Domain.DbMaps.Sys;
|
|
||||||
global using NetAdmin.Domain.Dto.Dependency;
|
|
||||||
global using NetAdmin.Domain.Enums.Sys;
|
|
||||||
global using CsvIgnore = CsvHelper.Configuration.Attributes.IgnoreAttribute;
|
global using CsvIgnore = CsvHelper.Configuration.Attributes.IgnoreAttribute;
|
||||||
global using CsvIndex = CsvHelper.Configuration.Attributes.IndexAttribute;
|
|
||||||
global using CsvName = CsvHelper.Configuration.Attributes.NameAttribute;
|
|
||||||
global using DynamicFilterOperators = NetAdmin.Domain.Enums.DynamicFilterOperators;
|
global using DynamicFilterOperators = NetAdmin.Domain.Enums.DynamicFilterOperators;
|
||||||
global using HttpMethods = NetAdmin.Domain.Enums.HttpMethods;
|
|
||||||
global using SqlIndex = FreeSql.DataAnnotations.IndexAttribute;
|
|
@ -1,9 +1,11 @@
|
|||||||
|
using NetAdmin.Application.Modules.Tpl;
|
||||||
|
using NetAdmin.Application.Services.Tpl.Dependency;
|
||||||
|
using NetAdmin.Cache.Tpl.Dependency;
|
||||||
|
using NetAdmin.Domain.Dto.Dependency;
|
||||||
using NetAdmin.Domain.Dto.Tpl.Example;
|
using NetAdmin.Domain.Dto.Tpl.Example;
|
||||||
using NetAdmin.SysComponent.Application.Modules.Tpl;
|
using NetAdmin.Host.Attributes;
|
||||||
using NetAdmin.SysComponent.Application.Services.Tpl.Dependency;
|
|
||||||
using NetAdmin.SysComponent.Cache.Tpl.Dependency;
|
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Host.Controllers.Tpl;
|
namespace NetAdmin.Host.Controllers.Tpl;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 示例服务
|
/// 示例服务
|
@ -1,12 +1,7 @@
|
|||||||
using Furion.Logging;
|
using Gurion.Logging;
|
||||||
using NetAdmin.Domain.Contexts;
|
using NetAdmin.Domain.Contexts;
|
||||||
using NetAdmin.Domain.Events;
|
|
||||||
using NetAdmin.Host.Filters;
|
|
||||||
using NetAdmin.Host.Utils;
|
|
||||||
using StackExchange.Redis;
|
using StackExchange.Redis;
|
||||||
using Yitter.IdGenerator;
|
using Yitter.IdGenerator;
|
||||||
using FreeSqlBuilder = NetAdmin.Infrastructure.Utils.FreeSqlBuilder;
|
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
using Spectre.Console;
|
using Spectre.Console;
|
||||||
#endif
|
#endif
|
||||||
@ -83,7 +78,7 @@ public static class ServiceCollectionExtensions
|
|||||||
this IServiceCollection me)
|
this IServiceCollection me)
|
||||||
{
|
{
|
||||||
var optionsTypes
|
var optionsTypes
|
||||||
= from type in App.EffectiveTypes.Where(x => !x.IsAbstract && !x.FullName!.Contains(nameof(Furion)) &&
|
= from type in App.EffectiveTypes.Where(x => !x.IsAbstract && !x.FullName!.Contains(nameof(Gurion)) &&
|
||||||
x.GetInterfaces().Contains(typeof(IConfigurableOptions)))
|
x.GetInterfaces().Contains(typeof(IConfigurableOptions)))
|
||||||
select type;
|
select type;
|
||||||
|
|
||||||
@ -126,12 +121,11 @@ public static class ServiceCollectionExtensions
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 添加上下文用户
|
/// 添加上下文用户令牌
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static IServiceCollection AddContextUser(this IServiceCollection me)
|
public static IServiceCollection AddContextUserToken(this IServiceCollection me)
|
||||||
{
|
{
|
||||||
return me.AddScoped(typeof(ContextUserToken), _ => ContextUserToken.Create())
|
return me.AddScoped(typeof(ContextUserToken), _ => ContextUserToken.Create());
|
||||||
.AddScoped(typeof(ContextUserInfo), _ => ContextUserInfo.Create());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -142,42 +136,6 @@ public static class ServiceCollectionExtensions
|
|||||||
return me.AddEventBus(builder => builder.AddSubscribers(App.Assemblies.ToArray()));
|
return me.AddEventBus(builder => builder.AddSubscribers(App.Assemblies.ToArray()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 添加 freeSql orm工具
|
|
||||||
/// </summary>
|
|
||||||
public static IServiceCollection AddFreeSql( //
|
|
||||||
this IServiceCollection me, FreeSqlInitMethods initMethods = FreeSqlInitMethods.None, Action<IFreeSql> freeSqlConfig = null)
|
|
||||||
{
|
|
||||||
// // 非调试模式下禁止同步数据库
|
|
||||||
// #if !DEBUG
|
|
||||||
// initOptions = FreeSqlInitOptions.None;
|
|
||||||
// #endif
|
|
||||||
var dbOptions = App.GetOptions<DatabaseOptions>();
|
|
||||||
var fSql = new FreeSqlBuilder(dbOptions).Build(initMethods);
|
|
||||||
_ = me.AddSingleton(fSql);
|
|
||||||
|
|
||||||
fSql.Aop.AuditValue += SqlAuditor.DataAuditHandler; // Insert/Update自动值处理
|
|
||||||
var eventPublisher = App.GetService<IEventPublisher>();
|
|
||||||
|
|
||||||
#pragma warning disable VSTHRD110
|
|
||||||
|
|
||||||
// AOP事件发布(异步)
|
|
||||||
fSql.Aop.CommandBefore += (_, e) => eventPublisher.PublishAsync(new SqlCommandBeforeEvent(e)); // 增删查改,执行命令之前触发
|
|
||||||
fSql.Aop.CommandAfter += (_, e) => eventPublisher.PublishAsync(new SqlCommandAfterEvent(e)); // 增删查改,执行命令完成后触发
|
|
||||||
|
|
||||||
fSql.Aop.SyncStructureBefore += (_, e) => eventPublisher.PublishAsync(new SyncStructureBeforeEvent(e)); // CodeFirst迁移,执行之前触发
|
|
||||||
|
|
||||||
fSql.Aop.SyncStructureAfter += (_, e) => eventPublisher.PublishAsync(new SyncStructureAfterEvent(e)); // CodeFirst迁移,执行完成触发
|
|
||||||
#pragma warning restore VSTHRD110
|
|
||||||
|
|
||||||
// 全局过滤器设置
|
|
||||||
freeSqlConfig?.Invoke(fSql);
|
|
||||||
|
|
||||||
return me.AddScoped<UnitOfWorkManager>() // 注入工作单元管理器
|
|
||||||
.AddFreeRepository(null, App.Assemblies.ToArray()) // 批量注入 Repository
|
|
||||||
.AddMvcFilter<TransactionInterceptor>(); // 注入事务拦截器
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 添加内存缓存
|
/// 添加内存缓存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using Furion.FriendlyException;
|
using Gurion.FriendlyException;
|
||||||
using NetAdmin.Domain.Dto;
|
using NetAdmin.Domain.Dto;
|
||||||
|
|
||||||
namespace NetAdmin.Host.Filters;
|
namespace NetAdmin.Host.Filters;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using Furion.FriendlyException;
|
using Gurion.FriendlyException;
|
||||||
using NetAdmin.Domain.Dto;
|
using NetAdmin.Domain.Dto;
|
||||||
|
|
||||||
namespace NetAdmin.Host.Filters;
|
namespace NetAdmin.Host.Filters;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
using Furion.FriendlyException;
|
using Gurion.FriendlyException;
|
||||||
|
|
||||||
namespace NetAdmin.Host.Filters;
|
namespace NetAdmin.Host.Filters;
|
||||||
|
|
||||||
/// <inheritdoc cref="Furion.FriendlyException.IGlobalExceptionHandler" />
|
/// <inheritdoc cref="Gurion.FriendlyException.IGlobalExceptionHandler" />
|
||||||
public sealed class GlobalExceptionHandler(ILogger<GlobalExceptionHandler> logger) : IGlobalExceptionHandler, ISingleton
|
public sealed class GlobalExceptionHandler(ILogger<GlobalExceptionHandler> logger) : IGlobalExceptionHandler, ISingleton
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
@ -0,0 +1,56 @@
|
|||||||
|
namespace NetAdmin.Infrastructure.Attributes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 国家信息特性
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// https://github.com/countries/countries
|
||||||
|
/// </remarks>
|
||||||
|
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Enum)]
|
||||||
|
public sealed class CountryAttribute : Attribute
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 三个字母的国家代码
|
||||||
|
/// </summary>
|
||||||
|
public string Alpha3 { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 国际电话呼号
|
||||||
|
/// </summary>
|
||||||
|
public int CallingCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 国际电话子呼号(区分同一呼号不同国家)
|
||||||
|
/// </summary>
|
||||||
|
public string CallingSubCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货币代码
|
||||||
|
/// </summary>
|
||||||
|
public string CurrencyCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当命中多个国家时的首选国家
|
||||||
|
/// </summary>
|
||||||
|
public bool IsPreferred { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 官方语言代码
|
||||||
|
/// </summary>
|
||||||
|
public string Languages { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 国家全称
|
||||||
|
/// </summary>
|
||||||
|
public string LongName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 国家简称
|
||||||
|
/// </summary>
|
||||||
|
public string ShortName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 非正式名称
|
||||||
|
/// </summary>
|
||||||
|
public string UnofficialNames { get; set; }
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
namespace NetAdmin.Infrastructure.Attributes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 域名特性
|
||||||
|
/// </summary>
|
||||||
|
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Enum)]
|
||||||
|
public sealed class DomainAttribute : Attribute
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 主机名称
|
||||||
|
/// </summary>
|
||||||
|
public string HostName { get; init; }
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
namespace NetAdmin.Infrastructure.Configuration.Dependency;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// API客户端基础选项
|
||||||
|
/// </summary>
|
||||||
|
public abstract record ApiClientOptions : OptionAbstraction
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 网关地址
|
||||||
|
/// </summary>
|
||||||
|
public string Gateway { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 密钥
|
||||||
|
/// </summary>
|
||||||
|
public string Token { get; set; }
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
namespace NetAdmin.Infrastructure.Configuration.Options;
|
namespace NetAdmin.Infrastructure.Configuration.Dependency;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 选项抽象基类
|
/// 选项抽象基类
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Infrastructure.Configuration.Dependency;
|
||||||
|
|
||||||
namespace NetAdmin.Infrastructure.Configuration.Options;
|
namespace NetAdmin.Infrastructure.Configuration.Options;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Infrastructure.Configuration.Dependency;
|
||||||
using DataType = FreeSql.DataType;
|
using DataType = FreeSql.DataType;
|
||||||
|
|
||||||
namespace NetAdmin.Infrastructure.Configuration.Options;
|
namespace NetAdmin.Infrastructure.Configuration.Options;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Infrastructure.Configuration.Dependency;
|
||||||
|
|
||||||
namespace NetAdmin.Infrastructure.Configuration.Options;
|
namespace NetAdmin.Infrastructure.Configuration.Options;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Infrastructure.Configuration.Dependency;
|
||||||
|
|
||||||
namespace NetAdmin.Infrastructure.Configuration.Options;
|
namespace NetAdmin.Infrastructure.Configuration.Options;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -74,14 +74,10 @@ public static class Chars
|
|||||||
public const string FLG_HTTP_METHOD_PUT = "PUT";
|
public const string FLG_HTTP_METHOD_PUT = "PUT";
|
||||||
public const string FLG_HTTP_METHOD_TRACE = "TRACE";
|
public const string FLG_HTTP_METHOD_TRACE = "TRACE";
|
||||||
public const string FLG_PATH_API_METRICS = "metrics";
|
public const string FLG_PATH_API_METRICS = "metrics";
|
||||||
|
|
||||||
public const string FLG_PATH_API_RPOBE = "api/probe";
|
public const string FLG_PATH_API_RPOBE = "api/probe";
|
||||||
public const string FLG_PATH_API_SYS_USER_LOGIN_BY_PWD = "api/sys/user/login.by.pwd";
|
|
||||||
public const string FLG_PATH_WEBSOCKET_PREFIX = "ws";
|
public const string FLG_PATH_WEBSOCKET_PREFIX = "ws";
|
||||||
public const string FLG_RANDOM_UNAME_PWD = "VcXlp7WY";
|
|
||||||
public const string FLG_REDIS_INSTANCE_DATA_CACHE = "DataCache";
|
public const string FLG_REDIS_INSTANCE_DATA_CACHE = "DataCache";
|
||||||
public const string FLG_SNOWFLAKE_WORK_ID = "SNOWFLAKE_WORK_ID";
|
public const string FLG_SNOWFLAKE_WORK_ID = "SNOWFLAKE_WORK_ID";
|
||||||
public const string FLG_SYSTEM_PREFIX = "sc_";
|
|
||||||
|
|
||||||
public const string FLGL_HTTP_HEADER_VALUE_UA_MOBILE
|
public const string FLGL_HTTP_HEADER_VALUE_UA_MOBILE
|
||||||
= "Mozilla/5.0 (Linux; Android 9; Redmi Note 8 Pro Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36";
|
= "Mozilla/5.0 (Linux; Android 9; Redmi Note 8 Pro Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36";
|
||||||
|
@ -10,26 +10,14 @@ namespace NetAdmin.Infrastructure.Constant;
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
public static class Numbers
|
public static class Numbers
|
||||||
{
|
{
|
||||||
public const int DEF_PAGE_SIZE_QUERY = 20; // 分页查询默认的页容量
|
public const int DEF_PAGE_SIZE_QUERY = 20; // 默认值:分页查询页容量
|
||||||
public const long DEF_SORT_VAL = 100; // 排序默认值
|
public const int HTTP_STATUS_BIZ_FAIL = 900; // HTTP状态码:业务异常
|
||||||
|
|
||||||
public const int HTTP_STATUS_BIZ_FAIL = 900; // Http状态码-业务异常
|
|
||||||
public const long ID_DIC_CATALOG_GEO_AREA = 379794295185413; // 唯一编号:字典目录-行政区划字典
|
|
||||||
|
|
||||||
public const int MAX_LIMIT_BULK_REQ = 100; // 最大限制:批量请求数
|
public const int MAX_LIMIT_BULK_REQ = 100; // 最大限制:批量请求数
|
||||||
public const int MAX_LIMIT_EXPORT = 10000; // 最大限制:导出为CSV文件的条数
|
public const int MAX_LIMIT_EXPORT = 50000; // 最大限制:导出为CSV文件的条数
|
||||||
public const int MAX_LIMIT_QUERY = 1000; // 最大限制:非分页查询条数
|
public const int MAX_LIMIT_QUERY = 1000; // 最大限制:非分页查询条数
|
||||||
public const int MAX_LIMIT_QUERY_PAGE_NO = 10000; // 最大限制:分页查询页码
|
public const int MAX_LIMIT_QUERY_PAGE_NO = 10000; // 最大限制:分页查询页码
|
||||||
public const int MAX_LIMIT_QUERY_PAGE_SIZE = 100; // 最大限制:分页查询页容量
|
public const int MAX_LIMIT_QUERY_PAGE_SIZE = 100; // 最大限制:分页查询页容量
|
||||||
public const int MAX_LIMIT_RETRY_CNT_REDIS_LOCK = 10; // 最大限制:Redis锁重试次数
|
public const int MAX_LIMIT_RETRY_CNT_REDIS_LOCK = 10; // 最大限制:Redis锁重试次数
|
||||||
public const int REQUEST_LOG_BUFF_SIZE = 10; // 请求日志缓冲区大小
|
|
||||||
public const int SCHEDULED_JOB_PARALLEL_NUM = 5; // 计划作业并发数
|
|
||||||
public const int SECS_CACHE_CHART = 300; // 秒:缓存时间-仪表
|
|
||||||
public const int SECS_CACHE_DEFAULT = 60; // 秒:缓存时间-默认
|
|
||||||
public const int SECS_CACHE_DIC_CATALOG_CODE = 300; // 秒:缓存时间-字典配置-目录代码
|
|
||||||
public const int SECS_CACHE_LOGIN_BY_USER_ID = 3600 * 24 * 30; // 秒:缓存时间-通过用户编号登录的用户信息
|
|
||||||
public const int SECS_REDIS_LOCK_EXPIRY = 60; // 秒:Redis锁过期时间
|
public const int SECS_REDIS_LOCK_EXPIRY = 60; // 秒:Redis锁过期时间
|
||||||
public const int SECS_REDIS_LOCK_RETRY_DELAY = 1; // 秒:Redis锁重试间隔
|
public const int SECS_REDIS_LOCK_RETRY_DELAY = 1; // 秒:Redis锁重试间隔
|
||||||
public const int SECS_TIMEOUT_HTTP_CLIENT = 15; // 秒:超时时间-默认HTTP客户端
|
|
||||||
public const int SECS_TIMEOUT_JOB = 600; // 秒:超时时间-作业
|
|
||||||
}
|
}
|
2581
src/backend/NetAdmin.Infrastructure/Enums/Countries.cs
Normal file
2581
src/backend/NetAdmin.Infrastructure/Enums/Countries.cs
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,5 @@
|
|||||||
// ReSharper disable IdentifierTypo
|
// ReSharper disable IdentifierTypo
|
||||||
|
// ReSharper disable UnusedMember.Global
|
||||||
|
|
||||||
namespace NetAdmin.Infrastructure.Enums;
|
namespace NetAdmin.Infrastructure.Enums;
|
||||||
|
|
||||||
|
@ -35,11 +35,6 @@ public static class GlobalStatic
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static DateTime LatestLogTime => LogCounterOff ? DateTime.MinValue : Volatile.Read(ref _latestLogTime).Time();
|
public static DateTime LatestLogTime => LogCounterOff ? DateTime.MinValue : Volatile.Read(ref _latestLogTime).Time();
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 日志记录器忽略的API编号
|
|
||||||
/// </summary>
|
|
||||||
public static string[] LoggerIgnoreApiIds => ["api/adm/tools/query.es.log", "api/probe/health.check", "api/probe/is.system.safety.stopped"];
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 系统内部密钥
|
/// 系统内部密钥
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -5,16 +5,36 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FreeSql.DbContext.NS" Version="3.2.833-ns4"/>
|
<PackageReference Include="FreeSql.DbContext.NS" Version="3.2.833-ns4"/>
|
||||||
<PackageReference Include="FreeSql.Provider.Sqlite.NS" Version="3.2.833-ns4"/>
|
<PackageReference Include="FreeSql.Provider.Sqlite.NS" Version="3.2.833-ns4"/>
|
||||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.5.8"/>
|
<PackageReference Include="Gurion" Version="1.1.0"/>
|
||||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster.NS" Version="4.9.5.8-ns1"/>
|
|
||||||
<PackageReference Include="Furion.Pure.NS" Version="4.9.5.8-ns1"/>
|
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.11.0"/>
|
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.11.0"/>
|
||||||
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="9.0.0-rc.2.24474.3"/>
|
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="9.0.0-rc.2.24474.3"/>
|
||||||
<PackageReference Include="Minio" Version="6.0.3"/>
|
<PackageReference Include="Minio" Version="6.0.3"/>
|
||||||
<PackageReference Include="NSExt" Version="2.2.0"/>
|
<PackageReference Include="NSExt" Version="2.2.0"/>
|
||||||
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3"/>
|
||||||
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.4"/>
|
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.4"/>
|
||||||
<PackageReference Include="System.Drawing.Common" Version="9.0.0-rc.2.24474.1"/>
|
<PackageReference Include="System.Drawing.Common" Version="9.0.0-rc.2.24474.1"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="$(SolutionDir)/assets/res/NetAdmin.Statements.ln">
|
||||||
|
<Link>Languages/NetAdmin.Statements.ln</Link>
|
||||||
|
</None>
|
||||||
|
<None Include="$(SolutionDir)/assets/res/Nations.ln">
|
||||||
|
<Link>Languages/Nations.ln</Link>
|
||||||
|
</None>
|
||||||
|
<None Include="$(SolutionDir)/assets/res/NetAdmin.Fields.ln">
|
||||||
|
<Link>Languages/NetAdmin.Fields.ln</Link>
|
||||||
|
</None>
|
||||||
|
<None Include="$(SolutionDir)/assets/res/CountryCodes.ln">
|
||||||
|
<Link>Languages/CountryCodes.ln</Link>
|
||||||
|
</None>
|
||||||
|
<EmbeddedResource Include="$(SolutionDir)/assets/res/Ln.resx">
|
||||||
|
<Link>Languages/Ln.resx</Link>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<Compile Include="$(SolutionDir)/dist/backend/$(ProjectName)/Ln.Designer.cs">
|
||||||
|
<Link>Languages/Ln.Designer.cs</Link>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Update="*.json">
|
<None Update="*.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
@ -3,13 +3,5 @@
|
|||||||
"AppSettings": {
|
"AppSettings": {
|
||||||
"InjectSpecificationDocument": true,
|
"InjectSpecificationDocument": true,
|
||||||
"InjectMiniProfiler": true
|
"InjectMiniProfiler": true
|
||||||
},
|
|
||||||
"JWTSettings": {
|
|
||||||
"ExpiredTime": 20000
|
|
||||||
},
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Debug",
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,13 +3,5 @@
|
|||||||
"AppSettings": {
|
"AppSettings": {
|
||||||
"InjectSpecificationDocument": true,
|
"InjectSpecificationDocument": true,
|
||||||
"InjectMiniProfiler": true
|
"InjectMiniProfiler": true
|
||||||
},
|
}
|
||||||
"JWTSettings": {
|
|
||||||
"ExpiredTime": 20000
|
|
||||||
},
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Debug",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||||
|
"AppSettings": {
|
||||||
|
"InjectSpecificationDocument": true,
|
||||||
|
"InjectMiniProfiler": true
|
||||||
|
}
|
||||||
|
}
|
143
src/backend/NetAdmin.Infrastructure/NetAdminSettings.json
Normal file
143
src/backend/NetAdmin.Infrastructure/NetAdminSettings.json
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||||
|
// App基本配置
|
||||||
|
"AppSettings": {
|
||||||
|
"InjectSpecificationDocument": false,
|
||||||
|
"InjectMiniProfiler": false
|
||||||
|
},
|
||||||
|
// Swagger文档配置 ------------------------------------------------------------------------------
|
||||||
|
"SpecificationDocumentSettings": {
|
||||||
|
"EnableEnumSchemaFilter": false,
|
||||||
|
"EnableAuthorized": false,
|
||||||
|
"RoutePrefix": "swagger",
|
||||||
|
"SecurityDefinitions": [
|
||||||
|
{
|
||||||
|
"Id": "Bearer",
|
||||||
|
"Type": "ApiKey",
|
||||||
|
"Name": "Authorization",
|
||||||
|
"Description": "JWT Authorization header using the Bearer scheme.",
|
||||||
|
"BearerFormat": "JWT",
|
||||||
|
"Scheme": "bearer",
|
||||||
|
"In": "Header",
|
||||||
|
"Requirement": {
|
||||||
|
"Scheme": {
|
||||||
|
"Reference": {
|
||||||
|
"Id": "Bearer",
|
||||||
|
"Type": "SecurityScheme"
|
||||||
|
},
|
||||||
|
"Accesses": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 验证码配置 --------------------------------------------------------------------------------------------------------
|
||||||
|
"Captcha": {
|
||||||
|
"ImageRelativePath": ".data/captcha",
|
||||||
|
"SecretKey": "1Z?f(2)%v?:X5NYRl+]PSi.rDf7Ip#lB"
|
||||||
|
},
|
||||||
|
// 跨域配置 ----------------------------------------------------------------------------------------------------------
|
||||||
|
"CorsAccessorSettings": {
|
||||||
|
"WithExposedHeaders": [
|
||||||
|
"access-token",
|
||||||
|
"x-access-token",
|
||||||
|
"content-disposition"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 动态webapi配置 ----------------------------------------------------------------------------------------------------
|
||||||
|
"DynamicApiControllerSettings": {
|
||||||
|
"VerbToHttpMethods": [
|
||||||
|
[
|
||||||
|
"post",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"add",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"create",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"insert",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"submit",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"get",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"find",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"fetch",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"query",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"getlist",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"getall",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"put",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"update",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"delete",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"remove",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"clear",
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"patch",
|
||||||
|
"POST"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"CamelCaseSeparator": ".",
|
||||||
|
"UrlParameterization": true,
|
||||||
|
"KeepVerb": true,
|
||||||
|
"AbandonControllerAffixes": [
|
||||||
|
"Controller"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 友好异常配置 -------------------------------------------------------------------------------------------------------
|
||||||
|
"FriendlyExceptionSettings": {
|
||||||
|
"LogError": false
|
||||||
|
},
|
||||||
|
// 日志配置 ----------------------------------------------------------------------------------------------------------
|
||||||
|
"Logging": {
|
||||||
|
"Monitor": {
|
||||||
|
"GlobalEnabled": false,
|
||||||
|
"ReturnValueThreshold": 1000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// UnifyResultSettings 规范化配置 ------------------------------------------------------------------------------------
|
||||||
|
"UnifyResultSettings": {
|
||||||
|
"Return200StatusCodes": [
|
||||||
|
999
|
||||||
|
]
|
||||||
|
},
|
||||||
|
}
|
@ -1 +1 @@
|
|||||||
global using Furion.RemoteRequest;
|
global using Gurion.RemoteRequest;
|
@ -1,3 +1,6 @@
|
|||||||
|
#if DBTYPE_SQLSERVER
|
||||||
|
using Microsoft.Data.SqlClient;
|
||||||
|
#endif
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using DataType = FreeSql.DataType;
|
using DataType = FreeSql.DataType;
|
||||||
|
|
||||||
@ -13,7 +16,13 @@ public sealed class FreeSqlBuilder(DatabaseOptions databaseOptions)
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public IFreeSql Build(FreeSqlInitMethods initMethods)
|
public IFreeSql Build(FreeSqlInitMethods initMethods)
|
||||||
{
|
{
|
||||||
var freeSql = new FreeSql.FreeSqlBuilder().UseConnectionString(databaseOptions.DbType, databaseOptions.ConnStr)
|
var freeSql = new FreeSql.FreeSqlBuilder()
|
||||||
|
#if DBTYPE_SQLSERVER
|
||||||
|
.UseConnectionFactory(databaseOptions.DbType, () => new SqlConnection(databaseOptions.ConnStr))
|
||||||
|
.UseAdoConnectionPool(true)
|
||||||
|
#else
|
||||||
|
.UseConnectionString(databaseOptions.DbType, databaseOptions.ConnStr)
|
||||||
|
#endif
|
||||||
.UseGenerateCommandParameterWithLambda(true)
|
.UseGenerateCommandParameterWithLambda(true)
|
||||||
.UseAutoSyncStructure(initMethods.HasFlag(FreeSqlInitMethods.SyncStructure))
|
.UseAutoSyncStructure(initMethods.HasFlag(FreeSqlInitMethods.SyncStructure))
|
||||||
.Build();
|
.Build();
|
||||||
|
@ -19,7 +19,7 @@ public sealed class XmlCommentReader : ISingleton
|
|||||||
var xmlComments = specificationDocumentSettings.Value.XmlComments //
|
var xmlComments = specificationDocumentSettings.Value.XmlComments //
|
||||||
?? App.GetConfig<SpecificationDocumentSettingsOptions>(nameof(SpecificationDocumentSettingsOptions).TrimSuffixOptions())
|
?? App.GetConfig<SpecificationDocumentSettingsOptions>(nameof(SpecificationDocumentSettingsOptions).TrimSuffixOptions())
|
||||||
.XmlComments;
|
.XmlComments;
|
||||||
foreach (var commentFile in xmlComments.Where(x => x.Contains(nameof(NetAdmin)))) {
|
foreach (var commentFile in xmlComments) {
|
||||||
var xmlDoc = new XmlDocument();
|
var xmlDoc = new XmlDocument();
|
||||||
var xmlFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, commentFile);
|
var xmlFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, commentFile);
|
||||||
if (!File.Exists(xmlFilePath)) {
|
if (!File.Exists(xmlFilePath)) {
|
||||||
|
@ -1,332 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
|
||||||
// App基本配置
|
|
||||||
"AppSettings": {
|
|
||||||
// AppSettings:配置根节点
|
|
||||||
// InjectMiniProfiler:是否注入 MiniProfiler,bool 类型,默认 true,关闭 Swagger 左上角监听
|
|
||||||
// InjectSpecificationDocument:是否启用 Swagger 文档,bool 类型,默认 true,生产环境可关闭
|
|
||||||
// EnabledReferenceAssemblyScan:是否启用通过 dll 方式添加的引用程序集扫描,bool 类型,默认 false
|
|
||||||
// ExternalAssemblies:配置外部程序集完整路径,支持动态加载,string[] 类型,默认 []
|
|
||||||
// PrintDbConnectionInfo:是否打印数据库连接信息到 MiniProfiler 中,bool 类型,默认 true
|
|
||||||
// SupportPackageNamePrefixs:配置支持的包前缀名,string[] 类型,默认 []
|
|
||||||
// OutputOriginalSqlExecuteLog:是否输出原始 Sql 执行日志(ADO.NET),默认 true
|
|
||||||
// VirtualPath:配置虚拟目录,必须以 / 开头
|
|
||||||
"InjectSpecificationDocument": false,
|
|
||||||
"InjectMiniProfiler": false
|
|
||||||
},
|
|
||||||
// Swagger文档配置 ------------------------------------------------------------------------------
|
|
||||||
"SpecificationDocumentSettings": {
|
|
||||||
// DocumentTitle:文档标题,string,默认 Specification Api Document
|
|
||||||
// DefaultGroupName:默认分组名,string,默认 Default
|
|
||||||
// EnableAuthorized:是否启用权限控制,bool,默认 true
|
|
||||||
// FormatAsV2:采用 Swagger 2.0 版本,bool,默认 false 已弃用
|
|
||||||
// RoutePrefix:规范化文档地址,string,默认 api,如果希望在首页,改为空字符串即可。
|
|
||||||
// DocExpansionState:文档显示方式,DocExpansion,默认 List,取值:
|
|
||||||
// List:列表式(展开子类),默认值
|
|
||||||
// Full:完全展开
|
|
||||||
// None:列表式(不展开子类)
|
|
||||||
// XmlComments:程序集注释描述文件名(可带 .xml,string,默认 Furion.Application, Furion.Web.Entry, Furion.Web.Core
|
|
||||||
// GroupOpenApiInfos:分组信息配置,SpecificationOpenApiInfo[],默认 { 'Group': 'Default'}
|
|
||||||
// SecurityDefinitions:安全策略定义配置,SpecificationOpenApiSecurityScheme[],默认 []
|
|
||||||
// Servers:配置 Server 下拉列表,OpenApiServer[] 类型,默认 [],如:{Servers:[ { Url:"地址", Description:"描述"} ]}
|
|
||||||
// HideServers:是否隐藏 Server 下拉列表,bool 类型,默认 true
|
|
||||||
// RouteTemplate:配置文档 swagger.json 路由模板,默认模板:swagger/{documentName}/swagger.json, {documentName} 代表分组名,必须保留原样
|
|
||||||
// PackagesGroups:配置模块化内置分组名称,string[] 类型,默认 []
|
|
||||||
// EnableEnumSchemaFilter:启用枚举 Schema 筛选器,bool 类型,默认 true
|
|
||||||
// EnableTagsOrderDocumentFilter:启用标签排序筛选器,bool 类型,默认 true
|
|
||||||
// ServerDir:配置 IIS 添加 Application 部署名,string 类型,默认空,仅在 Furion v3.2.0+` 有效
|
|
||||||
// LoginInfo:配置 Swagger 是否需要登录才能访问,SpecificationLoginInfo 类型,默认 null,仅在 Furion v3.3.3+` 有效
|
|
||||||
// Enabled:是否启用登录授权,默认 false
|
|
||||||
// CheckUrl:检查登录状态的 Url 地址,该地址必须是 POST 请求,已授权返回 200,否则返回 401
|
|
||||||
// SubmitUrl:提交登录的 Url 地址,该地址必须是 POST 请求且只有一个 SpecificationAuth 类型参数,成功登录返回 200,否则返回 401,支持相对地址,以 / 开头
|
|
||||||
// EnableAllGroups:启用 Swagger 总分组功能,自动将所有分组的接口合并到 All Groups 中,bool 类型,默认 false,仅在 Furion v3.3.4+` 有效
|
|
||||||
// 另外 SpecificationOpenApiInfo 内置配置如下:
|
|
||||||
//
|
|
||||||
// Group:分组唯一标识,string 类型,必填
|
|
||||||
// Order:分组排序,int 类型,数字越大排前面,默认 0
|
|
||||||
// Visible:配置分组是否可见,bool 类型,默认 true
|
|
||||||
// Title:配置分组标题,string 类型
|
|
||||||
// Description:配置分组描述,string 类型
|
|
||||||
// Version:配置分组版本,默认 1.0
|
|
||||||
// TermsOfService:配置相关链接地址,Uri 类型
|
|
||||||
// Contact:配置联系方式,OpenApiContact 类型
|
|
||||||
// License:配置协议,OpenApiLicense 类型
|
|
||||||
"EnableEnumSchemaFilter": false,
|
|
||||||
"EnableAuthorized": false,
|
|
||||||
"RoutePrefix": "swagger",
|
|
||||||
"XmlComments": [
|
|
||||||
"FreeSql.xml",
|
|
||||||
"NetAdmin.AdmServer.Application.xml",
|
|
||||||
"NetAdmin.AdmServer.Cache.xml",
|
|
||||||
"NetAdmin.AdmServer.Host.xml",
|
|
||||||
"NetAdmin.Application.xml",
|
|
||||||
"NetAdmin.Cache.xml",
|
|
||||||
"NetAdmin.Domain.xml",
|
|
||||||
"NetAdmin.Host.xml",
|
|
||||||
"NetAdmin.Infrastructure.xml",
|
|
||||||
"NetAdmin.ScheduledService.xml",
|
|
||||||
"NetAdmin.SysComponent.Application.xml",
|
|
||||||
"NetAdmin.SysComponent.Cache.xml",
|
|
||||||
"NetAdmin.SysComponent.Host.xml",
|
|
||||||
]
|
|
||||||
},
|
|
||||||
// 验证码配置 --------------------------------------------------------------------------------------------------------
|
|
||||||
"Captcha": {
|
|
||||||
"ImageRelativePath": ".data/captcha",
|
|
||||||
"SecretKey": "1Z?f(2)%v?:X5NYRl+]PSi.rDf7Ip#lB"
|
|
||||||
},
|
|
||||||
// 跨域配置 ----------------------------------------------------------------------------------------------------------
|
|
||||||
"CorsAccessorSettings": {
|
|
||||||
// CorsAccessorSettings
|
|
||||||
// PolicyName:跨域策略名,string 类型,必填,默认 App.Cors.Policy
|
|
||||||
// WithOrigins:允许跨域的域名列表,string[] 类型,默认 *
|
|
||||||
// WithHeaders:请求表头,没有配置则允许所有表头,string[] 类型
|
|
||||||
// WithExposedHeaders:设置客户端可获取的响应标头,string[] 类型,默认 ["access-token", "x-access-token"]
|
|
||||||
// WithMethods:设置跨域允许请求谓词,没有配置则允许所有,string[] 类型
|
|
||||||
// AllowCredentials:是否允许跨域请求中的凭据,bool 类型,默认值 true
|
|
||||||
// SetPreflightMaxAge:设置预检过期时间,int 类型,默认值 24小时
|
|
||||||
// FixedClientToken:是否默认配置 WithExposedHeaders,bool 类型,默认 true
|
|
||||||
// SignalRSupport:是否启用 SignalR 跨域支持,bool 类型,默认 false
|
|
||||||
"WithExposedHeaders": [
|
|
||||||
"access-token",
|
|
||||||
"x-access-token",
|
|
||||||
"content-disposition"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
// 数据库配置 --------------------------------------------------------------------------------------------------------
|
|
||||||
"Database": {
|
|
||||||
"DbType": "Sqlite",
|
|
||||||
"ConnStr": "data source=NetAdmin.db",
|
|
||||||
"SeedDataRelativePath": "SeedData"
|
|
||||||
},
|
|
||||||
// 动态webapi配置 ----------------------------------------------------------------------------------------------------
|
|
||||||
"DynamicApiControllerSettings": {
|
|
||||||
// 5.1.10 DynamicApiControllerSettings 配置
|
|
||||||
// Furion 还提供动态 WebAPI 接口一些全局配置选项,如:
|
|
||||||
//
|
|
||||||
// DefaultRoutePrefix:默认路由前缀,string,默认 api
|
|
||||||
// DefaultHttpMethod:默认请求谓词,string,默认:POST
|
|
||||||
// DefaultModule:默认模块名称(区域),可用作接口版本,string,默认:v1
|
|
||||||
// LowercaseRoute:小写路由格式,bool,默认:true
|
|
||||||
// AsLowerCamelCase:启用小驼峰命名(首字母小写),默认 false
|
|
||||||
// KeepVerb:是否保留动作谓词,bool,默认:false
|
|
||||||
// KeepName:是否保留默认名称,bool,默认:fasle
|
|
||||||
// CamelCaseSeparator:骆驼(驼峰)/帕斯卡命名分隔符,string,默认:-
|
|
||||||
// VersionSeparator:版本分隔符,string,默认:@
|
|
||||||
// ModelToQuery:GET/HEAD 请求将 类类型参数转查询参数,bool,默认 false
|
|
||||||
// SupportedMvcController:是否支持 Mvc Controller 动态配置,bool,默认 false
|
|
||||||
// UrlParameterization:路由参数采用 [FromQuery] 化,默认 false([FromRoute] 方式)
|
|
||||||
// DefaultArea:配置默认区域,默认 null
|
|
||||||
// ForceWithRoutePrefix:配置是否强制添加 DefaultRoutePrefix,当控制器自定义了 [Route] 有效,仅限 v3.4.1+版本有效
|
|
||||||
// AbandonControllerAffixes:默认去除控制器名称前后缀列表名,string[],默认:
|
|
||||||
// AppServices
|
|
||||||
// AppService
|
|
||||||
// ApiController
|
|
||||||
// Controller
|
|
||||||
// Services
|
|
||||||
// Service
|
|
||||||
// AbandonActionAffixes:默认去除动作方法名称前后缀列表名,string[],默认:
|
|
||||||
// Async
|
|
||||||
// VerbToHttpMethods:复写默认方法名转 [HttpMethod] 规则,string[][] 二维数组类型,内置匹配规则为:
|
|
||||||
// ["post"] = "POST",
|
|
||||||
// ["add"] = "POST",
|
|
||||||
// ["create"] = "POST",
|
|
||||||
// ["insert"] = "POST",
|
|
||||||
// ["submit"] = "POST",
|
|
||||||
// ["get"] = "GET",
|
|
||||||
// ["find"] = "GET",
|
|
||||||
// ["fetch"] = "GET",
|
|
||||||
// ["query"] = "GET",
|
|
||||||
// ["getlist"] = "GET",
|
|
||||||
// ["getall"] = "GET",
|
|
||||||
// ["put"] = "PUT",
|
|
||||||
// ["update"] = "PUT",
|
|
||||||
// ["delete"] = "DELETE",
|
|
||||||
// ["remove"] = "DELETE",
|
|
||||||
// ["clear"] = "DELETE",
|
|
||||||
// ["patch"] = "PATCH"
|
|
||||||
//
|
|
||||||
// 复写示例
|
|
||||||
// "DynamicApiControllerSettings": {
|
|
||||||
// "VerbToHttpMethods": [
|
|
||||||
// [ "getall", "HEAD" ], // => getall 会被复写为 `[HttpHead]`
|
|
||||||
// [ "other", "PUT" ] // => 新增一条新规则,比如,一 `[other]` 开头会转换为 `[HttpPut]` 请求
|
|
||||||
// ]
|
|
||||||
// }
|
|
||||||
// "DefaultRoutePrefix": "rest",
|
|
||||||
"VerbToHttpMethods": [
|
|
||||||
[
|
|
||||||
"post",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"add",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"create",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"insert",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"submit",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"get",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"find",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"fetch",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"query",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"getlist",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"getall",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"put",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"update",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"delete",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"remove",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"clear",
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"patch",
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"CamelCaseSeparator": ".",
|
|
||||||
"UrlParameterization": true,
|
|
||||||
"KeepVerb": true,
|
|
||||||
"AbandonControllerAffixes": [
|
|
||||||
"Controller"
|
|
||||||
],
|
|
||||||
},
|
|
||||||
// 友好异常配置 -------------------------------------------------------------------------------------------------------
|
|
||||||
"FriendlyExceptionSettings": {
|
|
||||||
// 7.15 FriendlyExceptionSettings 配置
|
|
||||||
// HideErrorCode:隐藏错误码,bool 类型,默认 false
|
|
||||||
// DefaultErrorCode:默认错误码,string 类型
|
|
||||||
// DefaultErrorMessage:默认错误消息,string 类型
|
|
||||||
// ThrowBah:是否将 Oops.Oh 默认抛出为业务异常,bool 类型,默认 false,设置 true 之后 Oops.Oh 默认进入 OnValidateFailed 处理,而不是 OnException
|
|
||||||
// LogError:是否输出异常日志,bool 类型,默认 true
|
|
||||||
"LogError": false
|
|
||||||
},
|
|
||||||
// JWT鉴权配置 -------------------------------------------------------------------------------------------------------
|
|
||||||
"JWTSettings": {
|
|
||||||
"ValidateIssuerSigningKey": true,
|
|
||||||
// 是否验证密钥,bool 类型,默认true
|
|
||||||
"IssuerSigningKey": "bO0BCAGxpxYnm6AE4XpgO25T27NayFzjGgfDqBuzUzD6ROpFiZUi3KjVg93bdGek",
|
|
||||||
// 密钥,string 类型,必须是复杂密钥,长度大于16
|
|
||||||
"ValidateIssuer": true,
|
|
||||||
// 是否验证签发方,bool 类型,默认true
|
|
||||||
"ValidIssuer": "签发方",
|
|
||||||
// 签发方,string 类型
|
|
||||||
"ValidateAudience": true,
|
|
||||||
// 是否验证签收方,bool 类型,默认true
|
|
||||||
"ValidAudience": "签收方",
|
|
||||||
// 签收方,string 类型
|
|
||||||
"ValidateLifetime": true,
|
|
||||||
// 是否验证过期时间,bool 类型,默认true,建议true
|
|
||||||
"ExpiredTime": 20,
|
|
||||||
// 过期时间,long 类型,单位分钟,默认20分钟
|
|
||||||
"ClockSkew": 5,
|
|
||||||
// 过期时间容错值,long 类型,单位秒,默认 5秒
|
|
||||||
"Algorithm": "HS256"
|
|
||||||
// 加密算法,string 类型,默认 HS256
|
|
||||||
},
|
|
||||||
// 日志配置 ----------------------------------------------------------------------------------------------------------
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning",
|
|
||||||
"System.Logging.EventBusService": "Error"
|
|
||||||
},
|
|
||||||
"Monitor": {
|
|
||||||
"GlobalEnabled": false,
|
|
||||||
// 是否启用全局拦截,默认 `false`
|
|
||||||
// "IncludeOfMethods": [], // 是否指定拦截特定方法,当 GlobalEnabled: false 有效
|
|
||||||
// "ExcludeOfMethods": [], // 是否指定排除特定方法,当 GlobalEnabled: true 有效
|
|
||||||
// "BahLogLevel": "Information", // 配置 Oops.Oh 和 Oops.Bah 业务日志输出级别,默认 Information
|
|
||||||
// "WithReturnValue": true, // 配置是否包含返回值,默认 `true`,Furion 4.3.9+ 有效
|
|
||||||
"ReturnValueThreshold": 1000
|
|
||||||
// 配置返回值字符串阈值,默认 0,全量输出,Furion 4.3.9+ 有效
|
|
||||||
// "JsonBehavior": "None", // 配置 LoggingMonitor Json 输出行为,默认 None,Furion 4.5.2+ 有效
|
|
||||||
// "MethodsSettings": [
|
|
||||||
// // 配置被监视方法更多信息,Furion 4.3.9+ 有效
|
|
||||||
// {
|
|
||||||
// "FullName": "Furion.Application.TestLoggerServices.MethodName", // 方法完全限定名
|
|
||||||
// "WithReturnValue": true, // 配置是否包含返回值,默认 `true`,Furion 4.3.9+ 有效
|
|
||||||
// "ReturnValueThreshold": 0 // 配置返回值字符串阈值,默认 0,全量输出,Furion 4.3.9+ 有效
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// Redis配置 --------------------------------------------------------------------------------------------------------
|
|
||||||
"Redis": {
|
|
||||||
"Instances": [
|
|
||||||
// 数据缓存
|
|
||||||
{
|
|
||||||
"Name": "DataCache",
|
|
||||||
"ConnStr": "localhost:6379,abortConnect=false",
|
|
||||||
"DataBase": 0,
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
// UnifyResultSettings 规范化配置 ------------------------------------------------------------------------------------
|
|
||||||
"UnifyResultSettings": {
|
|
||||||
// Return200StatusCodes:配置返回 200 状态码的请求,int[] 类型,只支持 400+(404除外) 状态码篡改
|
|
||||||
// AdaptStatusCodes:配置篡改状态码规则,int[][] 类型,只支持 400+(404除外) 状态码篡改
|
|
||||||
// SupportMvcController:是否支持 MVC 控制台规范化处理,bool 类型,默认 false
|
|
||||||
"Return200StatusCodes": [
|
|
||||||
999
|
|
||||||
],
|
|
||||||
},
|
|
||||||
// 文件上传配置 -------------------------------------------------------------------------------------------------------
|
|
||||||
"Upload": {
|
|
||||||
"ContentTypes": [
|
|
||||||
"image/jpg",
|
|
||||||
"image/png",
|
|
||||||
"image/jpeg",
|
|
||||||
"image/gif"
|
|
||||||
],
|
|
||||||
"MaxSize": 1073741824,
|
|
||||||
"Minio": {
|
|
||||||
"ServerAddress": "vm-ubt-1:9000",
|
|
||||||
"AccessKey": "nVMM0gSqwyIjM8iZ",
|
|
||||||
"SecretKey": "F8OZngGrNsZSYn4MP9swwMSf5rfm61EC",
|
|
||||||
"BucketName": "net-admin",
|
|
||||||
"AccessUrl": "http://vm-ubt-1:9000",
|
|
||||||
"Secure": false,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Api;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Api;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Cache;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Cache;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Captcha;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Captcha;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Config;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Config;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Dept;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Dev;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Dev;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Dic.Catalog;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Dic.Content;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Dic.Catalog;
|
||||||
using NetAdmin.Domain.Dto.Sys.Dic.Content;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Job;
|
||||||
using NetAdmin.Domain.Dto.Sys.Job;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.JobRecord;
|
||||||
using NetAdmin.Domain.Dto.Sys.JobRecord;
|
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.JobRecord;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.JobRecord;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.LoginLog;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.LoginLog;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Menu;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Menu;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.RequestLogDetail;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.RequestLogDetail;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.RequestLog;
|
||||||
using NetAdmin.Domain.Dto.Sys.RequestLog;
|
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.Role;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.Role;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using NetAdmin.Domain.Dto.Sys.SiteMsgDept;
|
using NetAdmin.SysComponent.Domain.Dto.Sys.SiteMsgDept;
|
||||||
|
|
||||||
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
namespace NetAdmin.SysComponent.Application.Modules.Sys;
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user