Learn.VideoAnalysis/VideoAnalysisCore/Common/AppConfig.cs

213 lines
5.6 KiB
C#

using SqlSugar.IOC;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VideoAnalysisCore.Common
{
/// <summary>
/// 应用程序配置
/// </summary>
public class AppConfig
{
/// <summary>
/// 程序ID
/// </summary>
public string ID { get; set; } = string.Empty;
/// <summary>
/// Admin
/// </summary>
public AdminConfig Admin { get; set; } = new AdminConfig();
/// <summary>
/// 子系统
/// </summary>
public SubsystemConfig Subsystem { get; set; } = new SubsystemConfig();
/// <summary>
/// redis
/// </summary>
public RedisConfig Redis { get; set; } = new RedisConfig();
/// <summary>
/// Whisper AI
/// </summary>
public WhisperConfig Whisper { get; set; } = new WhisperConfig();
/// <summary>
/// FFmpeg
/// </summary>
public FFmpegConfig FFmpeg { get; set; } = new FFmpegConfig();
/// <summary>
/// ChatGpt
/// </summary>
public ChatGptConfig ChatGpt { get; set; } = new ChatGptConfig();
/// <summary>
/// 阿里云视频点播配置
/// </summary>
public AlibabaCloudVodConfig AlibabaCloudVod { get; set; } = new AlibabaCloudVodConfig();
/// <summary>
/// 数据库配置
/// </summary>
public DBConfig DB { get; set; } = new DBConfig();
/// <summary>
/// 其他数据库配置
/// </summary>
public DBConfig[] OtherDBArr { get; set; } = Array.Empty<DBConfig>();
/// <summary>
/// 系统接收任务设置配置
/// </summary>
public TaskSettingConfig TaskSetting { get; set; } = new TaskSettingConfig();
/// <summary>
/// SimpLetex配置
/// </summary>
public SimpLetexConfig SimpLetex { get; set; } = new SimpLetexConfig();
}
public class SimpLetexConfig
{
/// <summary>
/// 请求 公开的服务地址
/// </summary>
public string Host { get; set; } = string.Empty;
/// <summary>
/// api的密钥
/// </summary>
public string AppSecret { get; set; } = string.Empty;
/// <summary>
/// 应用ID
/// </summary>
public string AppId { get; set; } = string.Empty;
}
public class TaskSettingConfig
{
/// <summary>
/// 下载速度MB/S
/// </summary>
public int DownloadSpeed { get; set; }
/// <summary>
/// 是服务端
/// <para>不执行任务,不回调接口</para>
/// </summary>
public bool IS_Server { get; set; }
}
/// <summary>
/// ffmpeg配置
/// </summary>
public class GptConfig
{
/// <summary>
/// 请求 公开的服务地址
/// </summary>
public string Host { get; set; } = string.Empty;
/// <summary>
/// api的密钥
/// </summary>
public string ApiKey { get; set; } = string.Empty;
}
/// <summary>
/// 文本模型 配置
/// </summary>
public class ChatGptConfig
{
/// <summary>
/// KIMI
/// <para></para>
/// </summary>
public GptConfig ChatGpt { get; set; } = new GptConfig();
public GptConfig DeepSeek { get; set; } = new GptConfig();
public GptConfig KIMI { get; set; } = new GptConfig();
public GptConfig aliyun { get; set; } = new GptConfig();
}
/// <summary>
/// ffmpeg配置
/// </summary>
public class FFmpegConfig
{
/// <summary>
/// 音频切片时间段
/// <para>0不切片</para>
/// </summary>
public int TimeSlice { get; set; } = 0;
}
/// <summary>
/// Whisper配置
/// </summary>
public class WhisperConfig
{
/// <summary>
/// 模型名称
/// </summary>
public string ModelName { get; set; } = string.Empty;
}
/// <summary>
/// 管理界面Admin账号
/// </summary>
public class AdminConfig
{
/// <summary>
/// 账号
/// </summary>
public string Account { get; set; } = string.Empty;
/// <summary>
/// 密码
/// </summary>
public string Password { get; set; } = string.Empty;
}
/// <summary>
/// redis配置
/// </summary>
public class RedisConfig
{
/// <summary>
/// redis连接字符串
/// </summary>
public string ConnectionString { get; set; } = string.Empty;
}
public class DBConfig
{
/// <summary>
/// 主库链接
/// </summary>
public string ConnectionString { get; set; } = string.Empty;
/// <summary>
/// 数据库类型
/// </summary>
public IocDbType SqlType { get; set; }
/// <summary>
/// 启动时更新表结构
/// </summary>
public bool UpdateTable { get; set; }
/// <summary>
/// 配置ID
/// </summary>
public long ConfigId { get; set; }
}
/// <summary>
/// 子系统配置
/// </summary>
public class SubsystemInfo
{
public string APIUrl { get; set; } = string.Empty;
public string Token { get; set; } = string.Empty;
}
/// <summary>
/// 子系统配置
/// </summary>
public class SubsystemConfig
{
public SubsystemInfo { get; set; } = new SubsystemInfo();
}
}