初始化
commit
4b97d4123d
|
@ -0,0 +1,36 @@
|
|||
# Build and Release Folders
|
||||
bin-debug/
|
||||
bin-release/
|
||||
[Oo]bj/
|
||||
[Bb]in/
|
||||
|
||||
# Other files and folders
|
||||
.settings/
|
||||
|
||||
# Executables
|
||||
*.swf
|
||||
*.air
|
||||
*.ipa
|
||||
*.apk
|
||||
|
||||
# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
|
||||
# should NOT be excluded as they contain compiler settings and other important
|
||||
# information for Eclipse / Flash Builder.
|
||||
/Admin.NET/.vs
|
||||
/Admin.NET/packages
|
||||
/Admin.NET/Admin.NET.Web.Entry/wwwroot/Upload
|
||||
/Admin.NET/Admin.NET.Web.Entry/wwwroot/Avatar
|
||||
/Admin.NET/Admin.NET.Web.Entry/wwwroot/Signature
|
||||
/Admin.NET/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj.user
|
||||
/Admin.NET/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj.user
|
||||
/Admin.NET/Admin.NET.Web.Entry/Properties/PublishProfiles
|
||||
/Admin.NET/Admin.NET.Web.Entry/publish
|
||||
/Admin.NET/Admin.NET.Web.Entry/logs
|
||||
/Admin.NET/Admin.NET.Web.Entry/*.db
|
||||
|
||||
# folders
|
||||
dist/
|
||||
node_modules/
|
||||
/Web/package-lock.json
|
||||
.DS_Store
|
||||
/Web/public/config.js
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
// 使用 IntelliSense 找出 C# 调试存在哪些属性
|
||||
// 将悬停用于现有属性的说明
|
||||
// 有关详细信息,请访问 https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md。
|
||||
"name": ".NET Core Launch (web)",
|
||||
"type": "coreclr",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "build",
|
||||
// 如果已更改目标框架,请确保更新程序路径。
|
||||
"program": "${workspaceFolder}/Admin.NET/Admin.NET.Web.Entry/bin/Debug/net6.0/Admin.NET.Web.Entry.dll",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/Admin.NET/Admin.NET.Web.Entry",
|
||||
"stopAtEntry": false,
|
||||
// 启用在启动 ASP.NET Core 时启动 Web 浏览器。有关详细信息: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
|
||||
"serverReadyAction": {
|
||||
"action": "openExternally",
|
||||
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
|
||||
},
|
||||
"env": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/Views": "${workspaceFolder}/Views"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".NET Core Attach",
|
||||
"type": "coreclr",
|
||||
"request": "attach"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "build",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"build",
|
||||
"${workspaceFolder}/Admin.NET/Admin.NET.sln",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary;ForceNoAlign"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "publish",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"publish",
|
||||
"${workspaceFolder}/Admin.NET/Admin.NET.sln",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary;ForceNoAlign"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "watch",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"watch",
|
||||
"run",
|
||||
"--project",
|
||||
"${workspaceFolder}/Admin.NET/Admin.NET.sln"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
**/.classpath
|
||||
**/.dockerignore
|
||||
**/.env
|
||||
**/.git
|
||||
**/.gitignore
|
||||
**/.project
|
||||
**/.settings
|
||||
**/.toolstarget
|
||||
**/.vs
|
||||
**/.vscode
|
||||
**/*.*proj.user
|
||||
**/*.dbmdl
|
||||
**/*.jfm
|
||||
**/azds.yaml
|
||||
**/bin
|
||||
**/charts
|
||||
**/docker-compose*
|
||||
**/Dockerfile*
|
||||
**/node_modules
|
||||
**/npm-debug.log
|
||||
**/obj
|
||||
**/secrets.dev.yaml
|
||||
**/values.dev.yaml
|
||||
LICENSE
|
||||
README.md
|
|
@ -0,0 +1,178 @@
|
|||
|
||||
[*.cs]
|
||||
#### 命名样式 ####
|
||||
|
||||
# 命名规则
|
||||
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
|
||||
|
||||
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
|
||||
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
|
||||
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
|
||||
|
||||
# 符号规范
|
||||
|
||||
dotnet_naming_symbols.interface.applicable_kinds = interface
|
||||
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.interface.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
|
||||
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.types.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
|
||||
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.non_field_members.required_modifiers =
|
||||
|
||||
# 命名样式
|
||||
|
||||
dotnet_naming_style.begins_with_i.required_prefix = I
|
||||
dotnet_naming_style.begins_with_i.required_suffix =
|
||||
dotnet_naming_style.begins_with_i.word_separator =
|
||||
dotnet_naming_style.begins_with_i.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.pascal_case.required_prefix =
|
||||
dotnet_naming_style.pascal_case.required_suffix =
|
||||
dotnet_naming_style.pascal_case.word_separator =
|
||||
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.pascal_case.required_prefix =
|
||||
dotnet_naming_style.pascal_case.required_suffix =
|
||||
dotnet_naming_style.pascal_case.word_separator =
|
||||
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
||||
csharp_using_directive_placement = outside_namespace:silent
|
||||
csharp_style_expression_bodied_methods = false:silent
|
||||
csharp_style_expression_bodied_constructors = false:silent
|
||||
csharp_style_expression_bodied_operators = false:silent
|
||||
csharp_style_expression_bodied_properties = true:silent
|
||||
csharp_style_expression_bodied_indexers = true:silent
|
||||
csharp_style_expression_bodied_accessors = true:silent
|
||||
csharp_style_expression_bodied_lambdas = true:silent
|
||||
csharp_style_expression_bodied_local_functions = false:silent
|
||||
csharp_style_conditional_delegate_call = true:suggestion
|
||||
csharp_style_var_for_built_in_types = false:silent
|
||||
csharp_style_var_when_type_is_apparent = false:silent
|
||||
csharp_style_var_elsewhere = false:silent
|
||||
csharp_prefer_simple_using_statement = true:suggestion
|
||||
csharp_prefer_braces = true:silent
|
||||
csharp_style_namespace_declarations = file_scoped:silent
|
||||
csharp_style_prefer_top_level_statements = true:silent
|
||||
csharp_style_prefer_method_group_conversion = true:silent
|
||||
csharp_prefer_static_local_function = true:suggestion
|
||||
csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent
|
||||
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true:silent
|
||||
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent
|
||||
csharp_style_prefer_switch_expression = true:suggestion
|
||||
csharp_style_prefer_pattern_matching = true:silent
|
||||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
|
||||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
|
||||
csharp_style_prefer_not_pattern = true:suggestion
|
||||
csharp_style_prefer_extended_property_pattern = true:suggestion
|
||||
csharp_style_throw_expression = true:suggestion
|
||||
csharp_style_prefer_null_check_over_type_check = true:suggestion
|
||||
csharp_prefer_simple_default_expression = true:suggestion
|
||||
csharp_style_prefer_local_over_anonymous_function = true:suggestion
|
||||
csharp_style_prefer_index_operator = true:suggestion
|
||||
csharp_style_prefer_range_operator = true:suggestion
|
||||
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
|
||||
csharp_style_prefer_tuple_swap = true:suggestion
|
||||
csharp_style_prefer_utf8_string_literals = true:suggestion
|
||||
csharp_style_inlined_variable_declaration = true:suggestion
|
||||
csharp_style_deconstructed_variable_declaration = true:suggestion
|
||||
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
|
||||
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
|
||||
csharp_space_around_binary_operators = before_and_after
|
||||
csharp_indent_labels = one_less_than_current
|
||||
|
||||
[*.vb]
|
||||
#### 命名样式 ####
|
||||
|
||||
# 命名规则
|
||||
|
||||
dotnet_naming_rule.interface_should_be_以_i_开始.severity = suggestion
|
||||
dotnet_naming_rule.interface_should_be_以_i_开始.symbols = interface
|
||||
dotnet_naming_rule.interface_should_be_以_i_开始.style = 以_i_开始
|
||||
|
||||
dotnet_naming_rule.类型_should_be_帕斯卡拼写法.severity = suggestion
|
||||
dotnet_naming_rule.类型_should_be_帕斯卡拼写法.symbols = 类型
|
||||
dotnet_naming_rule.类型_should_be_帕斯卡拼写法.style = 帕斯卡拼写法
|
||||
|
||||
dotnet_naming_rule.非字段成员_should_be_帕斯卡拼写法.severity = suggestion
|
||||
dotnet_naming_rule.非字段成员_should_be_帕斯卡拼写法.symbols = 非字段成员
|
||||
dotnet_naming_rule.非字段成员_should_be_帕斯卡拼写法.style = 帕斯卡拼写法
|
||||
|
||||
# 符号规范
|
||||
|
||||
dotnet_naming_symbols.interface.applicable_kinds = interface
|
||||
dotnet_naming_symbols.interface.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
|
||||
dotnet_naming_symbols.interface.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.类型.applicable_kinds = class, struct, interface, enum
|
||||
dotnet_naming_symbols.类型.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
|
||||
dotnet_naming_symbols.类型.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.非字段成员.applicable_kinds = property, event, method
|
||||
dotnet_naming_symbols.非字段成员.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
|
||||
dotnet_naming_symbols.非字段成员.required_modifiers =
|
||||
|
||||
# 命名样式
|
||||
|
||||
dotnet_naming_style.以_i_开始.required_prefix = I
|
||||
dotnet_naming_style.以_i_开始.required_suffix =
|
||||
dotnet_naming_style.以_i_开始.word_separator =
|
||||
dotnet_naming_style.以_i_开始.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.帕斯卡拼写法.required_prefix =
|
||||
dotnet_naming_style.帕斯卡拼写法.required_suffix =
|
||||
dotnet_naming_style.帕斯卡拼写法.word_separator =
|
||||
dotnet_naming_style.帕斯卡拼写法.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.帕斯卡拼写法.required_prefix =
|
||||
dotnet_naming_style.帕斯卡拼写法.required_suffix =
|
||||
dotnet_naming_style.帕斯卡拼写法.word_separator =
|
||||
dotnet_naming_style.帕斯卡拼写法.capitalization = pascal_case
|
||||
|
||||
[*.{cs,vb}]
|
||||
end_of_line = crlf
|
||||
dotnet_style_qualification_for_field = false:silent
|
||||
dotnet_style_qualification_for_property = false:silent
|
||||
dotnet_style_qualification_for_method = false:silent
|
||||
dotnet_style_qualification_for_event = false:silent
|
||||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
|
||||
dotnet_code_quality_unused_parameters = all:suggestion
|
||||
dotnet_style_readonly_field = true:suggestion
|
||||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
|
||||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
|
||||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
|
||||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
|
||||
dotnet_style_allow_multiple_blank_lines_experimental = true:silent
|
||||
dotnet_style_allow_statement_immediately_after_block_experimental = true:silent
|
||||
dotnet_style_coalesce_expression = true:suggestion
|
||||
dotnet_style_null_propagation = true:suggestion
|
||||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
|
||||
dotnet_style_prefer_auto_properties = true:silent
|
||||
dotnet_style_object_initializer = true:suggestion
|
||||
dotnet_style_collection_initializer = true:suggestion
|
||||
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
|
||||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
|
||||
dotnet_style_prefer_conditional_expression_over_return = true:silent
|
||||
dotnet_style_explicit_tuple_names = true:suggestion
|
||||
dotnet_style_prefer_inferred_tuple_names = true:suggestion
|
||||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
|
||||
dotnet_style_prefer_compound_assignment = true:suggestion
|
||||
dotnet_style_prefer_simplified_interpolation = true:suggestion
|
||||
dotnet_style_namespace_match_folder = true:suggestion
|
||||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
|
||||
dotnet_style_predefined_type_for_member_access = true:silent
|
||||
indent_size = 4
|
||||
tab_width = 4
|
||||
dotnet_style_operator_placement_when_wrapping = beginning_of_line
|
||||
|
||||
# Add copyright file header
|
||||
file_header_template = 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995\n\n此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
|
@ -0,0 +1,83 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<NoWarn>1701;1702;1591;8632</NoWarn>
|
||||
<DocumentationFile></DocumentationFile>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<Nullable>disable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="Admin.NET.Application.xml" />
|
||||
<None Remove="Configuration\Limit.json" />
|
||||
<None Remove="Configuration\Logging.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="Configuration\Logging.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Include="Configuration\Limit.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Admin.NET.Core\Admin.NET.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="Configuration\APIJSON.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\App.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\Captcha.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\Cache.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\Enum.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\CodeGen.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\Database.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\Email.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\EventBus.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\JWT.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\SMS.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\OAuth.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\OSS.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\Swagger.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\Upload.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Configuration\Wechat.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"APIJSON": {
|
||||
"Roles": [
|
||||
{
|
||||
"RoleName": "Role1", // 权限名称 唯一
|
||||
"Select": { // 查询
|
||||
"Table": [ "*" ], // 可操作的表
|
||||
"Column": [ "*" ], // 可操作的字段
|
||||
"Filter": []
|
||||
},
|
||||
"Insert": { // 添加
|
||||
"Table": [ "table1", "table2", "table3" ],
|
||||
"Column": [ "*", "*", "tb.*" ]
|
||||
},
|
||||
"Update": { // 修改
|
||||
"Table": [ "table1", "table2", "table3" ],
|
||||
"Column": [ "*", "tb.*", "tb.*" ]
|
||||
},
|
||||
"Delete": { // 删除
|
||||
"Table": [ "table1", "table2", "table3" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"RoleName": "Role2",
|
||||
"Select": {
|
||||
"Table": [ "table1" ],
|
||||
"Column": [ "tb.*" ]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"Urls": "http://*:5005", // 配置默认端口
|
||||
// "https_port": 44325,
|
||||
|
||||
"AllowedHosts": "*",
|
||||
|
||||
"AppSettings": {
|
||||
"InjectSpecificationDocument": true // 生产环境是否开启Swagger
|
||||
},
|
||||
"DynamicApiControllerSettings": {
|
||||
//"DefaultRoutePrefix": "api", // 默认路由前缀
|
||||
"CamelCaseSeparator": "", // 驼峰命名分隔符
|
||||
"SplitCamelCase": false, // 切割骆驼(驼峰)/帕斯卡命名
|
||||
"LowercaseRoute": false, // 小写路由格式
|
||||
"AsLowerCamelCase": true, // 小驼峰命名(首字母小写)
|
||||
"KeepVerb": false, // 保留动作方法请求谓词
|
||||
"KeepName": false // 保持原有名称不处理
|
||||
},
|
||||
"FriendlyExceptionSettings": {
|
||||
"DefaultErrorMessage": "系统异常,请联系管理员",
|
||||
"ThrowBah": true, // 是否将 Oops.Oh 默认抛出为业务异常
|
||||
"LogError": false // 是否输出异常日志
|
||||
},
|
||||
"LocalizationSettings": {
|
||||
"SupportedCultures": [ "zh-CN", "en" ], // 语言列表
|
||||
"DefaultCulture": "zh-CN", // 默认语言
|
||||
"DateTimeFormatCulture": "zh-CN" // 固定时间区域为特定时区(多语言)
|
||||
},
|
||||
"CorsAccessorSettings": {
|
||||
// "WithOrigins": ["https://gitee.com"],
|
||||
"WithExposedHeaders": [ "Content-Disposition", "X-Pagination", "access-token", "x-access-token" ], // 如果前端不代理且是axios请求
|
||||
"SignalRSupport": true // 启用 SignalR 跨域支持
|
||||
},
|
||||
"SnowId": {
|
||||
"WorkerId": 1, // 机器码 全局唯一
|
||||
"WorkerIdBitLength": 2, // 机器码位长 默认值6,取值范围 [1, 19]
|
||||
"SeqBitLength": 6, // 序列数位长 默认值6,取值范围 [3, 21](建议不小于4,值越大性能越高、Id位数也更长)
|
||||
"WorkerPrefix": "adminnet_" // 缓存前缀
|
||||
},
|
||||
"Cryptogram": {
|
||||
"StrongPassword": false, // 是否开启密码强度验证
|
||||
"PasswordStrengthValidation": "(?=^.{6,16}$)(?=.*\\d)(?=.*\\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\\n).*$", // 密码强度验证正则表达式,必须须包含大小写字母、数字和特殊字符的组合,长度在6-16之间
|
||||
"PasswordStrengthValidationMsg": "密码必须包含大小写字母、数字和特殊字符的组合,长度在6-16之间", // 密码强度验证消息提示
|
||||
"CryptoType": "SM2", // 密码加密算法:MD5、SM2、SM4
|
||||
"PublicKey": "0484C7466D950E120E5ECE5DD85D0C90EAA85081A3A2BD7C57AE6DC822EFCCBD66620C67B0103FC8DD280E36C3B282977B722AAEC3C56518EDCEBAFB72C5A05312", // 公钥
|
||||
"PrivateKey": "8EDB615B1D48B8BE188FC0F18EC08A41DF50EA731FA28BF409E6552809E3A111" // 私钥
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"Cache": {
|
||||
"Prefix": "adminnet_", // 全局缓存前缀
|
||||
"CacheType": "Memory", // Memory、Redis
|
||||
"Redis": {
|
||||
"Configuration": "server=127.0.0.1:6379;password=;db=5;", // Redis连接字符串
|
||||
"Prefix": "adminnet_", // Redis前缀(目前没用)
|
||||
"MaxMessageSize": "1048576" // 最大消息大小 默认1024 * 1024
|
||||
}
|
||||
},
|
||||
"Cluster": { // 集群配置
|
||||
"Enabled": false, // 启用集群:前提开启Redis缓存模式
|
||||
"ServerId": "adminnet", // 服务器标识
|
||||
"ServerIp": "", // 服务器IP
|
||||
"SignalR": {
|
||||
"RedisConfiguration": "127.0.0.1:6379,ssl=false,password=,defaultDatabase=5",
|
||||
"ChannelPrefix": "signalrPrefix_"
|
||||
},
|
||||
"DataProtecteKey": "AdminNet:DataProtection-Keys",
|
||||
"IsSentinel": false, // 是否哨兵模式
|
||||
"SentinelConfig": {
|
||||
"DefaultDb": "4",
|
||||
"EndPoints": [ // 哨兵端口
|
||||
// "10.10.0.124:26380"
|
||||
],
|
||||
"MainPrefix": "adminNet:",
|
||||
"Password": "123456",
|
||||
"SentinelPassword": "adminNet",
|
||||
"ServiceName": "adminNet",
|
||||
"SignalRChannelPrefix": "signalR:"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"CaptchaOptions": {
|
||||
"CaptchaType": 10, // 验证码类型0、1、2、3、4、5、6、7、8、9、10、11
|
||||
"CodeLength": 1, // 验证码长度, 要放在CaptchaType设置后 当类型为算术表达式时,长度代表操作的个数, 例如2
|
||||
"ExpirySeconds": 60, // 验证码过期秒数
|
||||
"IgnoreCase": true, // 比较时是否忽略大小写
|
||||
"StoreageKeyPrefix": "", // 存储键前缀
|
||||
"ImageOption": {
|
||||
"Animation": true, // 是否启用动画
|
||||
"FontSize": 36, // 字体大小
|
||||
"Width": 150, // 验证码宽度
|
||||
"Height": 50, // 验证码高度
|
||||
"BubbleMinRadius": 5, // 气泡最小半径
|
||||
"BubbleMaxRadius": 10, // 气泡最大半径
|
||||
"BubbleCount": 3, // 气泡数量
|
||||
"BubbleThickness": 1.0, // 气泡边沿厚度
|
||||
"InterferenceLineCount": 3, // 干扰线数量
|
||||
"FontFamily": "kaiti", // 包含actionj,epilog,fresnel,headache,lexo,prefix,progbot,ransom,robot,scandal,kaiti
|
||||
"FrameDelay": 300, // 每帧延迟,Animation=true时有效, 默认300
|
||||
"BackgroundColor": "#ffffff", // 格式: rgb, rgba, rrggbb, or rrggbbaa format to match web syntax, 默认#fff
|
||||
"ForegroundColors": "", // 颜色格式同BackgroundColor,多个颜色逗号分割,随机选取。不填,空值,则使用默认颜色集
|
||||
"Quality": 100, // 图片质量(质量越高图片越大,gif调整无效可能会更大)
|
||||
"TextBold": true // 粗体
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
// 代码生成配置项-程序集名称集合
|
||||
"CodeGen": {
|
||||
"EntityAssemblyNames": [ "Admin.NET.Core", "Admin.NET.Application" ],
|
||||
"BaseEntityNames": [ "EntityTenantId", "EntityTenant", "EntityTenantBaseData", "EntityBaseData", "EntityBase", "EntityBaseId" ],
|
||||
"EntityBaseColumn": {
|
||||
"EntityTenantId": [ "Id", "TenantId" ],
|
||||
"EntityTenant": [ "Id", "CreateTime", "UpdateTime", "CreateUserId", "UpdateUserId", "CreateUserName", "UpdateUserName", "IsDelete", "TenantId" ],
|
||||
"EntityTenantBaseData": [ "Id", "CreateTime", "UpdateTime", "CreateUserId", "UpdateUserId", "CreateUserName", "UpdateUserName", "IsDelete", "CreateOrgId", "CreateOrgName", "TenantId" ],
|
||||
"EntityBaseData": [ "Id", "CreateTime", "UpdateTime", "CreateUserId", "UpdateUserId", "CreateUserName", "UpdateUserName", "IsDelete", "CreateOrgId", "CreateOrgName" ],
|
||||
"EntityBase": [ "Id", "CreateTime", "UpdateTime", "CreateUserId", "UpdateUserId", "CreateUserName", "UpdateUserName", "IsDelete" ],
|
||||
"EntityBaseId": [ "Id" ]
|
||||
//"BaseId": [ "Id" ]
|
||||
},
|
||||
"FrontRootPath": "Web", // 前端项目根目录
|
||||
"BackendApplicationNamespaces": [ "Admin.NET.Application", "Admin.NET.Application2" ] // 后端生成到的项目
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
// 详细数据库配置见SqlSugar官网(第一个为默认库)
|
||||
"DbConnection": {
|
||||
"EnableConsoleSql": true, // 启用控制台打印SQL
|
||||
"ConnectionConfigs": [
|
||||
{
|
||||
//"ConfigId": "1300000000001", // 默认库标识-禁止修改
|
||||
"DbType": "Sqlite", // MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access、OpenGauss、QuestDB、HG、ClickHouse、GBase、Odbc、Custom
|
||||
"ConnectionString": "DataSource=./Admin.NET.db", // 库连接字符串
|
||||
//"SlaveConnectionConfigs": [ // 读写分离/主从
|
||||
// {
|
||||
// "HitRate": 10,
|
||||
// "ConnectionString": "DataSource=./Admin.NET1.db"
|
||||
// },
|
||||
// {
|
||||
// "HitRate": 10,
|
||||
// "ConnectionString": "DataSource=./Admin.NET2.db"
|
||||
// }
|
||||
//],
|
||||
"DbSettings": {
|
||||
"EnableInitDb": true, // 启用库初始化
|
||||
"EnableDiffLog": false, // 启用库表差异日志
|
||||
"EnableUnderLine": false // 启用驼峰转下划线
|
||||
},
|
||||
"TableSettings": {
|
||||
"EnableInitTable": true, // 启用表初始化
|
||||
"EnableIncreTable": false // 启用表增量更新-特性[IncreTable]
|
||||
},
|
||||
"SeedSettings": {
|
||||
"EnableInitSeed": true, // 启用种子初始化
|
||||
"EnableIncreSeed": false // 启用种子增量更新-特性[IncreSeed]
|
||||
}
|
||||
}
|
||||
//// 日志独立数据库配置
|
||||
//{
|
||||
// "ConfigId": "1300000000002", // 日志库标识-禁止修改
|
||||
// "DbType": "Sqlite",
|
||||
// "ConnectionString": "DataSource=./Admin.NET.Log.db", // 库连接字符串
|
||||
// "DbSettings": {
|
||||
// "EnableInitDb": true, // 启用库初始化
|
||||
// "EnableDiffLog": false, // 启用库表差异日志
|
||||
// "EnableUnderLine": false // 启用驼峰转下划线
|
||||
// },
|
||||
// "TableSettings": {
|
||||
// "EnableInitTable": true, // 启用表初始化
|
||||
// "EnableIncreTable": false // 启用表增量更新-特性[IncreTable]
|
||||
// },
|
||||
// "SeedSettings": {
|
||||
// "EnableInitSeed": false, // 启用种子初始化
|
||||
// "EnableIncreSeed": false // 启用种子增量更新-特性[IncreSeed]
|
||||
// }
|
||||
//},
|
||||
//// 其他数据库配置(可以配置多个)
|
||||
//{
|
||||
// "ConfigId": "test", // 库标识
|
||||
// "DbType": "Sqlite", // 库类型
|
||||
// "ConnectionString": "DataSource=./Admin.NET.Test.db", // 库连接字符串
|
||||
// "DbSettings": {
|
||||
// "EnableInitDb": true, // 启用库初始化
|
||||
// "EnableDiffLog": false, // 启用库表差异日志
|
||||
// "EnableUnderLine": false // 启用驼峰转下划线
|
||||
// },
|
||||
// "TableSettings": {
|
||||
// "EnableInitTable": true, // 启用表初始化
|
||||
// "EnableIncreTable": false // 启用表增量更新-特性[IncreTable]
|
||||
// },
|
||||
// "SeedSettings": {
|
||||
// "EnableInitSeed": true, // 启用种子初始化
|
||||
// "EnableIncreSeed": false // 启用种子增量更新-特性[IncreSeed]
|
||||
// }
|
||||
//}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"Email": {
|
||||
"Host": "smtp.163.com", // 主机
|
||||
"Port": 465, // 端口 465、994、25
|
||||
"EnableSsl": true, // 启用SSL
|
||||
"DefaultFromEmail": "zuohuaijun@163.com", // 默认发件者邮箱
|
||||
"DefaultToEmail": "515096995@qq.com", // 默认接收人邮箱
|
||||
"UserName": "zuohuaijun@163.com", // 邮箱账号
|
||||
"Password": "", // 邮箱授权码
|
||||
"DefaultFromName": "Admin.NET 通用权限开发平台" // 默认邮件标题
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
// 枚举实体所在程序集名称集合
|
||||
"Enum": {
|
||||
"EntityAssemblyNames": [ "Admin.NET.Core", "Admin.NET.Application", "Admin.NET.AppCPMS" ]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"EventBus": {
|
||||
"RabbitMQ": {
|
||||
"UserName": "adminnet",
|
||||
"Password": "adminnet++123456",
|
||||
"HostName": "127.0.0.1",
|
||||
"Port": 5672
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"JWTSettings": {
|
||||
"ValidateIssuerSigningKey": true, // 是否验证密钥,bool 类型,默认true
|
||||
"IssuerSigningKey": "3c1cbc3f546eda35168c3aa3cb91780fbe703f0996c6d123ea96dc85c70bbc0a", // 密钥,string 类型,必须是复杂密钥,长度大于16
|
||||
"ValidateIssuer": true, // 是否验证签发方,bool 类型,默认true
|
||||
"ValidIssuer": "Admin.NET", // 签发方,string 类型
|
||||
"ValidateAudience": true, // 是否验证签收方,bool 类型,默认true
|
||||
"ValidAudience": "Admin.NET", // 签收方,string 类型
|
||||
"ValidateLifetime": true, // 是否验证过期时间,bool 类型,默认true,建议true
|
||||
//"ExpiredTime": 20, // 过期时间,long 类型,单位分钟,默认20分钟,最大支持 13 年
|
||||
"ClockSkew": 5, // 过期时间容错值,long 类型,单位秒,默认5秒
|
||||
"Algorithm": "HS256", // 加密算法,string 类型,默认 HS256
|
||||
"RequireExpirationTime": true // 验证过期时间,设置 false 将永不过期
|
||||
}
|
||||
}
|
|
@ -0,0 +1,121 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
// IP限流配置
|
||||
"IpRateLimiting": {
|
||||
// 例如:设置每分钟5次访问限流
|
||||
// 当False时:每个接口都加入计数,不管你访问哪个接口,只要在一分钟内累计够5次,将禁止访问。
|
||||
// 当True 时:当一分钟请求了5次GetData接口,则该接口将在时间段内禁止访问,但是还可以访问PostData()5次,总得来说是每个接口都有5次在这一分钟,互不干扰。
|
||||
"EnableEndpointRateLimiting": true,
|
||||
// 如果StackBlockedRequests设置为false,拒绝的API调用不会添加到调用次数计数器上。比如:如果客户端每秒发出3个请求并且您设置了每秒一个调用的限制,
|
||||
// 则每分钟或每天计数器等其他限制将仅记录第一个调用,即成功的API调用。如果您希望被拒绝的API调用计入其他时间的显示(分钟,小时等),则必须设置
|
||||
"StackBlockedRequests": false,
|
||||
// 在RealIpHeader使用时,你的Kestrel服务器背后是一个反向代理,如果你的代理服务器使用不同的页眉然后提取客户端IP X-Real-IP使用此选项来设置它。
|
||||
"RealIpHeader": "X-Real-IP",
|
||||
// 将ClientIdHeader被用于提取白名单的客户端ID。如果此标头中存在客户端ID并且与ClientWhitelist中指定的值匹配,则不应用速率限制。
|
||||
"ClientIdHeader": "X-ClientId",
|
||||
// IP白名单:支持Ipv4和Ipv6
|
||||
"IpWhitelist": [],
|
||||
// 端点白名单
|
||||
"EndpointWhitelist": [],
|
||||
// 客户端白名单
|
||||
"ClientWhitelist": [],
|
||||
"QuotaExceededResponse": {
|
||||
"Content": "{{\"code\":429,\"type\":\"error\",\"message\":\"访问过于频繁,请稍后重试!\",\"result\":null,\"extras\":null}}",
|
||||
"ContentType": "application/json",
|
||||
"StatusCode": 429
|
||||
},
|
||||
// 返回状态码
|
||||
"HttpStatusCode": 429,
|
||||
// API规则,结尾一定要带*
|
||||
"GeneralRules": [
|
||||
// 1秒钟只能调用10次
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1s",
|
||||
"Limit": 10
|
||||
},
|
||||
// 1分钟只能调用600次
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1m",
|
||||
"Limit": 600
|
||||
},
|
||||
// 1小时只能调用3600
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1h",
|
||||
"Limit": 3600
|
||||
},
|
||||
// 1天只能调用86400次
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1d",
|
||||
"Limit": 86400
|
||||
}
|
||||
]
|
||||
},
|
||||
"IpRateLimitPolicies": {
|
||||
"IpRules": [
|
||||
{
|
||||
"Ip": "XXX.XXX.XXX.XXX",
|
||||
"Rules": [
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1s",
|
||||
"Limit": 10
|
||||
},
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1m",
|
||||
"Limit": 600
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
// 客户端限流配置
|
||||
"ClientRateLimiting": {
|
||||
"EnableEndpointRateLimiting": true,
|
||||
"ClientIdHeader": "X-ClientId",
|
||||
"EndpointWhitelist": [],
|
||||
"ClientWhitelist": [],
|
||||
"QuotaExceededResponse": {
|
||||
"Content": "{{\"code\":429,\"type\":\"error\",\"message\":\"访问人数过多,请稍后重试!\",\"result\":null,\"extras\":null}}",
|
||||
"ContentType": "application/json",
|
||||
"StatusCode": 429
|
||||
},
|
||||
"HttpStatusCode": 429,
|
||||
"GeneralRules": [
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1s",
|
||||
"Limit": 10
|
||||
},
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1m",
|
||||
"Limit": 600
|
||||
}
|
||||
]
|
||||
},
|
||||
"ClientRateLimitPolicies": {
|
||||
"ClientRules": [
|
||||
{
|
||||
"ClientId": "xxx-xxx",
|
||||
"Rules": [
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1s",
|
||||
"Limit": 10
|
||||
},
|
||||
{
|
||||
"Endpoint": "*",
|
||||
"Period": "1m",
|
||||
"Limit": 600
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning",
|
||||
"Microsoft.EntityFrameworkCore": "Information"
|
||||
},
|
||||
"File": {
|
||||
"Enabled": false, // 启用文件日志
|
||||
"FileName": "logs/{0:yyyyMMdd}_{1}.log", // 日志文件
|
||||
"Append": true, // 追加覆盖
|
||||
// "MinimumLevel": "Information", // 日志级别
|
||||
"FileSizeLimitBytes": 10485760, // 10M=10*1024*1024
|
||||
"MaxRollingFiles": 30 // 只保留30个文件
|
||||
},
|
||||
"Database": {
|
||||
"Enabled": true, // 启用数据库日志
|
||||
"MinimumLevel": "Information"
|
||||
},
|
||||
"ElasticSearch": {
|
||||
"Enabled": false, // 启用ES日志
|
||||
"AuthType": "Basic", // ES认证类型,可选 Basic、ApiKey、Base64ApiKey
|
||||
"User": "dilon", // Basic认证的用户名,使用Basic认证类型时必填
|
||||
"Password": "123456", // Basic认证的密码,使用Basic认证类型时必填
|
||||
"ApiId": "", // 使用ApiKey认证类型时必填
|
||||
"ApiKey": "", // 使用ApiKey认证类型时必填
|
||||
"Base64ApiKey": "TmtrOEszNEJuQ0NyaWlydGtROFk6SG1RZ0w3YzBTc2lCanJTYlV3aXNzZw==", // 使用Base64ApiKey认证类型时必填
|
||||
"Fingerprint": "37:08:6A:C6:06:CC:9A:43:CF:ED:25:A2:1C:A4:69:57:90:31:2C:06:CA:61:56:39:6A:9C:46:11:BD:22:51:DA", // ES使用Https时的证书指纹
|
||||
"ServerUris": [ "http://192.168.1.100:9200" ], // 地址
|
||||
"DefaultIndex": "adminnet" // 索引
|
||||
},
|
||||
"Monitor": {
|
||||
"GlobalEnabled": true, // 启用全局拦截日志
|
||||
"IncludeOfMethods": [], // 拦截特定方法,当GlobalEnabled=false有效
|
||||
"ExcludeOfMethods": [], // 排除特定方法,当GlobalEnabled=true有效
|
||||
"BahLogLevel": "Information", // Oops.Oh 和 Oops.Bah 业务日志输出级别
|
||||
"WithReturnValue": true, // 是否包含返回值,默认true
|
||||
"ReturnValueThreshold": 500, // 返回值字符串阈值,默认0全量输出
|
||||
"JsonBehavior": "None", // 是否输出Json,默认None(OnlyJson、All)
|
||||
"JsonIndented": false, // 是否格式化Json
|
||||
"UseUtcTimestamp": false, // 时间格式UTC、LOCAL
|
||||
"ConsoleLog": true // 是否显示控制台日志
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"OAuth": {
|
||||
"Weixin": {
|
||||
"ClientId": "wx2959fdd3abc05362",
|
||||
"ClientSecret": "829f65b2be0652bcd50ea8cb820fd7fa"
|
||||
},
|
||||
"Gitee": {
|
||||
"ClientId": "daf46f82c7aef4ee192e7537319f7fd18a158b7f0b21ca11abccea59c55d8ac1",
|
||||
"ClientSecret": "4ec9a6942c35d03ce64434cdffb92dee48d12fe1b2038eeda2dbb6f3c847b365"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"SMS": {
|
||||
"Aliyun": {
|
||||
"AccessKeyId": "LTAI5t8q8PMXkonqpVNtN7aZ",
|
||||
"AccessKeySecret": "giAHi3RRL1UbEu6Ai6aBX40D06XFtO",
|
||||
"SignName": "AdminNET平台", // 短信签名
|
||||
"TemplateCode": "" // 短信模板
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"SpecificationDocumentSettings": {
|
||||
"DocumentTitle": "Admin.NET 通用权限开发平台",
|
||||
"GroupOpenApiInfos": [
|
||||
{
|
||||
"Group": "Default",
|
||||
"Title": "Admin.NET 通用权限开发平台",
|
||||
"Description": "让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>",
|
||||
"Version": "1.0.0"
|
||||
//"TermsOfService": "https://dotnetchina.gitee.io/furion/",
|
||||
//"Contact": {
|
||||
// "Name": "zuohuaijun",
|
||||
// "Email": "515096995@qq.com",
|
||||
// "Url": "https://gitee.com/zuohuaijun/Admin.NET"
|
||||
//}
|
||||
},
|
||||
{
|
||||
"Group": "All Groups",
|
||||
"Title": "所有接口",
|
||||
"Description": "让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>",
|
||||
"Version": "1.0.0"
|
||||
//"TermsOfService": "https://dotnetchina.gitee.io/furion/",
|
||||
//"Contact": {
|
||||
// "Name": "zuohuaijun",
|
||||
// "Email": "515096995@qq.com",
|
||||
// "Url": "https://gitee.com/zuohuaijun/Admin.NET"
|
||||
//}
|
||||
}
|
||||
],
|
||||
"DefaultGroupName": "Default", // 默认分组名
|
||||
"DocExpansionState": "List", // List、Full、None
|
||||
"EnableAllGroups": true,
|
||||
"LoginInfo": {
|
||||
"Enabled": true, // 是否开启Swagger登录
|
||||
"CheckUrl": "/api/swagger/checkUrl",
|
||||
"SubmitUrl": "/api/swagger/submitUrl"
|
||||
},
|
||||
"EnumToNumber": true // 枚举类型生成值类型
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"Upload": {
|
||||
"Path": "Upload/{yyyy}/{MM}/{dd}", // 文件上传目录
|
||||
"MaxSize": 20480, // 文件最大限制KB:1024*20
|
||||
"ContentType": [ "image/jpg", "image/png", "image/jpeg", "image/gif", "image/bmp", "text/plain", "application/pdf", "application/msword", "application/vnd.ms-excel", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "video/mp4" ],
|
||||
"EnableMd5": false // 启用文件MDF5验证-防止重复上传
|
||||
},
|
||||
"OSSProvider": {
|
||||
"IsEnable": false,
|
||||
"Provider": "Minio", // OSS提供者 Invalid/Minio/Aliyun/QCloud/Qiniu/HuaweiCloud
|
||||
"Endpoint": "101.43.53.74:8090", // 节点/API地址(在腾讯云OSS中表示AppId)
|
||||
"Region": "101.43.53.74", // 地域
|
||||
"AccessKey": "z1KoTnXlznKBKWtlIahn",
|
||||
"SecretKey": "n0YxRADS7Bnb4th9zplVuDiQIdPFQ5gDtQHzLyXI",
|
||||
"IsEnableHttps": false, // 是否启用HTTPS
|
||||
"IsEnableCache": true, // 是否启用缓存
|
||||
"Bucket": "admin.net"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
|
||||
|
||||
"Wechat": {
|
||||
// 公众号
|
||||
"WechatAppId": "",
|
||||
"WechatAppSecret": "",
|
||||
// 小程序
|
||||
"WxOpenAppId": "",
|
||||
"WxOpenAppSecret": ""
|
||||
},
|
||||
// 微信支付
|
||||
"WechatPay": {
|
||||
"AppId": "", // 微信公众平台AppId、开放平台AppId、小程序AppId、企业微信CorpId
|
||||
"MerchantId": "", // 商户平台的商户号
|
||||
"MerchantV3Secret": "", // 商户平台的APIv3密钥
|
||||
"MerchantCertificateSerialNumber": "", // 商户平台的证书序列号
|
||||
"MerchantCertificatePrivateKey": "\\WxPayCert\\apiclient_key.pem" // 商户平台的API证书私钥(apiclient_key.pem文件内容)
|
||||
},
|
||||
// 支付回调
|
||||
"PayCallBack": {
|
||||
"WechatPayUrl": "https://xxx/api/sysWechatPay/payCallBack", // 微信支付回调
|
||||
"WechatRefundUrl": "", // 微信退款回调
|
||||
"AlipayUrl": "", // 支付宝支付回调
|
||||
"AlipayRefundUrl": "" // 支付宝退款回调
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Application.Const;
|
||||
|
||||
/// <summary>
|
||||
/// 业务应用相关常量
|
||||
/// </summary>
|
||||
public class ApplicationConst
|
||||
{
|
||||
/// <summary>
|
||||
/// API分组名称
|
||||
/// </summary>
|
||||
public const string GroupName = "业务应用";
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
global using Admin.NET.Core;
|
||||
global using Furion;
|
||||
global using Furion.DependencyInjection;
|
||||
global using Furion.DynamicApiController;
|
||||
global using Furion.FriendlyException;
|
||||
global using Mapster;
|
||||
global using Microsoft.AspNetCore.Authorization;
|
||||
global using Microsoft.AspNetCore.Mvc;
|
||||
global using Microsoft.Extensions.DependencyInjection;
|
||||
global using SqlSugar;
|
||||
global using System;
|
||||
global using System.Collections.Generic;
|
||||
global using System.ComponentModel;
|
||||
global using System.ComponentModel.DataAnnotations;
|
||||
global using System.Threading.Tasks;
|
||||
global using System.Linq;
|
|
@ -0,0 +1,26 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Application;
|
||||
|
||||
///// <summary>
|
||||
///// 示例开放接口
|
||||
///// </summary>
|
||||
//[ApiDescriptionSettings("开放接口", Name = "Demo", Order = 100)]
|
||||
//[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]
|
||||
//public class DemoOpenApi : IDynamicApiController
|
||||
//{
|
||||
// private readonly UserManager _userManager;
|
||||
|
||||
// public DemoOpenApi(UserManager userManager)
|
||||
// {
|
||||
// _userManager = userManager;
|
||||
// }
|
||||
|
||||
// [HttpGet("helloWord")]
|
||||
// public Task<string> HelloWord()
|
||||
// {
|
||||
// return Task.FromResult($"Hello word. {_userManager.Account}");
|
||||
// }
|
||||
//}
|
|
@ -0,0 +1,20 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
|
||||
namespace Admin.NET.Application;
|
||||
|
||||
[AppStartup(100)]
|
||||
public class Startup : AppStartup
|
||||
{
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
}
|
||||
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<NoWarn>1701;1702;1591;8632</NoWarn>
|
||||
<DocumentationFile></DocumentationFile>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<PreserveCompilationContext>true</PreserveCompilationContext>
|
||||
<Nullable>disable</Nullable>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="Admin.NET.Core.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="2.0.24" />
|
||||
<PackageReference Include="AngleSharp" Version="1.1.2" />
|
||||
<PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
|
||||
<PackageReference Include="AspNet.Security.OAuth.Gitee" Version="6.0.15" />
|
||||
<PackageReference Include="AspNet.Security.OAuth.Weixin" Version="6.0.15" />
|
||||
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.1.53" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.1.53" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.1.53" />
|
||||
<PackageReference Include="IPTools.China" Version="1.6.0" />
|
||||
<PackageReference Include="Lazy.Captcha.Core" Version="2.0.6" />
|
||||
<PackageReference Include="Magicodes.IE.Excel" Version="2.7.5.1" />
|
||||
<PackageReference Include="Magicodes.IE.Pdf" Version="2.7.5.1" />
|
||||
<PackageReference Include="MailKit" Version="4.4.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.28" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="6.0.28" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="6.0.28" />
|
||||
<PackageReference Include="NEST" Version="7.17.5" />
|
||||
<PackageReference Include="NewLife.Redis" Version="5.6.2024.304" />
|
||||
<PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.1.9" />
|
||||
<PackageReference Include="RabbitMQ.Client" Version="6.8.1" />
|
||||
<PackageReference Include="SixLabors.ImageSharp.Web" Version="3.1.1" />
|
||||
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.0.0" />
|
||||
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.1.0" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.146" />
|
||||
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.3.10" />
|
||||
<PackageReference Include="UAParser" Version="3.1.47" />
|
||||
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="6.0.28" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Service\File\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,20 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 常量特性
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)]
|
||||
public class ConstAttribute : Attribute
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public ConstAttribute(string name)
|
||||
{
|
||||
Name = name;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 自定义规范化结果特性
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)]
|
||||
public class CustomUnifyResultAttribute : Attribute
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public CustomUnifyResultAttribute(string name)
|
||||
{
|
||||
Name = name;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 防止重复请求过滤器特性
|
||||
/// </summary>
|
||||
public class IdempotentAttribute : Attribute, IAsyncActionFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 请求间隔时间/秒
|
||||
/// </summary>
|
||||
public int IntervalTime { get; set; } = 5;
|
||||
|
||||
/// <summary>
|
||||
/// 错误提示内容
|
||||
/// </summary>
|
||||
public string Message { get; set; } = "你操作频率过快,请稍后重试!";
|
||||
|
||||
/// <summary>
|
||||
/// 缓存前缀: Key+请求路由+用户Id+请求参数
|
||||
/// </summary>
|
||||
public string CacheKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否直接抛出异常:Ture是,False返回上次请求结果
|
||||
/// </summary>
|
||||
public bool ThrowBah { get; set; }
|
||||
|
||||
public IdempotentAttribute()
|
||||
{
|
||||
}
|
||||
|
||||
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
|
||||
{
|
||||
var httpContext = context.HttpContext;
|
||||
var path = httpContext.Request.Path.Value.ToString();
|
||||
var userId = httpContext.User?.FindFirstValue(ClaimConst.UserId);
|
||||
var cacheExpireTime = TimeSpan.FromSeconds(IntervalTime);
|
||||
|
||||
var parameters = "";
|
||||
foreach (var parameter in context.ActionDescriptor.Parameters)
|
||||
{
|
||||
parameters += parameter.Name;
|
||||
parameters += context.ActionArguments[parameter.Name].ToJson();
|
||||
}
|
||||
|
||||
var cacheKey = MD5Encryption.Encrypt($"{CacheKey}{path}{userId}{parameters}");
|
||||
var sysCacheService = App.GetService<SysCacheService>();
|
||||
if (sysCacheService.ExistKey(cacheKey))
|
||||
{
|
||||
if (ThrowBah) throw Oops.Oh(Message);
|
||||
|
||||
try
|
||||
{
|
||||
var cachedResult = sysCacheService.Get<ResponseData>(cacheKey);
|
||||
context.Result = new ObjectResult(cachedResult.Value);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw Oops.Oh($"{Message}-{ex}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 先加入一个空缓存,防止第一次请求结果没回来导致连续请求
|
||||
sysCacheService.Set(cacheKey, "", cacheExpireTime);
|
||||
var resultContext = await next();
|
||||
if (resultContext.Result is ObjectResult objectResult)
|
||||
{
|
||||
var valueType = objectResult.Value.GetType();
|
||||
var responseData = new ResponseData
|
||||
{
|
||||
Type = valueType.Name,
|
||||
Value = objectResult.Value
|
||||
};
|
||||
sysCacheService.Set(cacheKey, responseData, cacheExpireTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 请求结果数据
|
||||
/// </summary>
|
||||
private class ResponseData
|
||||
{
|
||||
/// <summary>
|
||||
/// 结果类型
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求结果
|
||||
/// </summary>
|
||||
public dynamic Value { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 增量种子特性
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
|
||||
public class IncreSeedAttribute : Attribute
|
||||
{
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 增量表特性
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
|
||||
public class IncreTableAttribute : Attribute
|
||||
{
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 日志表特性
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
|
||||
public class LogTableAttribute : Attribute
|
||||
{
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 字符串掩码
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
public class MaskNewtonsoftJsonConverter : JsonConverter<string>
|
||||
{
|
||||
public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
|
||||
{
|
||||
return reader.Value.ToString();
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
|
||||
{
|
||||
writer.WriteValue(value?.ToString().Mask());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 身份证掩码
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
public class MaskIdCardNewtonsoftJsonConverter : JsonConverter<string>
|
||||
{
|
||||
public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
|
||||
{
|
||||
return reader.Value.ToString();
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
|
||||
{
|
||||
writer.WriteValue(value?.ToString().MaskIdCard());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 邮箱掩码
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
public class MaskEmailNewtonsoftJsonConverter : JsonConverter<string>
|
||||
{
|
||||
public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
|
||||
{
|
||||
return reader.Value.ToString();
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
|
||||
{
|
||||
writer.WriteValue(value?.ToString().MaskEmail());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 银行卡号掩码
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
public class MaskBankCardNewtonsoftJsonConverter : JsonConverter<string>
|
||||
{
|
||||
public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
|
||||
{
|
||||
return reader.Value.ToString();
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
|
||||
{
|
||||
writer.WriteValue(value?.ToString().MaskBankCard());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 字符串掩码
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
public class MaskSystemTextJsonConverter : JsonConverter<string>
|
||||
{
|
||||
public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
return reader.GetString();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteStringValue(value?.ToString().Mask());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 身份证掩码
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
public class MaskIdCardSystemTextJsonConverter : JsonConverter<string>
|
||||
{
|
||||
public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
return reader.GetString();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteStringValue(value?.ToString().MaskIdCard());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 邮箱掩码
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
public class MaskEmailSystemTextJsonConverter : JsonConverter<string>
|
||||
{
|
||||
public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
return reader.GetString();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteStringValue(value?.ToString().MaskEmail());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 银行卡号掩码
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
public class MaskBankCardSystemTextJsonConverter : JsonConverter<string>
|
||||
{
|
||||
public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
return reader.GetString();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteStringValue(value?.ToString().MaskBankCard());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 最大值校验
|
||||
/// </summary>
|
||||
public class MaxValueAttribute : ValidationAttribute
|
||||
{
|
||||
private double MaxValue { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 最大值
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
public MaxValueAttribute(double value) => this.MaxValue = value;
|
||||
|
||||
/// <summary>
|
||||
/// 最大值校验
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public override bool IsValid(object value)
|
||||
{
|
||||
return value == null || Convert.ToDouble(value) <= this.MaxValue;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 错误信息
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <returns></returns>
|
||||
public override string FormatErrorMessage(string name) => base.FormatErrorMessage(name);
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 最小值校验
|
||||
/// </summary>
|
||||
public class MinValueAttribute : ValidationAttribute
|
||||
{
|
||||
private double MinValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最小值
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
public MinValueAttribute(double value) => this.MinValue = value;
|
||||
|
||||
/// <summary>
|
||||
/// 最小值校验
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public override bool IsValid(object value)
|
||||
{
|
||||
return value == null || Convert.ToDouble(value) > this.MinValue;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 错误信息
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <returns></returns>
|
||||
public override string FormatErrorMessage(string name) => base.FormatErrorMessage(name);
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统表特性
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
|
||||
public class SysTableAttribute : Attribute
|
||||
{
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
public static class CacheSetup
|
||||
{
|
||||
/// <summary>
|
||||
/// 缓存注册(新生命Redis组件)
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
public static void AddCache(this IServiceCollection services)
|
||||
{
|
||||
ICache cache = Cache.Default;
|
||||
|
||||
var cacheOptions = App.GetConfig<CacheOptions>("Cache", true);
|
||||
if (cacheOptions.CacheType == CacheTypeEnum.Redis.ToString())
|
||||
{
|
||||
cache = new FullRedis(new RedisOptions
|
||||
{
|
||||
Configuration = cacheOptions.Redis.Configuration,
|
||||
Prefix = cacheOptions.Redis.Prefix
|
||||
});
|
||||
if (cacheOptions.Redis.MaxMessageSize > 0)
|
||||
((FullRedis)cache).MaxMessageSize = cacheOptions.Redis.MaxMessageSize;
|
||||
}
|
||||
|
||||
services.AddSingleton(cache);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// SqlSugar二级缓存
|
||||
/// </summary>
|
||||
public class SqlSugarCache : ICacheService
|
||||
{
|
||||
/// <summary>
|
||||
/// 系统缓存服务
|
||||
/// </summary>
|
||||
private static readonly SysCacheService _cache = App.GetService<SysCacheService>();
|
||||
|
||||
public void Add<V>(string key, V value)
|
||||
{
|
||||
_cache.Set($"{CacheConst.SqlSugar}{key}", value);
|
||||
}
|
||||
|
||||
public void Add<V>(string key, V value, int cacheDurationInSeconds)
|
||||
{
|
||||
_cache.Set($"{CacheConst.SqlSugar}{key}", value, TimeSpan.FromSeconds(cacheDurationInSeconds));
|
||||
}
|
||||
|
||||
public bool ContainsKey<V>(string key)
|
||||
{
|
||||
return _cache.ExistKey($"{CacheConst.SqlSugar}{key}");
|
||||
}
|
||||
|
||||
public V Get<V>(string key)
|
||||
{
|
||||
return _cache.Get<V>($"{CacheConst.SqlSugar}{key}");
|
||||
}
|
||||
|
||||
public IEnumerable<string> GetAllKey<V>()
|
||||
{
|
||||
return _cache.GetKeysByPrefixKey(CacheConst.SqlSugar);
|
||||
}
|
||||
|
||||
public V GetOrCreate<V>(string key, Func<V> create, int cacheDurationInSeconds = int.MaxValue)
|
||||
{
|
||||
return _cache.GetOrAdd<V>($"{CacheConst.SqlSugar}{key}", (cacheKey) =>
|
||||
{
|
||||
return create();
|
||||
}, cacheDurationInSeconds);
|
||||
}
|
||||
|
||||
public void Remove<V>(string key)
|
||||
{
|
||||
_cache.Remove(key); // SqlSugar调用Remove方法时,key中已包含了CacheConst.SqlSugar前缀
|
||||
}
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 缓存相关常量
|
||||
/// </summary>
|
||||
public class CacheConst
|
||||
{
|
||||
///// <summary>
|
||||
///// 用户缓存
|
||||
///// </summary>
|
||||
//public const string KeyUser = "sys_user:";
|
||||
|
||||
///// <summary>
|
||||
///// 用户菜单缓存
|
||||
///// </summary>
|
||||
//public const string KeyUserMenu = "sys_user_menu:";
|
||||
|
||||
/// <summary>
|
||||
/// 用户权限缓存(按钮集合)
|
||||
/// </summary>
|
||||
public const string KeyUserButton = "sys_user_button:";
|
||||
|
||||
/// <summary>
|
||||
/// 用户机构缓存
|
||||
/// </summary>
|
||||
public const string KeyUserOrg = "sys_user_org:";
|
||||
|
||||
/// <summary>
|
||||
/// 角色最大数据范围缓存
|
||||
/// </summary>
|
||||
public const string KeyRoleMaxDataScope = "sys_role_maxDataScope:";
|
||||
|
||||
/// <summary>
|
||||
/// 在线用户缓存
|
||||
/// </summary>
|
||||
public const string KeyUserOnline = "sys_user_online:";
|
||||
|
||||
/// <summary>
|
||||
/// 图形验证码缓存
|
||||
/// </summary>
|
||||
public const string KeyVerCode = "sys_verCode:";
|
||||
|
||||
/// <summary>
|
||||
/// 手机验证码缓存
|
||||
/// </summary>
|
||||
public const string KeyPhoneVerCode = "sys_phoneVerCode:";
|
||||
|
||||
/// <summary>
|
||||
/// 密码错误次数缓存
|
||||
/// </summary>
|
||||
public const string KeyErrorPasswordCount = "sys_errorPasswordCount:";
|
||||
|
||||
/// <summary>
|
||||
/// 租户缓存
|
||||
/// </summary>
|
||||
public const string KeyTenant = "sys_tenant";
|
||||
|
||||
/// <summary>
|
||||
/// 常量下拉框
|
||||
/// </summary>
|
||||
public const string KeyConst = "sys_const:";
|
||||
|
||||
/// <summary>
|
||||
/// 所有缓存关键字集合
|
||||
/// </summary>
|
||||
public const string KeyAll = "sys_keys";
|
||||
|
||||
/// <summary>
|
||||
/// SqlSugar二级缓存
|
||||
/// </summary>
|
||||
public const string SqlSugar = "sys_sqlSugar:";
|
||||
|
||||
/// <summary>
|
||||
/// 开放接口身份缓存
|
||||
/// </summary>
|
||||
public const string KeyOpenAccess = "sys_open_access:";
|
||||
|
||||
/// <summary>
|
||||
/// 开放接口身份随机数缓存
|
||||
/// </summary>
|
||||
public const string KeyOpenAccessNonce = "sys_open_access_nonce:";
|
||||
|
||||
/// <summary>
|
||||
/// 黑名单
|
||||
/// </summary>
|
||||
public const string KeyBlacklist = "sys_blacklist:";
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Claim相关常量
|
||||
/// </summary>
|
||||
public class ClaimConst
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户Id
|
||||
/// </summary>
|
||||
public const string UserId = "UserId";
|
||||
|
||||
/// <summary>
|
||||
/// 账号
|
||||
/// </summary>
|
||||
public const string Account = "Account";
|
||||
|
||||
/// <summary>
|
||||
/// 真实姓名
|
||||
/// </summary>
|
||||
public const string RealName = "RealName";
|
||||
|
||||
/// <summary>
|
||||
/// 昵称
|
||||
/// </summary>
|
||||
public const string NickName = "NickName";
|
||||
|
||||
/// <summary>
|
||||
/// 账号类型
|
||||
/// </summary>
|
||||
public const string AccountType = "AccountType";
|
||||
|
||||
/// <summary>
|
||||
/// 租户Id
|
||||
/// </summary>
|
||||
public const string TenantId = "TenantId";
|
||||
|
||||
/// <summary>
|
||||
/// 组织机构Id
|
||||
/// </summary>
|
||||
public const string OrgId = "OrgId";
|
||||
|
||||
/// <summary>
|
||||
/// 组织机构名称
|
||||
/// </summary>
|
||||
public const string OrgName = "OrgName";
|
||||
|
||||
/// <summary>
|
||||
/// 组织机构类型
|
||||
/// </summary>
|
||||
public const string OrgType = "OrgType";
|
||||
|
||||
/// <summary>
|
||||
/// 微信OpenId
|
||||
/// </summary>
|
||||
public const string OpenId = "OpenId";
|
||||
|
||||
/// <summary>
|
||||
/// 登录模式PC、APP
|
||||
/// </summary>
|
||||
public const string LoginMode = "LoginMode";
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 通用常量
|
||||
/// </summary>
|
||||
[Const("平台配置")]
|
||||
public class CommonConst
|
||||
{
|
||||
/// <summary>
|
||||
/// 演示环境开关
|
||||
/// </summary>
|
||||
public const string SysDemoEnv = "sys_demo";
|
||||
|
||||
/// <summary>
|
||||
/// 默认密码
|
||||
/// </summary>
|
||||
public const string SysPassword = "sys_password";
|
||||
|
||||
/// <summary>
|
||||
/// 登录二次验证
|
||||
/// </summary>
|
||||
public const string SysSecondVer = "sys_second_ver";
|
||||
|
||||
/// <summary>
|
||||
/// 开启图形验证码
|
||||
/// </summary>
|
||||
public const string SysCaptcha = "sys_captcha";
|
||||
|
||||
/// <summary>
|
||||
/// 开启水印
|
||||
/// </summary>
|
||||
public const string SysWatermark = "sys_watermark";
|
||||
|
||||
/// <summary>
|
||||
/// 开启操作日志
|
||||
/// </summary>
|
||||
public const string SysOpLog = "sys_oplog";
|
||||
|
||||
/// <summary>
|
||||
/// Token过期时间
|
||||
/// </summary>
|
||||
public const string SysTokenExpire = "sys_token_expire";
|
||||
|
||||
/// <summary>
|
||||
/// RefreshToken过期时间
|
||||
/// </summary>
|
||||
public const string SysRefreshTokenExpire = "sys_refresh_token_expire";
|
||||
|
||||
/// <summary>
|
||||
/// 单用户登录
|
||||
/// </summary>
|
||||
public const string SysSingleLogin = "sys_single_login";
|
||||
|
||||
/// <summary>
|
||||
/// 系统管理员角色编码
|
||||
/// </summary>
|
||||
public const string SysAdminRole = "sys_admin";
|
||||
|
||||
/// <summary>
|
||||
/// 开启全局脱敏处理(默认不开启)
|
||||
/// </summary>
|
||||
public static bool SysSensitiveDetection = false;
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// SqlSugar相关常量
|
||||
/// </summary>
|
||||
public class SqlSugarConst
|
||||
{
|
||||
/// <summary>
|
||||
/// 默认主数据库标识(默认租户)
|
||||
/// </summary>
|
||||
public const string MainConfigId = "1300000000001";
|
||||
|
||||
/// <summary>
|
||||
/// 默认日志数据库标识
|
||||
/// </summary>
|
||||
public const string LogConfigId = "1300000000002";
|
||||
|
||||
/// <summary>
|
||||
/// 默认表主键
|
||||
/// </summary>
|
||||
public const string PrimaryKey = "Id";
|
||||
}
|
|
@ -0,0 +1,144 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 框架实体基类Id
|
||||
/// </summary>
|
||||
public abstract class EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 雪花Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "Id", ColumnDescription = "主键Id", IsPrimaryKey = true, IsIdentity = false)]
|
||||
public virtual long Id { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 框架实体基类
|
||||
/// </summary>
|
||||
[SugarIndex("index_{table}_CT", nameof(CreateTime), OrderByType.Asc)]
|
||||
public abstract class EntityBase : EntityBaseId, IDeletedFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "创建时间", IsOnlyIgnoreUpdate = true)]
|
||||
public virtual DateTime? CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "更新时间")]
|
||||
public virtual DateTime? UpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "创建者Id", IsOnlyIgnoreUpdate = true)]
|
||||
public virtual long? CreateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(CreateUserId))]
|
||||
public virtual SysUser CreateUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者姓名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "创建者姓名", Length = 64, IsOnlyIgnoreUpdate = true)]
|
||||
public virtual string? CreateUserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改者Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "修改者Id")]
|
||||
public virtual long? UpdateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改者
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(UpdateUserId))]
|
||||
public virtual SysUser UpdateUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改者姓名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "修改者姓名", Length = 64)]
|
||||
public virtual string? UpdateUserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 软删除
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "软删除")]
|
||||
public virtual bool IsDelete { get; set; } = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 业务数据实体基类(数据权限)
|
||||
/// </summary>
|
||||
public abstract class EntityBaseData : EntityBase, IOrgIdFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建者部门Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "创建者部门Id", IsOnlyIgnoreUpdate = true)]
|
||||
public virtual long? CreateOrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者部门
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(CreateOrgId))]
|
||||
public virtual SysOrg CreateOrg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者部门名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "创建者部门名称", Length = 64, IsOnlyIgnoreUpdate = true)]
|
||||
public virtual string? CreateOrgName { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 租户实体基类
|
||||
/// </summary>
|
||||
public abstract class EntityTenant : EntityBase, ITenantIdFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 租户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "租户Id", IsOnlyIgnoreUpdate = true)]
|
||||
public virtual long? TenantId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 租户实体基类Id
|
||||
/// </summary>
|
||||
public abstract class EntityTenantId : EntityBaseId, ITenantIdFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 租户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "租户Id", IsOnlyIgnoreUpdate = true)]
|
||||
public virtual long? TenantId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 租户实体基类 + 业务数据(数据权限)
|
||||
/// </summary>
|
||||
public abstract class EntityTenantBaseData : EntityBaseData, ITenantIdFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 租户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "租户Id", IsOnlyIgnoreUpdate = true)]
|
||||
public virtual long? TenantId { get; set; }
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 假删除接口过滤器
|
||||
/// </summary>
|
||||
internal interface IDeletedFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 软删除
|
||||
/// </summary>
|
||||
bool IsDelete { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 租户Id接口过滤器
|
||||
/// </summary>
|
||||
internal interface ITenantIdFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 租户Id
|
||||
/// </summary>
|
||||
long? TenantId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 机构Id接口过滤器
|
||||
/// </summary>
|
||||
internal interface IOrgIdFilter
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建者部门Id
|
||||
/// </summary>
|
||||
long? CreateOrgId { get; set; }
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 代码生成表
|
||||
/// </summary>
|
||||
[SugarTable(null, "代码生成表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_B", nameof(BusName), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_T", nameof(TableName), OrderByType.Asc)]
|
||||
public class SysCodeGen : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 作者姓名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "作者姓名", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? AuthorName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否移除表前缀
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否移除表前缀", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? TablePrefix { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 生成方式
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "生成方式", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? GenerateType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 库定位器名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "库定位器名", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? ConfigId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库名(保留字段)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据库库名", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? DbName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据库类型", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? DbType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库链接
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据库链接", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? ConnectionString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库表名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据库表名", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? TableName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 命名空间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "命名空间", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? NameSpace { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 业务名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "业务名", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? BusName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "菜单编码")]
|
||||
public long MenuPid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支持打印类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "支持打印类型", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? PrintType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 打印模版名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "打印模版名称", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? PrintName { get; set; }
|
||||
}
|
|
@ -0,0 +1,191 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 代码生成字段配置表
|
||||
/// </summary>
|
||||
[SugarTable(null, "代码生成字段配置表")]
|
||||
[SysTable]
|
||||
public class SysCodeGenConfig : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 代码生成主表Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "主表Id")]
|
||||
public long CodeGenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库字段名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "字段名称", Length = 128)]
|
||||
[Required, MaxLength(128)]
|
||||
public virtual string ColumnName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 实体属性名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "属性名称", Length = 128)]
|
||||
[Required, MaxLength(128)]
|
||||
public virtual string PropertyName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字段数据长度
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "字段数据长度", DefaultValue = "0")]
|
||||
public int ColumnLength { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字段描述
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "字段描述", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? ColumnComment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// .NET数据类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "NET数据类型", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? NetType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 作用类型(字典)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "作用类型", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? EffectType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键实体名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "外键实体名称", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? FkEntityName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键表名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "外键表名称", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? FkTableName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键显示字段
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "外键显示字段", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? FkColumnName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键显示字段.NET类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "外键显示字段.NET类型", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? FkColumnNetType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字典编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "字典编码", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? DictTypeCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 列表是否缩进(字典)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "列表是否缩进", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? WhetherRetract { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否必填(字典)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否必填", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? WhetherRequired { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否可排序(字典)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否可排序", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? WhetherSortable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否是查询条件
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否是查询条件", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? QueryWhether { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 查询方式
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "查询方式", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? QueryType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 列表显示
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "列表显示", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? WhetherTable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 增改
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "增改", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? WhetherAddUpdate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "主键", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? ColumnKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库中类型(物理类型)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据库中类型", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? DataType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否通用字段
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否通用字段", Length = 8)]
|
||||
[MaxLength(8)]
|
||||
public string? WhetherCommon { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 显示文本字段
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "显示文本字段", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? DisplayColumn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 选中值字段
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "选中值字段", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? ValueColumn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 父级字段
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "父级字段", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? PidColumn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统参数配置表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统参数配置表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
|
||||
public class SysConfig : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "名称", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "编码", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 属性值
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "属性值", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否是内置参数(Y-是,N-否)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否是内置参数")]
|
||||
public YesNoEnum SysFlag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分组编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "分组编码", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? GroupCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Remark { get; set; }
|
||||
}
|
|
@ -0,0 +1,88 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统字典值表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统字典值表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
|
||||
public class SysDictData : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 字典类型Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "字典类型Id")]
|
||||
public long DictTypeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字典类型
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(DictTypeId))]
|
||||
public SysDictType DictType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 值
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "值", Length = 128)]
|
||||
[Required, MaxLength(128)]
|
||||
public virtual string Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "编码", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 显示样式-标签颜色
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "显示样式-标签颜色", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? TagType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 显示样式-Style(控制显示样式)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "显示样式-Style", Length = 512)]
|
||||
[MaxLength(512)]
|
||||
public string? StyleSetting { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 显示样式-Class(控制显示样式)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "显示样式-Class", Length = 512)]
|
||||
[MaxLength(512)]
|
||||
public string? ClassSetting { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 2048)]
|
||||
[MaxLength(2048)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拓展数据(保存业务功能的配置项)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "拓展数据(保存业务功能的配置项)", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? ExtData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统字典类型表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统字典类型表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
|
||||
public class SysDictType : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "名称", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "编码", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
|
||||
/// <summary>
|
||||
/// 字典值集合
|
||||
/// </summary>
|
||||
[Navigate(NavigateType.OneToMany, nameof(SysDictData.DictTypeId))]
|
||||
public List<SysDictData> Children { get; set; }
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统文件表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统文件表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_F", nameof(FileName), OrderByType.Asc)]
|
||||
public class SysFile : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 提供者
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "提供者", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Provider { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 仓储名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "仓储名称", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? BucketName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件名称(源文件名)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "文件名称", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件后缀
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "文件后缀", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? Suffix { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 存储路径
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "存储路径", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? FilePath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件大小KB
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "文件大小KB", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? SizeKb { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件大小信息-计算后的
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "文件大小信息", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? SizeInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外链地址-OSS上传后生成外链地址方便前端预览
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "外链地址", Length = 512)]
|
||||
[MaxLength(512)]
|
||||
public string? Url { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件MD5
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "文件MD5", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? FileMd5 { get; set; }
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统作业集群表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统作业集群表")]
|
||||
[SysTable]
|
||||
public class SysJobCluster : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 作业集群Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "作业集群Id", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string ClusterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 描述信息
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "描述信息", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public ClusterStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "更新时间")]
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
}
|
|
@ -0,0 +1,85 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统作业信息表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统作业信息表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_J", nameof(JobId), OrderByType.Asc)]
|
||||
public class SysJobDetail : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 作业Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "作业Id", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string JobId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "组名称", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? GroupName { get; set; } = "default";
|
||||
|
||||
/// <summary>
|
||||
/// 作业类型FullName
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "作业类型", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? JobType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 程序集Name
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "程序集", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? AssemblyName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 描述信息
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "描述信息", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否并行执行
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否并行执行")]
|
||||
public bool Concurrent { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 是否扫描特性触发器
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否扫描特性触发器", ColumnName = "annotation")]
|
||||
public bool IncludeAnnotation { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 额外数据
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "额外数据", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? Properties { get; set; } = "{}";
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "更新时间")]
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 作业创建类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "作业创建类型")]
|
||||
public JobCreateTypeEnum CreateType { get; set; } = JobCreateTypeEnum.BuiltIn;
|
||||
|
||||
/// <summary>
|
||||
/// 脚本代码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "脚本代码", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? ScriptCode { get; set; }
|
||||
}
|
|
@ -0,0 +1,145 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统作业触发器表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统作业触发器表")]
|
||||
[SysTable]
|
||||
public class SysJobTrigger : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 触发器Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "触发器Id", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string TriggerId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 作业Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "作业Id", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string JobId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 触发器类型FullName
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "触发器类型", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? TriggerType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 程序集Name
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "程序集", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? AssemblyName { get; set; } = "Furion.Pure";
|
||||
|
||||
/// <summary>
|
||||
/// 参数
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "参数", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Args { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 描述信息
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "描述信息", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public TriggerStatus Status { get; set; } = TriggerStatus.Ready;
|
||||
|
||||
/// <summary>
|
||||
/// 起始时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "起始时间")]
|
||||
public DateTime? StartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结束时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "结束时间")]
|
||||
public DateTime? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最近运行时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "最近运行时间")]
|
||||
public DateTime? LastRunTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 下一次运行时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "下一次运行时间")]
|
||||
public DateTime? NextRunTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 触发次数
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "触发次数")]
|
||||
public long NumberOfRuns { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最大触发次数(0:不限制,n:N次)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "最大触发次数")]
|
||||
public long MaxNumberOfRuns { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 出错次数
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "出错次数")]
|
||||
public long NumberOfErrors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最大出错次数(0:不限制,n:N次)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "最大出错次数")]
|
||||
public long MaxNumberOfErrors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 重试次数
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "重试次数")]
|
||||
public int NumRetries { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 重试间隔时间(ms)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "重试间隔时间(ms)")]
|
||||
public int RetryTimeout { get; set; } = 1000;
|
||||
|
||||
/// <summary>
|
||||
/// 是否立即启动
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否立即启动")]
|
||||
public bool StartNow { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 是否启动时执行一次
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否启动时执行一次")]
|
||||
public bool RunOnStart { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 是否在启动时重置最大触发次数等于一次的作业
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否重置触发次数")]
|
||||
public bool ResetOnlyOnce { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "更新时间")]
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统作业触发器运行记录表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统作业触发器运行记录表")]
|
||||
[SysTable]
|
||||
public class SysJobTriggerRecord : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 作业Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "作业Id", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string JobId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 触发器Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "触发器Id", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string TriggerId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前运行次数
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "当前运行次数")]
|
||||
public long NumberOfRuns { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最近运行时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "最近运行时间")]
|
||||
public DateTime? LastRunTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 下一次运行时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "下一次运行时间")]
|
||||
public DateTime? NextRunTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 触发器状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "触发器状态")]
|
||||
public TriggerStatus Status { get; set; } = TriggerStatus.Ready;
|
||||
|
||||
/// <summary>
|
||||
/// 本次执行结果
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "本次执行结果", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Result { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 本次执行耗时
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "本次执行耗时")]
|
||||
public long ElapsedTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "创建时间")]
|
||||
public DateTime? CreatedTime { get; set; }
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统差异日志表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统差异日志表")]
|
||||
[SysTable]
|
||||
[LogTable]
|
||||
public class SysLogDiff : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 操作前记录
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "操作前记录", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? BeforeData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作后记录
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "操作后记录", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? AfterData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Sql
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "Sql", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? Sql { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 参数 手动传入的参数
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "参数", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? Parameters { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 业务对象
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "业务对象", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? BusinessData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 差异操作
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "差异操作", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? DiffType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 耗时
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "耗时")]
|
||||
public long? Elapsed { get; set; }
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统异常日志表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统异常日志表")]
|
||||
[SysTable]
|
||||
[LogTable]
|
||||
public class SysLogEx : SysLogVis
|
||||
{
|
||||
/// <summary>
|
||||
/// 请求方式
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "请求方式", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? HttpMethod { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求地址
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "请求地址", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? RequestUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求参数
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "请求参数", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? RequestParam { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 返回结果
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "返回结果", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? ReturnResult { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 事件Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "事件Id")]
|
||||
public int? EventId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 线程Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "线程Id")]
|
||||
public int? ThreadId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求跟踪Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "请求跟踪Id", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? TraceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 异常信息
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "异常信息", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? Exception { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 日志消息Json
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "日志消息Json", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? Message { get; set; }
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统操作日志表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统操作日志表")]
|
||||
[SysTable]
|
||||
[LogTable]
|
||||
public class SysLogOp : SysLogVis
|
||||
{
|
||||
/// <summary>
|
||||
/// 请求方式
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "请求方式", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? HttpMethod { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求地址
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "请求地址", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? RequestUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求参数
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "请求参数", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? RequestParam { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 返回结果
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "返回结果", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? ReturnResult { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 事件Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "事件Id")]
|
||||
public int? EventId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 线程Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "线程Id")]
|
||||
public int? ThreadId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求跟踪Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "请求跟踪Id", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? TraceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 异常信息
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "异常信息", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? Exception { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 日志消息Json
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "日志消息Json", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? Message { get; set; }
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统访问日志表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统访问日志表")]
|
||||
[SysTable]
|
||||
[LogTable]
|
||||
public class SysLogVis : EntityTenant
|
||||
{
|
||||
/// <summary>
|
||||
/// 模块名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "模块名称", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? ControllerName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 方法名称
|
||||
///</summary>
|
||||
[SugarColumn(ColumnDescription = "方法名称", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? ActionName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 显示名称
|
||||
///</summary>
|
||||
[SugarColumn(ColumnDescription = "显示名称", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? DisplayTitle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 执行状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "执行状态", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// IP地址
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "IP地址", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? RemoteIp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 登录地点
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "登录地点", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Location { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 经度
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "经度")]
|
||||
public double? Longitude { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 维度
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "维度")]
|
||||
public double? Latitude { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 浏览器
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "浏览器", Length = 1024)]
|
||||
[MaxLength(1024)]
|
||||
public string? Browser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作系统
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "操作系统", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Os { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作用时
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "操作用时")]
|
||||
public long? Elapsed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 日志时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "日志时间")]
|
||||
public DateTime? LogDateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 日志级别
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "日志级别")]
|
||||
public LogLevel? LogLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 账号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "账号", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? Account { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 真实姓名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "真实姓名", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? RealName { get; set; }
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统菜单表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统菜单表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_T", nameof(Title), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_T2", nameof(Type), OrderByType.Asc)]
|
||||
public class SysMenu : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 父Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "父Id")]
|
||||
public long Pid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单类型(1目录 2菜单 3按钮)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "菜单类型")]
|
||||
public MenuTypeEnum Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 路由名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "路由名称", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 路由地址
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "路由地址", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组件路径
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "组件路径", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Component { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 重定向
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "重定向", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Redirect { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 权限标识
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "权限标识", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Permission { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "菜单名称", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Title { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 图标
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "图标", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Icon { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否内嵌
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否内嵌")]
|
||||
public bool IsIframe { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外链链接
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "外链链接", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? OutLink { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否隐藏
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否隐藏")]
|
||||
public bool IsHide { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否缓存
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否缓存")]
|
||||
public bool IsKeepAlive { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 是否固定
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "是否固定")]
|
||||
public bool IsAffix { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单子项
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public List<SysMenu> Children { get; set; } = new List<SysMenu>();
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统通知公告表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统通知公告表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_T", nameof(Type), OrderByType.Asc)]
|
||||
public class SysNotice : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 标题
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "标题", Length = 32)]
|
||||
[Required, MaxLength(32)]
|
||||
[SensitiveDetection('*')]
|
||||
public virtual string Title { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 内容
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "内容", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
[Required]
|
||||
[SensitiveDetection('*')]
|
||||
public virtual string Content { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 类型(1通知 2公告)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "类型(1通知 2公告)")]
|
||||
public NoticeTypeEnum Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发布人Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "发布人Id")]
|
||||
public long PublicUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发布人姓名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "发布人姓名", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? PublicUserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发布机构Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "发布机构Id")]
|
||||
public long PublicOrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发布机构名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "发布机构名称", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? PublicOrgName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发布时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "发布时间")]
|
||||
public DateTime? PublicTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 撤回时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "撤回时间")]
|
||||
public DateTime? CancelTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态(0草稿 1发布 2撤回 3删除)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态(0草稿 1发布 2撤回 3删除)")]
|
||||
public NoticeStatusEnum Status { get; set; }
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统通知公告用户表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统通知公告用户表")]
|
||||
[SysTable]
|
||||
public class SysNoticeUser : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 通知公告Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "通知公告Id")]
|
||||
public long NoticeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 通知公告
|
||||
/// </summary>
|
||||
[Navigate(NavigateType.OneToOne, nameof(NoticeId))]
|
||||
public SysNotice SysNotice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "用户Id")]
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 阅读时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "阅读时间")]
|
||||
public DateTime? ReadTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态(0未读 1已读)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态(0未读 1已读)")]
|
||||
public NoticeUserStatusEnum ReadStatus { get; set; } = NoticeUserStatusEnum.UNREAD;
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统在线用户表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统在线用户表")]
|
||||
[SysTable]
|
||||
public class SysOnlineUser : EntityTenantId
|
||||
{
|
||||
/// <summary>
|
||||
/// 连接Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "连接Id")]
|
||||
public string? ConnectionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "用户Id")]
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 账号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "账号", Length = 32)]
|
||||
[Required, MaxLength(32)]
|
||||
public virtual string UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 真实姓名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "真实姓名", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? RealName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 连接时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "连接时间")]
|
||||
public DateTime? Time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 连接IP
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "连接IP", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Ip { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 浏览器
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "浏览器", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Browser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作系统
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "操作系统", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Os { get; set; }
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 开放接口身份表
|
||||
/// </summary>
|
||||
[SugarTable(null, "开放接口身份表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_A", nameof(AccessKey), OrderByType.Asc)]
|
||||
public class SysOpenAccess : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 身份标识
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "身份标识", Length = 128)]
|
||||
[Required, MaxLength(128)]
|
||||
public virtual string AccessKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密钥
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "密钥", Length = 256)]
|
||||
[Required, MaxLength(256)]
|
||||
public virtual string AccessSecret { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 绑定租户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "绑定租户Id")]
|
||||
public long BindTenantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 绑定租户
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(BindTenantId))]
|
||||
public SysTenant BindTenant { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 绑定用户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "绑定用户Id")]
|
||||
public virtual long BindUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 绑定用户
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(BindUserId))]
|
||||
public SysUser BindUser { get; set; }
|
||||
}
|
|
@ -0,0 +1,94 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统机构表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统机构表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_T", nameof(Type), OrderByType.Asc)]
|
||||
public class SysOrg : EntityTenant
|
||||
{
|
||||
/// <summary>
|
||||
/// 父Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "父Id")]
|
||||
public long Pid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "名称", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "编码", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 级别
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "级别")]
|
||||
public int? Level { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机构类型-数据字典
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "机构类型", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 负责人Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "负责人Id", IsNullable = true)]
|
||||
public long? DirectorId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 负责人
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(DirectorId))]
|
||||
public SysUser Director { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机构子项
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public List<SysOrg> Children { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否禁止选中
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public bool Disabled { get; set; }
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统动态插件表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统动态插件表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
|
||||
public class SysPlugin : EntityTenant
|
||||
{
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "名称", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// C#代码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "C#代码", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
[Required]
|
||||
public virtual string CsharpCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 程序集名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "程序集名称", Length = 512)]
|
||||
[MaxLength(512)]
|
||||
public string? AssemblyName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Remark { get; set; }
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统职位表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统职位表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
|
||||
public class SysPos : EntityTenant
|
||||
{
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "名称", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "编码", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统打印模板表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统打印模板表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
|
||||
public class SysPrint : EntityTenant
|
||||
{
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "名称", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 打印模板
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "打印模板", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
[Required]
|
||||
public virtual string Template { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Remark { get; set; }
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统行政地区表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统行政地区表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
|
||||
public class SysRegion : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 父Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "父Id")]
|
||||
public long Pid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "名称", Length = 128)]
|
||||
[Required, MaxLength(128)]
|
||||
public virtual string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 简称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "简称", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? ShortName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组合名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "组合名", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? MergerName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 行政代码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "行政代码", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 邮政编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "邮政编码", Length = 6)]
|
||||
[MaxLength(6)]
|
||||
public string? ZipCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 区号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "区号", Length = 6)]
|
||||
[MaxLength(6)]
|
||||
public string? CityCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 层级
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "层级")]
|
||||
public int Level { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拼音
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "拼音", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? PinYin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 经度
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "经度")]
|
||||
public float Lng { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 维度
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "维度")]
|
||||
public float Lat { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机构子项
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public List<SysRegion> Children { get; set; }
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统角色表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统角色表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
|
||||
public class SysRole : EntityTenant
|
||||
{
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "名称", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "编码", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 数据范围(1全部数据 2本部门及以下数据 3本部门数据 4仅本人数据 5自定义数据)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据范围")]
|
||||
public DataScopeEnum DataScope { get; set; } = DataScopeEnum.Self;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统角色菜单表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统角色菜单表")]
|
||||
[SysTable]
|
||||
public class SysRoleMenu : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 角色Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "角色Id")]
|
||||
public long RoleId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "菜单Id")]
|
||||
public long MenuId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(MenuId))]
|
||||
public SysMenu SysMenu { get; set; }
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统角色机构表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统角色机构表")]
|
||||
[SysTable]
|
||||
public class SysRoleOrg : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 角色Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "角色Id")]
|
||||
public long RoleId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机构Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "机构Id")]
|
||||
public long OrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机构
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(OrgId))]
|
||||
public SysOrg SysOrg { get; set; }
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统租户表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统租户表")]
|
||||
[SysTable]
|
||||
public class SysTenant : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "用户Id")]
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机构Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "机构Id")]
|
||||
public long OrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 主机
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "主机", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Host { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 租户类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "租户类型")]
|
||||
public TenantTypeEnum TenantType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据库类型")]
|
||||
public SqlSugar.DbType DbType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库连接
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据库连接", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Connection { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库标识
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数据库标识", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? ConfigId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 从库连接/读写分离
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "从库连接/读写分离", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? SlaveConnections { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
}
|
|
@ -0,0 +1,313 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统用户表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统用户表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_A", nameof(Account), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_P", nameof(Phone), OrderByType.Asc)]
|
||||
public class SysUser : EntityTenant
|
||||
{
|
||||
/// <summary>
|
||||
/// 账号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "账号", Length = 32)]
|
||||
[Required, MaxLength(32)]
|
||||
public virtual string Account { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "密码", Length = 512)]
|
||||
[MaxLength(512)]
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public virtual string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 真实姓名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "真实姓名", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public virtual string RealName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 昵称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "昵称", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? NickName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 头像
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "头像", Length = 512)]
|
||||
[MaxLength(512)]
|
||||
public string? Avatar { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 性别-男_1、女_2
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "性别")]
|
||||
public GenderEnum Sex { get; set; } = GenderEnum.Male;
|
||||
|
||||
/// <summary>
|
||||
/// 年龄
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "年龄")]
|
||||
public int Age { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 出生日期
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "出生日期")]
|
||||
public DateTime? Birthday { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 民族
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "民族", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? Nation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 手机号码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "手机号码", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? Phone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 证件类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "证件类型")]
|
||||
public CardTypeEnum CardType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 身份证号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "身份证号", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? IdCardNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 邮箱
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "邮箱", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Email { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 地址
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "地址", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Address { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文化程度
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "文化程度")]
|
||||
public CultureLevelEnum CultureLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 政治面貌
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "政治面貌", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? PoliticalOutlook { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 毕业院校
|
||||
/// </summary>COLLEGE
|
||||
[SugarColumn(ColumnDescription = "毕业院校", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? College { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 办公电话
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "办公电话", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? OfficePhone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 紧急联系人
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "紧急联系人", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? EmergencyContact { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 紧急联系人电话
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "紧急联系人电话", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? EmergencyPhone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 紧急联系人地址
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "紧急联系人地址", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? EmergencyAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 个人简介
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "个人简介", Length = 512)]
|
||||
[MaxLength(512)]
|
||||
public string? Introduction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
public int OrderNo { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "状态")]
|
||||
public StatusEnum Status { get; set; } = StatusEnum.Enable;
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 账号类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "账号类型")]
|
||||
public AccountTypeEnum AccountType { get; set; } = AccountTypeEnum.NormalUser;
|
||||
|
||||
/// <summary>
|
||||
/// 直属机构Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "直属机构Id")]
|
||||
public long OrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 直属机构
|
||||
/// </summary>
|
||||
[Navigate(NavigateType.OneToOne, nameof(OrgId))]
|
||||
public SysOrg SysOrg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 直属主管Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "直属主管Id")]
|
||||
public long? ManagerUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 直属主管
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(ManagerUserId))]
|
||||
public SysUser ManagerUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 职位Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "职位Id")]
|
||||
public long PosId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 职位
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(PosId))]
|
||||
public SysPos SysPos { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 工号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "工号", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? JobNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 职级
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "职级", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? PosLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 职称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "职称", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? PosTitle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 擅长领域
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "擅长领域", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? Expertise { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 办公区域
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "办公区域", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? OfficeZone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 办公室
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "办公室", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? Office { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入职日期
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "入职日期")]
|
||||
public DateTime? JoinDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新登录Ip
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "最新登录Ip", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? LastLoginIp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新登录地点
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "最新登录地点", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? LastLoginAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新登录时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "最新登录时间")]
|
||||
public DateTime? LastLoginTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新登录设备
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "最新登录设备", Length = 128)]
|
||||
[MaxLength(128)]
|
||||
public string? LastLoginDevice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 电子签名
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "电子签名", Length = 512)]
|
||||
[MaxLength(512)]
|
||||
public string? Signature { get; set; }
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统用户扩展机构表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统用户扩展机构表")]
|
||||
[SysTable]
|
||||
public class SysUserExtOrg : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "用户Id")]
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(UserId))]
|
||||
public SysUser SysUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机构Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "机构Id")]
|
||||
public long OrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机构
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(OrgId))]
|
||||
public SysOrg SysOrg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 职位Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "职位Id")]
|
||||
public long PosId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 职位
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(PosId))]
|
||||
public SysPos SysPos { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 工号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "工号", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? JobNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 职级
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "职级", Length = 32)]
|
||||
[MaxLength(32)]
|
||||
public string? PosLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入职日期
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "入职日期")]
|
||||
public DateTime? JoinDate { get; set; }
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统用户角色表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统用户角色表")]
|
||||
[SysTable]
|
||||
public class SysUserRole : EntityBaseId
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "用户Id")]
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(UserId))]
|
||||
public SysUser SysUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 角色Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "角色Id")]
|
||||
public long RoleId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 角色
|
||||
/// </summary>
|
||||
[Navigate(NavigateType.OneToOne, nameof(RoleId))]
|
||||
public SysRole SysRole { get; set; }
|
||||
}
|
|
@ -0,0 +1,163 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统微信支付表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统微信支付表")]
|
||||
[SysTable]
|
||||
public class SysWechatPay : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 微信商户号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "微信商户号")]
|
||||
[Required]
|
||||
public virtual string MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 服务商AppId
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "服务商AppId")]
|
||||
[Required]
|
||||
public virtual string AppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商户订单号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "商户订单号")]
|
||||
[Required]
|
||||
public virtual string OutTradeNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付订单号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "支付订单号")]
|
||||
[Required]
|
||||
public virtual string TransactionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 交易类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "交易类型")]
|
||||
public string? TradeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 交易状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "交易状态")]
|
||||
public string? TradeState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 交易状态描述
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "交易状态描述")]
|
||||
public string? TradeStateDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 付款银行类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "付款银行类型")]
|
||||
public string? BankType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单总金额
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "订单总金额")]
|
||||
public int Total { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户支付金额
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "用户支付金额")]
|
||||
public int? PayerTotal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付完成时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "支付完成时间")]
|
||||
public DateTimeOffset? SuccessTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 交易结束时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "交易结束时间")]
|
||||
public DateTimeOffset? ExpireTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商品描述
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "商品描述")]
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 场景信息
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "场景信息")]
|
||||
public string? Scene { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 附加数据
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "附加数据")]
|
||||
public string? Attachment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 优惠标记
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "优惠标记")]
|
||||
public string? GoodsTag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算信息
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "结算信息")]
|
||||
public string? Settlement { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 回调通知地址
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "回调通知地址")]
|
||||
public string? NotifyUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "备注")]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 微信OpenId标识
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "微信OpenId标识")]
|
||||
public string? OpenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联微信用户
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(OpenId))]
|
||||
public SysWechatUser SysWechatUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子商户号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "子商户号")]
|
||||
public string? SubMerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子商户AppId
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "回调通知地址")]
|
||||
public string? SubAppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子商户唯一标识
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "子商户唯一标识")]
|
||||
public string? SubOpenId { get; set; }
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统微信用户表
|
||||
/// </summary>
|
||||
[SugarTable(null, "系统微信用户表")]
|
||||
[SysTable]
|
||||
[SugarIndex("index_{table}_N", nameof(NickName), OrderByType.Asc)]
|
||||
[SugarIndex("index_{table}_M", nameof(Mobile), OrderByType.Asc)]
|
||||
public class SysWechatUser : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 系统用户Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "系统用户Id")]
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统用户
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
[Navigate(NavigateType.OneToOne, nameof(UserId))]
|
||||
public SysUser SysUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 平台类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "平台类型")]
|
||||
public PlatformTypeEnum PlatformType { get; set; } = PlatformTypeEnum.微信公众号;
|
||||
|
||||
/// <summary>
|
||||
/// OpenId
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "OpenId", Length = 64)]
|
||||
[Required, MaxLength(64)]
|
||||
public virtual string OpenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 会话密钥
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "会话密钥", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? SessionKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// UnionId
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "UnionId", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? UnionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 昵称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "昵称", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? NickName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 头像
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "头像", Length = 256)]
|
||||
[MaxLength(256)]
|
||||
public string? Avatar { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 手机号码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "手机号码", Length = 16)]
|
||||
[MaxLength(16)]
|
||||
public string? Mobile { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 性别
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "性别")]
|
||||
public int? Sex { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 语言
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "语言", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Language { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 城市
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "城市", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? City { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 省
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "省", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Province { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 国家
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "国家", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Country { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// AccessToken
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "AccessToken", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? AccessToken { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// RefreshToken
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "RefreshToken", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? RefreshToken { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 过期时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "ExpiresIn")]
|
||||
public int? ExpiresIn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户授权的作用域,使用逗号分隔
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "授权作用域", Length = 64)]
|
||||
[MaxLength(64)]
|
||||
public string? Scope { get; set; }
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 账号类型枚举
|
||||
/// </summary>
|
||||
[Description("账号类型枚举")]
|
||||
public enum AccountTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 超级管理员
|
||||
/// </summary>
|
||||
[Description("超级管理员")]
|
||||
SuperAdmin = 999,
|
||||
|
||||
/// <summary>
|
||||
/// 系统管理员
|
||||
/// </summary>
|
||||
[Description("系统管理员")]
|
||||
SysAdmin = 888,
|
||||
|
||||
/// <summary>
|
||||
/// 普通账号
|
||||
/// </summary>
|
||||
[Description("普通账号")]
|
||||
NormalUser = 777,
|
||||
|
||||
/// <summary>
|
||||
/// 会员
|
||||
/// </summary>
|
||||
[Description("会员")]
|
||||
Member = 666,
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 缓存类型枚举
|
||||
/// </summary>
|
||||
[Description("缓存类型枚举")]
|
||||
public enum CacheTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 内存缓存
|
||||
/// </summary>
|
||||
[Description("内存缓存")]
|
||||
Memory,
|
||||
|
||||
/// <summary>
|
||||
/// Redis缓存
|
||||
/// </summary>
|
||||
[Description("Redis缓存")]
|
||||
Redis
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 证件类型枚举
|
||||
/// </summary>
|
||||
[Description("证件类型枚举")]
|
||||
public enum CardTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 身份证
|
||||
/// </summary>
|
||||
[Description("身份证")]
|
||||
IdCard = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 护照
|
||||
/// </summary>
|
||||
[Description("护照")]
|
||||
PassportCard = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 出生证
|
||||
/// </summary>
|
||||
[Description("出生证")]
|
||||
BirthCard = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 港澳台通行证
|
||||
/// </summary>
|
||||
[Description("港澳台通行证")]
|
||||
GatCard = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 外国人居留证
|
||||
/// </summary>
|
||||
[Description("外国人居留证")]
|
||||
ForeignCard = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 营业执照
|
||||
/// </summary>
|
||||
[Description("营业执照")]
|
||||
License = 5,
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 密码加密枚举
|
||||
/// </summary>
|
||||
[Description("密码加密枚举")]
|
||||
public enum CryptogramEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// MD5
|
||||
/// </summary>
|
||||
[Description("MD5")]
|
||||
MD5 = 0,
|
||||
|
||||
/// <summary>
|
||||
/// SM2(国密)
|
||||
/// </summary>
|
||||
[Description("SM2")]
|
||||
SM2 = 1,
|
||||
|
||||
/// <summary>
|
||||
/// SM4(国密)
|
||||
/// </summary>
|
||||
[Description("SM4")]
|
||||
SM4 = 2
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 文化程度枚举
|
||||
/// </summary>
|
||||
[Description("文化程度枚举")]
|
||||
public enum CultureLevelEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 其他
|
||||
/// </summary>
|
||||
[Description("其他")]
|
||||
Level0 = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 小学
|
||||
/// </summary>
|
||||
[Description("小学")]
|
||||
Level1 = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 初中
|
||||
/// </summary>
|
||||
[Description("初中")]
|
||||
Level2 = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 普通高中
|
||||
/// </summary>
|
||||
[Description("普通高中")]
|
||||
Level3 = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 技工学校
|
||||
/// </summary>
|
||||
[Description("技工学校")]
|
||||
Level4 = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 职业教育
|
||||
/// </summary>
|
||||
[Description("职业教育")]
|
||||
Level5 = 5,
|
||||
|
||||
/// <summary>
|
||||
/// 职业高中
|
||||
/// </summary>
|
||||
[Description("职业高中")]
|
||||
Level6 = 6,
|
||||
|
||||
/// <summary>
|
||||
/// 中等专科
|
||||
/// </summary>
|
||||
[Description("中等专科")]
|
||||
Level7 = 7,
|
||||
|
||||
/// <summary>
|
||||
/// 大学专科
|
||||
/// </summary>
|
||||
[Description("大学专科")]
|
||||
Level8 = 8,
|
||||
|
||||
/// <summary>
|
||||
/// 大学本科
|
||||
/// </summary>
|
||||
[Description("大学本科")]
|
||||
Level9 = 9,
|
||||
|
||||
/// <summary>
|
||||
/// 硕士研究生
|
||||
/// </summary>
|
||||
[Description("硕士研究生")]
|
||||
Level10 = 10,
|
||||
|
||||
/// <summary>
|
||||
/// 博士研究生
|
||||
/// </summary>
|
||||
[Description("博士研究生")]
|
||||
Level11 = 11,
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 数据操作类型枚举
|
||||
/// </summary>
|
||||
[Description("数据操作类型枚举")]
|
||||
public enum DataOpTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 其它
|
||||
/// </summary>
|
||||
[Description("其它")]
|
||||
Other,
|
||||
|
||||
/// <summary>
|
||||
/// 增加
|
||||
/// </summary>
|
||||
[Description("增加")]
|
||||
Add,
|
||||
|
||||
/// <summary>
|
||||
/// 删除
|
||||
/// </summary>
|
||||
[Description("删除")]
|
||||
Delete,
|
||||
|
||||
/// <summary>
|
||||
/// 编辑
|
||||
/// </summary>
|
||||
[Description("编辑")]
|
||||
Edit,
|
||||
|
||||
/// <summary>
|
||||
/// 更新
|
||||
/// </summary>
|
||||
[Description("更新")]
|
||||
Update,
|
||||
|
||||
/// <summary>
|
||||
/// 查询
|
||||
/// </summary>
|
||||
[Description("查询")]
|
||||
Query,
|
||||
|
||||
/// <summary>
|
||||
/// 详情
|
||||
/// </summary>
|
||||
[Description("详情")]
|
||||
Detail,
|
||||
|
||||
/// <summary>
|
||||
/// 树
|
||||
/// </summary>
|
||||
[Description("树")]
|
||||
Tree,
|
||||
|
||||
/// <summary>
|
||||
/// 导入
|
||||
/// </summary>
|
||||
[Description("导入")]
|
||||
Import,
|
||||
|
||||
/// <summary>
|
||||
/// 导出
|
||||
/// </summary>
|
||||
[Description("导出")]
|
||||
Export,
|
||||
|
||||
/// <summary>
|
||||
/// 授权
|
||||
/// </summary>
|
||||
[Description("授权")]
|
||||
Grant,
|
||||
|
||||
/// <summary>
|
||||
/// 强退
|
||||
/// </summary>
|
||||
[Description("强退")]
|
||||
Force,
|
||||
|
||||
/// <summary>
|
||||
/// 清空
|
||||
/// </summary>
|
||||
[Description("清空")]
|
||||
Clean
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 角色数据范围枚举
|
||||
/// </summary>
|
||||
[Description("角色数据范围枚举")]
|
||||
public enum DataScopeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 全部数据
|
||||
/// </summary>
|
||||
[Description("全部数据")]
|
||||
All = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 本部门及以下数据
|
||||
/// </summary>
|
||||
[Description("本部门及以下数据")]
|
||||
DeptChild = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 本部门数据
|
||||
/// </summary>
|
||||
[Description("本部门数据")]
|
||||
Dept = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 仅本人数据
|
||||
/// </summary>
|
||||
[Description("仅本人数据")]
|
||||
Self = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 自定义数据
|
||||
/// </summary>
|
||||
[Description("自定义数据")]
|
||||
Define = 5
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// ES认证类型枚举
|
||||
/// <para>https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/_options_on_elasticsearchclientsettings.html</para>
|
||||
/// </summary>
|
||||
[Description("ES认证类型枚举")]
|
||||
public enum ElasticSearchAuthTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// BasicAuthentication
|
||||
/// </summary>
|
||||
[Description("BasicAuthentication")]
|
||||
Basic = 1,
|
||||
|
||||
/// <summary>
|
||||
/// ApiKey
|
||||
/// </summary>
|
||||
[Description("ApiKey")]
|
||||
ApiKey = 2,
|
||||
|
||||
/// <summary>
|
||||
/// Base64ApiKey
|
||||
/// </summary>
|
||||
[Description("Base64ApiKey")]
|
||||
Base64ApiKey = 3
|
||||
}
|
|
@ -0,0 +1,691 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统错误码
|
||||
/// </summary>
|
||||
[ErrorCodeType]
|
||||
[Description("系统错误码")]
|
||||
public enum ErrorCodeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 验证码错误
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("验证码错误")]
|
||||
D0008,
|
||||
|
||||
/// <summary>
|
||||
/// 账号不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("账号不存在")]
|
||||
D0009,
|
||||
|
||||
/// <summary>
|
||||
/// 密码不正确
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("密码不正确")]
|
||||
D1000,
|
||||
|
||||
/// <summary>
|
||||
/// 非法操作!禁止删除自己
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("非法操作,禁止删除自己")]
|
||||
D1001,
|
||||
|
||||
/// <summary>
|
||||
/// 记录不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("记录不存在")]
|
||||
D1002,
|
||||
|
||||
/// <summary>
|
||||
/// 账号已存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("账号已存在")]
|
||||
D1003,
|
||||
|
||||
/// <summary>
|
||||
/// 旧密码不匹配
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("旧密码输入错误")]
|
||||
D1004,
|
||||
|
||||
/// <summary>
|
||||
/// 测试数据禁止更改admin密码
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("测试数据禁止更改用户【admin】密码")]
|
||||
D1005,
|
||||
|
||||
/// <summary>
|
||||
/// 数据已存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("数据已存在")]
|
||||
D1006,
|
||||
|
||||
/// <summary>
|
||||
/// 数据不存在或含有关联引用,禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("数据不存在或含有关联引用,禁止删除")]
|
||||
D1007,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止为管理员分配角色
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止为管理员分配角色")]
|
||||
D1008,
|
||||
|
||||
/// <summary>
|
||||
/// 重复数据或记录含有不存在数据
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("重复数据或记录含有不存在数据")]
|
||||
D1009,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止为超级管理员角色分配权限
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止为超级管理员角色分配权限")]
|
||||
D1010,
|
||||
|
||||
/// <summary>
|
||||
/// 非法操作,未登录
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("非法操作,未登录")]
|
||||
D1011,
|
||||
|
||||
/// <summary>
|
||||
/// Id不能为空
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("Id不能为空")]
|
||||
D1012,
|
||||
|
||||
/// <summary>
|
||||
/// 所属机构不在自己的数据范围内
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("没有权限操作该数据")]
|
||||
D1013,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止删除超级管理员
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止删除超级管理员")]
|
||||
D1014,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止修改超级管理员状态
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止修改超级管理员状态")]
|
||||
D1015,
|
||||
|
||||
/// <summary>
|
||||
/// 没有权限
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("没有权限")]
|
||||
D1016,
|
||||
|
||||
/// <summary>
|
||||
/// 账号已冻结
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("账号已冻结")]
|
||||
D1017,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止删除管理员
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止删除管理员")]
|
||||
D1018,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止删除系统管理员角色
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止删除系统管理员角色")]
|
||||
D1019,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止修改系统管理员角色
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止修改系统管理员角色")]
|
||||
D1020,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止为系统管理员角色分配权限
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止为系统管理员角色分配权限")]
|
||||
D1021,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止为超级管理员分配角色
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止为超级管理员分配角色")]
|
||||
D1022,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止删除默认租户
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止删除默认租户")]
|
||||
D1023,
|
||||
|
||||
/// <summary>
|
||||
/// 已将其他地方登录账号下线
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已将其他地方登录账号下线")]
|
||||
D1024,
|
||||
|
||||
/// <summary>
|
||||
/// 此角色下面存在账号禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("此角色下面存在账号禁止删除")]
|
||||
D1025,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止修改本人账号状态
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止修改本人账号状态")]
|
||||
D1026,
|
||||
|
||||
/// <summary>
|
||||
/// 密码错误次数过多,账号已锁定,请半小时后重试!
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("密码错误次数过多,账号已锁定,请半小时后重试!")]
|
||||
D1027,
|
||||
|
||||
/// <summary>
|
||||
/// 新密码不能与旧密码相同
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("新密码不能与旧密码相同")]
|
||||
D1028,
|
||||
|
||||
/// <summary>
|
||||
/// 父机构不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("父机构不存在")]
|
||||
D2000,
|
||||
|
||||
/// <summary>
|
||||
/// 当前机构Id不能与父机构Id相同
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("当前机构Id不能与父机构Id相同")]
|
||||
D2001,
|
||||
|
||||
/// <summary>
|
||||
/// 已有相同组织机构,编码或名称相同
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已有相同组织机构,编码或名称相同")]
|
||||
D2002,
|
||||
|
||||
/// <summary>
|
||||
/// 没有权限操作机构
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("没有权限操作机构")]
|
||||
D2003,
|
||||
|
||||
/// <summary>
|
||||
/// 该机构下有用户禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("该机构下有用户禁止删除")]
|
||||
D2004,
|
||||
|
||||
/// <summary>
|
||||
/// 附属机构下有用户禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("附属机构下有用户禁止删除")]
|
||||
D2005,
|
||||
|
||||
/// <summary>
|
||||
/// 只能增加下级机构
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("只能增加下级机构")]
|
||||
D2006,
|
||||
|
||||
/// <summary>
|
||||
/// 下级机构下有用户禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("下级机构下有用户禁止删除")]
|
||||
D2007,
|
||||
|
||||
/// <summary>
|
||||
/// 租户默认机构禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("租户默认机构禁止删除")]
|
||||
D2008,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止增加根节点机构
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止增加根节点机构")]
|
||||
D2009,
|
||||
|
||||
/// <summary>
|
||||
/// 字典类型不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("字典类型不存在")]
|
||||
D3000,
|
||||
|
||||
/// <summary>
|
||||
/// 字典类型已存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("字典类型已存在,名称或编码重复")]
|
||||
D3001,
|
||||
|
||||
/// <summary>
|
||||
/// 字典类型下面有字典值禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("字典类型下面有字典值禁止删除")]
|
||||
D3002,
|
||||
|
||||
/// <summary>
|
||||
/// 字典值已存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("字典值已存在,名称或编码重复")]
|
||||
D3003,
|
||||
|
||||
/// <summary>
|
||||
/// 字典值不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("字典值不存在")]
|
||||
D3004,
|
||||
|
||||
/// <summary>
|
||||
/// 字典状态错误
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("字典状态错误")]
|
||||
D3005,
|
||||
|
||||
/// <summary>
|
||||
/// 菜单已存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("菜单已存在")]
|
||||
D4000,
|
||||
|
||||
/// <summary>
|
||||
/// 路由地址为空
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("路由地址为空")]
|
||||
D4001,
|
||||
|
||||
/// <summary>
|
||||
/// 打开方式为空
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("打开方式为空")]
|
||||
D4002,
|
||||
|
||||
/// <summary>
|
||||
/// 权限标识格式为空
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("权限标识格式为空")]
|
||||
D4003,
|
||||
|
||||
/// <summary>
|
||||
/// 权限标识格式错误
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("权限标识格式错误 如xxx:xxx")]
|
||||
D4004,
|
||||
|
||||
/// <summary>
|
||||
/// 权限不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("权限不存在")]
|
||||
D4005,
|
||||
|
||||
/// <summary>
|
||||
/// 父级菜单不能为当前节点,请重新选择父级菜单
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("父级菜单不能为当前节点,请重新选择父级菜单")]
|
||||
D4006,
|
||||
|
||||
/// <summary>
|
||||
/// 不能移动根节点
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("不能移动根节点")]
|
||||
D4007,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止本节点与父节点相同
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止本节点与父节点相同")]
|
||||
D4008,
|
||||
|
||||
/// <summary>
|
||||
/// 路由名称重复
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("路由名称重复")]
|
||||
D4009,
|
||||
|
||||
/// <summary>
|
||||
/// 父节点不能为按钮类型
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("父节点不能为按钮类型")]
|
||||
D4010,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名或同编码应用
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名或同编码应用")]
|
||||
D5000,
|
||||
|
||||
/// <summary>
|
||||
/// 默认激活系统只能有一个
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("默认激活系统只能有一个")]
|
||||
D5001,
|
||||
|
||||
/// <summary>
|
||||
/// 该应用下有菜单禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("该应用下有菜单禁止删除")]
|
||||
D5002,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名或同编码应用
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名或同编码应用")]
|
||||
D5003,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名或同编码职位
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名或同编码职位")]
|
||||
D6000,
|
||||
|
||||
/// <summary>
|
||||
/// 该职位下有用户禁止删除
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("该职位下有用户禁止删除")]
|
||||
D6001,
|
||||
|
||||
/// <summary>
|
||||
/// 无权修改本职位
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("无权修改本职位")]
|
||||
D6002,
|
||||
|
||||
/// <summary>
|
||||
/// 职位不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("职位不存在")]
|
||||
D6003,
|
||||
|
||||
/// <summary>
|
||||
/// 通知公告状态错误
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("通知公告状态错误")]
|
||||
D7000,
|
||||
|
||||
/// <summary>
|
||||
/// 通知公告删除失败
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("通知公告删除失败")]
|
||||
D7001,
|
||||
|
||||
/// <summary>
|
||||
/// 通知公告编辑失败
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("通知公告编辑失败,类型必须为草稿")]
|
||||
D7002,
|
||||
|
||||
/// <summary>
|
||||
/// 通知公告操作失败,非发布者不能进行操作
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("通知公告操作失败,非发布者不能进行操作")]
|
||||
D7003,
|
||||
|
||||
/// <summary>
|
||||
/// 文件不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("文件不存在")]
|
||||
D8000,
|
||||
|
||||
/// <summary>
|
||||
/// 不允许的文件类型
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("不允许的文件类型")]
|
||||
D8001,
|
||||
|
||||
/// <summary>
|
||||
/// 文件超过允许大小
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("文件超过允许大小")]
|
||||
D8002,
|
||||
|
||||
/// <summary>
|
||||
/// 文件后缀错误
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("文件后缀错误")]
|
||||
D8003,
|
||||
|
||||
/// <summary>
|
||||
/// 文件已存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("文件已存在")]
|
||||
D8004,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名或同编码参数配置
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名或同编码参数配置")]
|
||||
D9000,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止删除系统参数
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止删除系统参数")]
|
||||
D9001,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名任务调度
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名任务调度")]
|
||||
D1100,
|
||||
|
||||
/// <summary>
|
||||
/// 任务调度不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("任务调度不存在")]
|
||||
D1101,
|
||||
|
||||
/// <summary>
|
||||
/// 演示环境禁止修改数据
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("演示环境禁止修改数据")]
|
||||
D1200,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名的租户
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名的租户")]
|
||||
D1300,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名的租户管理员
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名的租户管理员")]
|
||||
D1301,
|
||||
|
||||
/// <summary>
|
||||
/// 租户从库配置错误
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("租户从库配置错误")]
|
||||
D1302,
|
||||
|
||||
/// <summary>
|
||||
/// 该表代码模板已经生成过
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("该表代码模板已经生成过")]
|
||||
D1400,
|
||||
|
||||
/// <summary>
|
||||
/// 该类型不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("该类型不存在")]
|
||||
D1501,
|
||||
|
||||
/// <summary>
|
||||
/// 该字段不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("该字段不存在")]
|
||||
D1502,
|
||||
|
||||
/// <summary>
|
||||
/// 该类型不是枚举类型
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("该类型不是枚举类型")]
|
||||
D1503,
|
||||
|
||||
/// <summary>
|
||||
/// 该实体不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("该实体不存在")]
|
||||
D1504,
|
||||
|
||||
/// <summary>
|
||||
/// 父菜单不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("父菜单不存在")]
|
||||
D1505,
|
||||
|
||||
/// <summary>
|
||||
/// 父资源不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("父资源不存在")]
|
||||
D1600,
|
||||
|
||||
/// <summary>
|
||||
/// 当前资源Id不能与父资源Id相同
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("当前资源Id不能与父资源Id相同")]
|
||||
D1601,
|
||||
|
||||
/// <summary>
|
||||
/// 已有相同编码或名称
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已有相同编码或名称")]
|
||||
D1602,
|
||||
|
||||
/// <summary>
|
||||
/// 脚本代码不能为空
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("脚本代码不能为空")]
|
||||
D1701,
|
||||
|
||||
/// <summary>
|
||||
/// 脚本代码中的作业类,需要定义 [JobDetail] 特性
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("脚本代码中的作业类,需要定义 [JobDetail] 特性")]
|
||||
D1702,
|
||||
|
||||
/// <summary>
|
||||
/// 作业编号需要与脚本代码中的作业类 [JobDetail('jobId')] 一致
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("作业编号需要与脚本代码中的作业类 [JobDetail('jobId')] 一致")]
|
||||
D1703,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止修改作业编号
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止修改作业编号")]
|
||||
D1704,
|
||||
|
||||
/// <summary>
|
||||
/// 执行作业失败
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("执行作业失败")]
|
||||
D1705,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名打印模板
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名打印模板")]
|
||||
D1800,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名功能或同名程序及插件
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名功能或同名程序及插件")]
|
||||
D1900,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在同名或同编码项目
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在同名或同编码项目")]
|
||||
xg1000,
|
||||
|
||||
/// <summary>
|
||||
/// 已存在相同证件号码人员
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已存在相同证件号码人员")]
|
||||
xg1001,
|
||||
|
||||
/// <summary>
|
||||
/// 检测数据不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("检测数据不存在")]
|
||||
xg1002,
|
||||
|
||||
/// <summary>
|
||||
/// 请添加数据列
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("请添加数据列")]
|
||||
db1000,
|
||||
|
||||
/// <summary>
|
||||
/// 数据表不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("数据表不存在")]
|
||||
db1001,
|
||||
|
||||
/// <summary>
|
||||
/// 数据表不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("不允许添加相同字段名")]
|
||||
db1002,
|
||||
|
||||
/// <summary>
|
||||
/// 父节点不存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("父节点不存在")]
|
||||
R2000,
|
||||
|
||||
/// <summary>
|
||||
/// 当前节点Id不能与父节点Id相同
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("当前节点Id不能与父节点Id相同")]
|
||||
R2001,
|
||||
|
||||
/// <summary>
|
||||
/// 已有相同编码或名称
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已有相同编码或名称")]
|
||||
R2002,
|
||||
|
||||
/// <summary>
|
||||
/// 默认租户状态禁止修改
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("默认租户状态禁止修改")]
|
||||
Z1001,
|
||||
|
||||
/// <summary>
|
||||
/// 禁止创建此类型的数据库
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("禁止创建此类型的数据库")]
|
||||
Z1002,
|
||||
|
||||
/// <summary>
|
||||
/// 租户已禁用
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("租户已禁用")]
|
||||
Z1003,
|
||||
|
||||
/// <summary>
|
||||
/// 租户库连接不能为空
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("租户库连接不能为空")]
|
||||
Z1004,
|
||||
|
||||
/// <summary>
|
||||
/// 身份标识已存在
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("身份标识已存在")]
|
||||
O1000,
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 性别枚举
|
||||
/// </summary>
|
||||
[Description("性别枚举")]
|
||||
public enum GenderEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 男
|
||||
/// </summary>
|
||||
[Description("男")]
|
||||
Male = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 女
|
||||
/// </summary>
|
||||
[Description("女")]
|
||||
Female = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 其他
|
||||
/// </summary>
|
||||
[Description("其他")]
|
||||
Other = 3
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 作业创建类型枚举
|
||||
/// </summary>
|
||||
[Description("作业创建类型枚举")]
|
||||
public enum JobCreateTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 内置
|
||||
/// </summary>
|
||||
[Description("内置")]
|
||||
BuiltIn = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 脚本
|
||||
/// </summary>
|
||||
[Description("脚本")]
|
||||
Script = 1,
|
||||
|
||||
/// <summary>
|
||||
/// HTTP请求
|
||||
/// </summary>
|
||||
[Description("HTTP请求")]
|
||||
Http = 2,
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 岗位状态枚举
|
||||
/// </summary>
|
||||
[Description("岗位状态枚举")]
|
||||
public enum JobStatusEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 在职
|
||||
/// </summary>
|
||||
[Description("在职")]
|
||||
On = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 离职
|
||||
/// </summary>
|
||||
[Description("离职")]
|
||||
Off = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 请假
|
||||
/// </summary>
|
||||
[Description("请假")]
|
||||
Leave = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 其他
|
||||
/// </summary>
|
||||
[Description("其他")]
|
||||
Other = 4,
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 登录模式枚举
|
||||
/// </summary>
|
||||
[Description("登录模式枚举")]
|
||||
public enum LoginModeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// PC模式
|
||||
/// </summary>
|
||||
[Description("PC模式")]
|
||||
PC = 1,
|
||||
|
||||
/// <summary>
|
||||
/// APP
|
||||
/// </summary>
|
||||
[Description("APP")]
|
||||
APP = 2
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 登录类型枚举
|
||||
/// </summary>
|
||||
[Description("登录类型枚举")]
|
||||
public enum LoginTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// PC登录
|
||||
/// </summary>
|
||||
[Description("PC登录")]
|
||||
Login = 1,
|
||||
|
||||
/// <summary>
|
||||
/// PC退出
|
||||
/// </summary>
|
||||
[Description("PC退出")]
|
||||
Logout = 2,
|
||||
|
||||
/// <summary>
|
||||
/// PC注册
|
||||
/// </summary>
|
||||
[Description("PC注册")]
|
||||
Register = 3
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 婚姻状况枚举
|
||||
/// </summary>
|
||||
[Description("婚姻状况枚举")]
|
||||
public enum MaritalStatusEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 未婚
|
||||
/// </summary>
|
||||
[Description("未婚")]
|
||||
UnMarried = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 已婚
|
||||
/// </summary>
|
||||
[Description("已婚")]
|
||||
Married = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 离异
|
||||
/// </summary>
|
||||
[Description("离异")]
|
||||
Divorce = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 再婚
|
||||
/// </summary>
|
||||
[Description("再婚")]
|
||||
Remarry = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 丧偶
|
||||
/// </summary>
|
||||
[Description("丧偶")]
|
||||
Widowed = 5,
|
||||
|
||||
/// <summary>
|
||||
/// 未知
|
||||
/// </summary>
|
||||
[Description("未知")]
|
||||
None = 6,
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 系统菜单类型枚举
|
||||
/// </summary>
|
||||
[Description("系统菜单类型枚举")]
|
||||
public enum MenuTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 目录
|
||||
/// </summary>
|
||||
[Description("目录")]
|
||||
Dir = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 菜单
|
||||
/// </summary>
|
||||
[Description("菜单")]
|
||||
Menu = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 按钮
|
||||
/// </summary>
|
||||
[Description("按钮")]
|
||||
Btn = 3
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 消息类型枚举
|
||||
/// </summary>
|
||||
[Description("消息类型枚举")]
|
||||
public enum MessageTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 普通信息
|
||||
/// </summary>
|
||||
[Description("消息")]
|
||||
Info = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 成功提示
|
||||
/// </summary>
|
||||
[Description("成功")]
|
||||
Success = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 警告提示
|
||||
/// </summary>
|
||||
[Description("警告")]
|
||||
Warning = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 错误提示
|
||||
/// </summary>
|
||||
[Description("错误")]
|
||||
Error = 3
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 通知公告状态枚举
|
||||
/// </summary>
|
||||
[Description("通知公告状态枚举")]
|
||||
public enum NoticeStatusEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 草稿
|
||||
/// </summary>
|
||||
[Description("草稿")]
|
||||
DRAFT = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 发布
|
||||
/// </summary>
|
||||
[Description("发布")]
|
||||
PUBLIC = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 撤回
|
||||
/// </summary>
|
||||
[Description("撤回")]
|
||||
CANCEL = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 删除
|
||||
/// </summary>
|
||||
[Description("删除")]
|
||||
DELETED = 3
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 通知公告状类型枚举
|
||||
/// </summary>
|
||||
[Description("通知公告状类型枚举")]
|
||||
public enum NoticeTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 通知
|
||||
/// </summary>
|
||||
[Description("通知")]
|
||||
NOTICE = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 公告
|
||||
/// </summary>
|
||||
[Description("公告")]
|
||||
ANNOUNCEMENT = 2,
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||
//
|
||||
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 通知公告用户状态枚举
|
||||
/// </summary>
|
||||
[Description("通知公告用户状态枚举")]
|
||||
public enum NoticeUserStatusEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 未读
|
||||
/// </summary>
|
||||
[Description("未读")]
|
||||
UNREAD = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 已读
|
||||
/// </summary>
|
||||
[Description("已读")]
|
||||
READ = 1
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue