1.3 启动UI
...大约 2 分钟
简介
Wing.UI
是Wing
微服务框架中的一个可视化操作管理系统,主要功能有服务治理、配置中心、APM管理、Saga分布式事务查询。
创建一个Web Api项目
提前准备:安装并启动Consul
打开 Visual Studio 2022 并创建Web Api项目(点击查看完整示例代码1.3)
安装依赖包
安装服务注册nuget包Wing.Consul
,UI可视化界面管理nuget包Wing.UI
,选择对应的数据库驱动(参考FreeSql官网),以SqlServer为例,安装FreeSql.Provider.SqlServer
。
dotnet add package Wing.Consul
dotnet add package Wing.UI
dotnet add package FreeSql.Provider.SqlServer
Install-Package Wing.Consul
Install-Package Wing.UI
Install-Package FreeSql.Provider.SqlServer
Program代码
var builder = WebApplication.CreateBuilder(args);
builder.Host.AddWing(builder => builder.AddConsul());
builder.Services.AddControllers();
builder.Services.AddWing()
.AddWingUI(FreeSql.DataType.SqlServer)
.AddJwt()
.AddAPM();
var app = builder.Build();
UserContext.UserLoginAfter = user =>
{
user.Token = app.Services.GetService<IAuth>().GetToken();
return user;
};
// Configure the HTTP request pipeline.
app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();
app.MapControllers();
app.Run();
添加配置
{
// 是否启用配置中心,默认启用
"ConfigCenterEnabled": false,
"Consul": {
"Url": "http://localhost:8500",
//定时同步数据时间间隔,单位:秒 小于等于0表示立即响应
"Interval": 10,
//数据中心
"DataCenter": "dc1",
//等待时间,单位:分钟
"WaitTime": 3
},
// 数据库链接
"ConnectionStrings": {
"Wing": "Data Source=192.168.56.96;User Id=sa;Password=wing123.;Initial Catalog=Wing;TrustServerCertificate=true;Pooling=true;Min Pool Size=1"
},
//自动同步实体结构到数据库
"UseAutoSyncStructure": true,
// 首页
"Home": {
// 指标耗时异常统计 单位:毫秒 默认60秒
"Timeout": {
"Gateway": 2000,
"Apm": {
"Http": 2000,
"WorkServiceHttp": 2000,
"WorkServiceSql": 2000
},
// 查询统计时间 默认:最近一个月
"SearchTime": "2020-01-01"
}
},
//设置默认登录账号和密码
"User": {
"Account": "admin",
"Password": "123456"
},
//JWT鉴权配置
"Jwt": {
"Secret": "U2FsdGVkX18E82bSYRnqfv7isu6313BQ8QNTs0TcZZK2rwviQw==",
"Iss": "https://gitee.com/linguicheng/Wing",
"Aud": "Wing",
//token过期分钟数
"Expire": 1440
}
}
查看运行效果
- 程序运行后,浏览器访问 http://localhost:1310/wing ,进入登录界面,如下图:
输入设置的默认账号和密码登录之后,跳转到首页,如下图:
- 可以看到示例 1.2 注入的服务
Wing.Demo_1.2