|
|
11 ore în urmă | |
|---|---|---|
| .codegeex | 1 zi în urmă | |
| .roo | 1 zi în urmă | |
| .workflow | 1 zi în urmă | |
| Apq.Cfg | 11 ore în urmă | |
| Apq.Cfg.WebUI | 22 ore în urmă | |
| .gitignore | 1 zi în urmă | |
| CLAUDE.md | 1 zi în urmă | |
| LICENSE | 2 săptămâni în urmă | |
| README.md | 1 zi în urmă | |
| upp.exe | 1 zi în urmă | |
| upp.json | 1 zi în urmă |
# Apq.Cfg
.NET 统一配置组件库,支持多种配置格式和远程配置中心。
📖 在线文档:https://apq-cfg.vercel.app/
dotnet add package Apq.Cfg
using Apq.Cfg;
// 构建配置
var cfg = new CfgBuilder()
.AddJson("config.json")
.AddJson("config.local.json", level: 1, writeable: true, isPrimaryWriter: true)
.Build();
// 读取配置
var host = cfg["Database:Host"];
var port = cfg.GetValue<int>("Database:Port");
// 使用配置节
var db = cfg.GetSection("Database");
var name = db["Name"];
// 修改并保存
cfg["App:LastRun"] = DateTime.Now.ToString();
await cfg.SaveAsync();
为应用添加配置管理 API:
using Apq.Cfg;
using Apq.Cfg.WebApi;
var builder = WebApplication.CreateBuilder(args);
var cfg = new CfgBuilder()
.AddJson("config.json")
.AddJson("config.local.json", level: 5, writeable: true, isPrimaryWriter: true)
.Build();
// 注册配置和 API 服务
builder.Services.AddSingleton<ICfgRoot>(cfg);
builder.Services.AddApqCfgWebApi(options =>
{
options.Authentication = AuthenticationType.ApiKey;
options.ApiKey = "your-secret-key";
});
var app = builder.Build();
app.UseApqCfgWebApi();
app.MapApqCfgWebApi();
app.Run();
API 文档 UI 根据目标框架自动选择:
/swagger)/scalar/v1)| 层级 | 用途 | 配置源 |
|---|---|---|
| 0-99 | 本地文件 | Json, Ini, Xml, Yaml, Toml |
| 100-199 | 远程存储 | Redis, Database |
| 200-299 | 配置中心 | Consul, Etcd, Nacos, Apollo, Zookeeper |
| 300-399 | 密钥管理 | Vault |
| 400+ | 环境变量 | Env, EnvironmentVariables |
| 包名 | 说明 |
|---|---|
Apq.Cfg |
核心库(JSON、环境变量) |
Apq.Cfg.Ini |
INI 格式 |
Apq.Cfg.Xml |
XML 格式 |
Apq.Cfg.Yaml |
YAML 格式 |
Apq.Cfg.Toml |
TOML 格式 |
Apq.Cfg.Env |
.env 文件 |
Apq.Cfg.Redis |
Redis 存储 |
Apq.Cfg.Database |
数据库存储 |
Apq.Cfg.Consul |
Consul 配置中心 |
Apq.Cfg.Etcd |
Etcd 配置中心 |
Apq.Cfg.Nacos |
Nacos 配置中心 |
Apq.Cfg.Apollo |
Apollo 配置中心 |
Apq.Cfg.Zookeeper |
Zookeeper 配置中心 |
Apq.Cfg.Vault |
HashiCorp Vault |
Apq.Cfg.Crypto |
配置加密脱敏 |
Apq.Cfg.SourceGenerator |
源生成器 (Native AOT) |
Apq.Cfg.WebApi |
RESTful API 接口 |
Apq.Cfg.WebUI |
Web 管理界面 |
.NET 8.0 / 10.0 (LTS)
dotnet build
dotnet test
MIT License