LanYinInstaller.cs
1.16 KB
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Rcs.Application.Shared;
using Rcs.Cyaninetech.BackgroundServices;
using Rcs.Cyaninetech.Services;
using Rcs.Infrastructure.Shared;
namespace Rcs.Infrastructure.Installs;
/// <summary>
/// LanYin外挂服务安装器
/// </summary>
public static class LanYinInstaller
{
/// <summary>
/// 安装LanYin服务(包含后台任务下发服务)
/// </summary>
public static IServiceCollection InstallLanYinService(
this IServiceCollection services)
{
// 注册LanYin服务(作为单例,因为被HostedService使用)
services.AddSingleton<ILanYinService, LanYinService>();
// 注册启动时自动登录服务
services.AddHostedService<LanYinLoginHostedService>();
// 注册蓝因 WebSocket 客户端服务 - 负责与蓝因系统的 WebSocket 通信
services.AddSingleton<ILanYinWsClientService, LanYinWsClientService>();
// 注册启动时初始化Websocket服务,自动连接并订阅消息
services.AddHostedService<LanYinWsHostedService>();
return services;
}
}