feat: initialize Evergreen Health backend
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// APIJSON配置选项
|
||||
/// </summary>
|
||||
public sealed class APIJSONOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 角色集合
|
||||
/// </summary>
|
||||
public List<APIJSON_Role> Roles { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// APIJSON角色权限
|
||||
/// </summary>
|
||||
public class APIJSON_Role
|
||||
{
|
||||
/// <summary>
|
||||
/// 角色名称
|
||||
/// </summary>
|
||||
public string RoleName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 查询
|
||||
/// </summary>
|
||||
public APIJSON_RoleItem Select { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 增加
|
||||
/// </summary>
|
||||
public APIJSON_RoleItem Insert { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新
|
||||
/// </summary>
|
||||
public APIJSON_RoleItem Update { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 删除
|
||||
/// </summary>
|
||||
public APIJSON_RoleItem Delete { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// APIJSON角色权限内容
|
||||
/// </summary>
|
||||
public class APIJSON_RoleItem
|
||||
{
|
||||
/// <summary>
|
||||
/// 表集合
|
||||
/// </summary>
|
||||
public string[] Table { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 列集合
|
||||
/// </summary>
|
||||
public string[] Column { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 过滤器
|
||||
/// </summary>
|
||||
public string[] Filter { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
using Aop.Api;
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝支付配置选项
|
||||
/// </summary>
|
||||
public sealed class AlipayOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 支付宝网关地址
|
||||
/// </summary>
|
||||
public string ServerUrl { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝授权回调地址
|
||||
/// </summary>
|
||||
public string AuthUrl { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 应用授权回调地址
|
||||
/// </summary>
|
||||
public string AppAuthUrl { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝 websocket 服务地址
|
||||
/// </summary>
|
||||
public string WebsocketUrl { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 应用回调地址
|
||||
/// </summary>
|
||||
public string NotifyUrl { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝根证书存放路径
|
||||
/// </summary>
|
||||
public string RootCertPath { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝商户账号列表
|
||||
/// </summary>
|
||||
public List<AlipayMerchantAccount> AccountList { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取支付宝客户端
|
||||
/// </summary>
|
||||
/// <param name="account"></param>
|
||||
public DefaultAopClient GetClient(AlipayMerchantAccount account)
|
||||
{
|
||||
account = account ?? throw new Exception("未找到支付宝商户账号");
|
||||
string path = App.WebHostEnvironment.ContentRootPath;
|
||||
return new DefaultAopClient(new AlipayConfig
|
||||
{
|
||||
Format = "json",
|
||||
Charset = "UTF-8",
|
||||
ServerUrl = ServerUrl,
|
||||
AppId = account.AppId,
|
||||
SignType = account.SignType,
|
||||
PrivateKey = account.PrivateKey,
|
||||
EncryptKey = account.EncryptKey,
|
||||
RootCertPath = Path.Combine(path, RootCertPath),
|
||||
AppCertPath = Path.Combine(path, account.AppCertPath),
|
||||
AlipayPublicCertPath = Path.Combine(path, account.AlipayPublicCertPath)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝商户账号信息
|
||||
/// </summary>
|
||||
public class AlipayMerchantAccount
|
||||
{
|
||||
/// <summary>
|
||||
/// 配置Id
|
||||
/// </summary>
|
||||
public long Id { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 商户名称
|
||||
/// </summary>
|
||||
public string Name { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 商户AppId
|
||||
/// </summary>
|
||||
public string AppId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 应用私钥
|
||||
/// </summary>
|
||||
public string PrivateKey { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 从支付宝获取敏感信息时的加密密钥(可选)
|
||||
/// </summary>
|
||||
public string EncryptKey { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 加密算法
|
||||
/// </summary>
|
||||
public string SignType { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 应用公钥证书路径
|
||||
/// </summary>
|
||||
public string AppCertPath { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝公钥证书路径
|
||||
/// </summary>
|
||||
public string AlipayPublicCertPath { get; init; }
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// CI/CD 配置选项
|
||||
/// </summary>
|
||||
public class CDConfigOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
public bool Enabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户名
|
||||
/// </summary>
|
||||
public string Owner { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 仓库名
|
||||
/// </summary>
|
||||
public string Repo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分支名
|
||||
/// </summary>
|
||||
public string Branch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户授权码
|
||||
/// </summary>
|
||||
public string AccessToken { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新间隔限制(分钟)0 不限制
|
||||
/// </summary>
|
||||
public int UpdateInterval { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 保留备份文件的数量, 0 不限制
|
||||
/// </summary>
|
||||
public int BackupCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 输出目录配置
|
||||
/// </summary>
|
||||
public string BackendOutput { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发布配置选项
|
||||
/// </summary>
|
||||
public PublishOptions Publish { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排除文件列表
|
||||
/// </summary>
|
||||
public List<string> ExcludeFiles { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 编译发布配置选项
|
||||
/// </summary>
|
||||
public class PublishOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 发布环境配置
|
||||
/// </summary>
|
||||
public string Configuration { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 目标框架
|
||||
/// </summary>
|
||||
public string TargetFramework { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 运行环境
|
||||
/// </summary>
|
||||
public string RuntimeIdentifier { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 缓存配置选项
|
||||
/// </summary>
|
||||
public sealed class CacheOptions : IConfigurableOptions<CacheOptions>
|
||||
{
|
||||
/// <summary>
|
||||
/// 缓存前缀
|
||||
/// </summary>
|
||||
public string Prefix { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 缓存类型
|
||||
/// </summary>
|
||||
public string CacheType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Redis缓存
|
||||
/// </summary>
|
||||
public RedisOption Redis { get; set; }
|
||||
|
||||
public void PostConfigure(CacheOptions options, IConfiguration configuration)
|
||||
{
|
||||
options.Prefix = string.IsNullOrWhiteSpace(options.Prefix) ? "" : options.Prefix.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Redis缓存
|
||||
/// </summary>
|
||||
public sealed class RedisOption : RedisOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 最大消息大小
|
||||
/// </summary>
|
||||
public int MaxMessageSize { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 集群配置选项
|
||||
/// </summary>
|
||||
public sealed class ClusterOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
public bool Enabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 服务器标识
|
||||
/// </summary>
|
||||
public string ServerId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 服务器IP
|
||||
/// </summary>
|
||||
public string ServerIp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// SignalR配置
|
||||
/// </summary>
|
||||
public ClusterSignalR SignalR { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据保护key
|
||||
/// </summary>
|
||||
public string DataProtecteKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否哨兵模式
|
||||
/// </summary>
|
||||
public bool IsSentinel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 哨兵配置
|
||||
/// </summary>
|
||||
public StackExchangeSentinelConfig SentinelConfig { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 集群SignalR配置
|
||||
/// </summary>
|
||||
public sealed class ClusterSignalR
|
||||
{
|
||||
/// <summary>
|
||||
/// Redis连接字符串
|
||||
/// </summary>
|
||||
public string RedisConfiguration { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 缓存前缀
|
||||
/// </summary>
|
||||
public string ChannelPrefix { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 哨兵配置
|
||||
/// </summary>
|
||||
public sealed class StackExchangeSentinelConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// master名称
|
||||
/// </summary>
|
||||
public string ServiceName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// master访问密码
|
||||
/// </summary>
|
||||
public string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 哨兵访问密码
|
||||
/// </summary>
|
||||
public string SentinelPassword { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 哨兵端口
|
||||
/// </summary>
|
||||
public List<string> EndPoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认库
|
||||
/// </summary>
|
||||
public int DefaultDb { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 主前缀
|
||||
/// </summary>
|
||||
public string MainPrefix { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// SignalR前缀
|
||||
/// </summary>
|
||||
public string SignalRChannelPrefix { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 代码生成配置选项
|
||||
/// </summary>
|
||||
public sealed class CodeGenOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据库实体程序集名称集合
|
||||
/// </summary>
|
||||
public List<string> EntityAssemblyNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库实体基类名称集合
|
||||
/// </summary>
|
||||
public List<string> BaseEntityNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 前端文件根目录
|
||||
/// </summary>
|
||||
public string FrontRootPath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 后端生成到的项目
|
||||
/// </summary>
|
||||
public List<string> BackendApplicationNamespaces { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 密码配置选项
|
||||
/// </summary>
|
||||
public sealed class CryptogramOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否开启密码强度验证
|
||||
/// </summary>
|
||||
public bool StrongPassword { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密码强度验证正则表达式
|
||||
/// </summary>
|
||||
public string PasswordStrengthValidation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密码强度验证提示
|
||||
/// </summary>
|
||||
public string PasswordStrengthValidationMsg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密码类型
|
||||
/// </summary>
|
||||
public string CryptoType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 公钥
|
||||
/// </summary>
|
||||
public string PublicKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 私钥
|
||||
/// </summary>
|
||||
public string PrivateKey { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 数据库配置选项
|
||||
/// </summary>
|
||||
public sealed class DbConnectionOptions : IConfigurableOptions<DbConnectionOptions>
|
||||
{
|
||||
/// <summary>
|
||||
/// 启用控制台打印SQL
|
||||
/// </summary>
|
||||
public bool EnableConsoleSql { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 超级管理员是否忽略逻辑删除过滤器
|
||||
/// </summary>
|
||||
public bool SuperAdminIgnoreIDeletedFilter { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库集合
|
||||
/// </summary>
|
||||
public List<DbConnectionConfig> ConnectionConfigs { get; set; }
|
||||
|
||||
public void PostConfigure(DbConnectionOptions options, IConfiguration configuration)
|
||||
{
|
||||
foreach (var dbConfig in options.ConnectionConfigs)
|
||||
{
|
||||
if (dbConfig.ConfigId == null || string.IsNullOrWhiteSpace(dbConfig.ConfigId.ToString()))
|
||||
dbConfig.ConfigId = SqlSugarConst.MainConfigId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据库连接配置
|
||||
/// </summary>
|
||||
public sealed class DbConnectionConfig : ConnectionConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据库名称
|
||||
/// </summary>
|
||||
public string DbNickName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据库配置
|
||||
/// </summary>
|
||||
public DbSettings DbSettings { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 表配置
|
||||
/// </summary>
|
||||
public TableSettings TableSettings { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 种子配置
|
||||
/// </summary>
|
||||
public SeedSettings SeedSettings { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 隔离方式
|
||||
/// </summary>
|
||||
public TenantTypeEnum TenantType { get; set; } = TenantTypeEnum.Id;
|
||||
|
||||
/// <summary>
|
||||
/// 数据库存储目录(仅SqlServer支持指定目录创建)
|
||||
/// </summary>
|
||||
public string DatabaseDirectory { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据库配置
|
||||
/// </summary>
|
||||
public sealed class DbSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// 启用库表初始化
|
||||
/// </summary>
|
||||
public bool EnableInitDb { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用视图初始化
|
||||
/// </summary>
|
||||
public bool EnableInitView { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用库表差异日志
|
||||
/// </summary>
|
||||
public bool EnableDiffLog { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用驼峰转下划线
|
||||
/// </summary>
|
||||
public bool EnableUnderLine { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用数据库连接串加密策略
|
||||
/// </summary>
|
||||
public bool EnableConnStringEncrypt { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 表配置
|
||||
/// </summary>
|
||||
public sealed class TableSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// 启用表初始化
|
||||
/// </summary>
|
||||
public bool EnableInitTable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用表增量更新
|
||||
/// </summary>
|
||||
public bool EnableIncreTable { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 种子配置
|
||||
/// </summary>
|
||||
public sealed class SeedSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// 启用种子初始化
|
||||
/// </summary>
|
||||
public bool EnableInitSeed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用种子增量更新
|
||||
/// </summary>
|
||||
public bool EnableIncreSeed { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
public sealed class DeepSeekOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 源语言
|
||||
/// </summary>
|
||||
public string SourceLang { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Api地址
|
||||
/// </summary>
|
||||
public string ApiUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// API KEY
|
||||
/// </summary>
|
||||
public string ApiKey { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// ES配置选项
|
||||
/// </summary>
|
||||
public class ElasticSearchOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
public bool Enabled { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// ES认证类型,可选 Basic、ApiKey、Base64ApiKey
|
||||
/// </summary>
|
||||
public ElasticSearchAuthTypeEnum AuthType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Basic认证的用户名
|
||||
/// </summary>
|
||||
public string User { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Basic认证的密码
|
||||
/// </summary>
|
||||
public string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ApiKey认证的ApiId
|
||||
/// </summary>
|
||||
public string ApiId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ApiKey认证的ApiKey
|
||||
/// </summary>
|
||||
public string ApiKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Base64ApiKey认证时加密的加密字符串
|
||||
/// </summary>
|
||||
public string Base64ApiKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ES使用Https时的证书指纹,使用证书请自行实现
|
||||
/// <para>https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/connecting.html</para>
|
||||
/// </summary>
|
||||
public string Fingerprint { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 地址
|
||||
/// </summary>
|
||||
public List<string> ServerUris { get; set; } = new List<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 索引
|
||||
/// </summary>
|
||||
public string DefaultIndex { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 邮件配置选项
|
||||
/// </summary>
|
||||
public sealed class EmailOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 主机
|
||||
/// </summary>
|
||||
public string Host { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 端口
|
||||
/// </summary>
|
||||
public int Port { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认发件者邮箱
|
||||
/// </summary>
|
||||
public string DefaultFromEmail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认接收人邮箱
|
||||
/// </summary>
|
||||
public string DefaultToEmail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用SSL
|
||||
/// </summary>
|
||||
public bool EnableSsl { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// 是否使用默认凭据
|
||||
///// </summary>
|
||||
//public bool UseDefaultCredentials { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 邮箱账号
|
||||
/// </summary>
|
||||
public string UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 邮箱密码
|
||||
/// </summary>
|
||||
public string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认邮件标题
|
||||
/// </summary>
|
||||
public string DefaultFromName { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 枚举配置选项
|
||||
/// </summary>
|
||||
public sealed class EnumOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 枚举实体程序集名称集合
|
||||
/// </summary>
|
||||
public List<string> EntityAssemblyNames { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 事件总线配置选项
|
||||
/// </summary>
|
||||
public sealed class EventBusOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// RabbitMQ
|
||||
/// </summary>
|
||||
public RabbitMQSettings RabbitMQ { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// RabbitMQ
|
||||
/// </summary>
|
||||
public sealed class RabbitMQSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// 账号
|
||||
/// </summary>
|
||||
public string UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密码
|
||||
/// </summary>
|
||||
public string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 主机
|
||||
/// </summary>
|
||||
public string HostName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 端口
|
||||
/// </summary>
|
||||
public int Port { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
public sealed class LocalizationSettingsOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 语言列表
|
||||
/// </summary>
|
||||
public List<string> SupportedCultures { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认语言
|
||||
/// </summary>
|
||||
public string DefaultCulture { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 固定时间区域为特定时区(多语言)
|
||||
/// </summary>
|
||||
public string DateTimeFormatCulture { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 第三方登录授权配置选项
|
||||
/// </summary>
|
||||
public sealed class OAuthOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Weixin配置
|
||||
/// </summary>
|
||||
public Microsoft.AspNetCore.Authentication.OAuth.OAuthOptions Weixin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gitee配置
|
||||
/// </summary>
|
||||
public Microsoft.AspNetCore.Authentication.OAuth.OAuthOptions Gitee { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 支付回调配置选项
|
||||
/// </summary>
|
||||
public sealed class PayCallBackOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 微信支付回调
|
||||
/// </summary>
|
||||
public string WechatPayUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 微信退款回调
|
||||
/// </summary>
|
||||
public string WechatRefundUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝支付回调
|
||||
/// </summary>
|
||||
public string AlipayUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付宝退款回调
|
||||
/// </summary>
|
||||
public string AlipayRefundUrl { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
using AspNetCoreRateLimit;
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// IP限流配置选项
|
||||
/// </summary>
|
||||
public sealed class IpRateLimitingOptions : IpRateLimitOptions
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// IP限流策略配置选项
|
||||
/// </summary>
|
||||
public sealed class IpRateLimitPoliciesOptions : IpRateLimitPolicies, IConfigurableOptions
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 客户端限流配置选项
|
||||
/// </summary>
|
||||
public sealed class ClientRateLimitingOptions : ClientRateLimitOptions, IConfigurableOptions
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 客户端限流策略配置选项
|
||||
/// </summary>
|
||||
public sealed class ClientRateLimitPoliciesOptions : ClientRateLimitPolicies, IConfigurableOptions
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 短信配置选项
|
||||
/// </summary>
|
||||
public sealed class SMSOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 验证码缓存过期时间(秒)
|
||||
/// 默认: 60秒
|
||||
/// </summary>
|
||||
public int VerifyCodeExpireSeconds { get; set; } = 60;
|
||||
|
||||
/// <summary>
|
||||
/// Aliyun
|
||||
/// </summary>
|
||||
public SMSSettings Aliyun { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Tencentyun
|
||||
/// </summary>
|
||||
public SMSSettings Tencentyun { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Custom 自定义短信接口
|
||||
/// </summary>
|
||||
public CustomSMSSettings Custom { get; set; }
|
||||
}
|
||||
|
||||
public sealed class SMSSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// SdkAppId
|
||||
/// </summary>
|
||||
public string SdkAppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// AccessKey ID
|
||||
/// </summary>
|
||||
public string AccessKeyId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// AccessKey Secret
|
||||
/// </summary>
|
||||
public string AccessKeySecret { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Templates
|
||||
/// </summary>
|
||||
public List<SmsTemplate> Templates { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// GetTemplate
|
||||
/// </summary>
|
||||
public SmsTemplate GetTemplate(string id = "0")
|
||||
{
|
||||
foreach (var template in Templates)
|
||||
{
|
||||
if (template.Id == id) { return template; }
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class SmsTemplate
|
||||
{
|
||||
public string Id { get; set; } = string.Empty;
|
||||
public string SignName { get; set; }
|
||||
public string TemplateCode { get; set; }
|
||||
public string Content { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 自定义短信配置
|
||||
/// </summary>
|
||||
public sealed class CustomSMSSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否启用自定义短信接口
|
||||
/// </summary>
|
||||
public bool Enabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// API 接口地址模板
|
||||
/// <para>支持占位符: {mobile} - 手机号, {content} - 短信内容, {code} - 验证码</para>
|
||||
/// </summary>
|
||||
/// <remarks>示例: https://api.xxxx.com/sms?u=xxxx&key=59e03f49c3dbb5033&m={mobile}&c={content}</remarks>
|
||||
public string ApiUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求方法 (GET/POST)
|
||||
/// </summary>
|
||||
public string Method { get; set; } = "GET";
|
||||
|
||||
/// <summary>
|
||||
/// POST 请求的 Content-Type (application/json 或 application/x-www-form-urlencoded)
|
||||
/// 默认: application/x-www-form-urlencoded
|
||||
/// </summary>
|
||||
public string ContentType { get; set; } = "application/x-www-form-urlencoded";
|
||||
|
||||
/// <summary>
|
||||
/// POST 请求的数据模板(支持占位符)
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// JSON 格式示例: {"mobile":"{mobile}","content":"{content}","apikey":"your_key"} <br />
|
||||
/// Form 格式示例: mobile={mobile}&content={content}&apikey=your_key
|
||||
/// </remarks>
|
||||
public string PostData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 成功响应标识(用于判断发送是否成功)
|
||||
/// 如果响应内容包含此字符串,则认为发送成功
|
||||
/// </summary>
|
||||
public string SuccessFlag { get; set; } = "0";
|
||||
|
||||
/// <summary>
|
||||
/// 短信模板列表
|
||||
/// </summary>
|
||||
public List<SmsTemplate> Templates { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取模板
|
||||
/// </summary>
|
||||
public SmsTemplate GetTemplate(string id = "0")
|
||||
{
|
||||
foreach (var template in Templates)
|
||||
{
|
||||
if (template.Id == id) { return template; }
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 雪花Id配置选项
|
||||
/// </summary>
|
||||
public sealed class SnowIdOptions : IdGeneratorOptions, IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 缓存前缀
|
||||
/// </summary>
|
||||
public string WorkerPrefix { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
using OnceMi.AspNetCore.OSS;
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 文件上传配置选项
|
||||
/// </summary>
|
||||
public sealed class UploadOptions : IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 路径
|
||||
/// </summary>
|
||||
public string Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 大小
|
||||
/// </summary>
|
||||
public long MaxSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上传格式
|
||||
/// </summary>
|
||||
public List<string> ContentType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用文件MD5验证
|
||||
/// </summary>
|
||||
/// <remarks>防止重复上传</remarks>
|
||||
public bool EnableMd5 { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 对象存储配置选项
|
||||
/// </summary>
|
||||
public sealed class OSSProviderOptions : OSSOptions, IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否启用OSS存储
|
||||
/// </summary>
|
||||
public bool Enabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义桶名称 不能直接使用Provider来替代桶名称
|
||||
/// 例:阿里云 1.只能包括小写字母,数字,短横线(-)2.必须以小写字母或者数字开头 3.长度必须在3-63字节之间
|
||||
/// </summary>
|
||||
public string Bucket { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义Host
|
||||
/// 拼接外链的Host,若空则使用Endpoint拼接
|
||||
/// </summary>
|
||||
/// <remarks></remarks>
|
||||
public string CustomHost { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 微信相关配置选项
|
||||
/// </summary>
|
||||
public sealed class WechatOptions : IConfigurableOptions
|
||||
{
|
||||
// 公众号
|
||||
public string WechatAppId { get; set; }
|
||||
|
||||
public string WechatAppSecret { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 微信公众号服务器配置中的令牌(Token)
|
||||
/// </summary>
|
||||
public string WechatToken { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 微信公众号服务器配置中的消息加解密密钥(EncodingAESKey)
|
||||
/// </summary>
|
||||
public string WechatEncodingAESKey { get; set; }
|
||||
|
||||
// 小程序
|
||||
public string WxOpenAppId { get; set; }
|
||||
|
||||
public string WxOpenAppSecret { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小程序消息推送中的令牌(Token)
|
||||
/// </summary>
|
||||
public string WxToken { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小程序消息推送中的消息加解密密钥(EncodingAESKey)
|
||||
/// </summary>
|
||||
public string WxEncodingAESKey { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 微信支付配置选项
|
||||
/// </summary>
|
||||
public sealed class WechatPayOptions : WechatTenpayClientOptions, IConfigurableOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 微信公众平台AppId、开放平台AppId、小程序AppId、企业微信CorpId
|
||||
/// </summary>
|
||||
public string AppId { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user