using SA.Core;
using SA.Core.Init;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
namespace SA.Domain.XFYun.XFYunEntity
{
///
/// 讯飞云请求
///
///
public class XFYunRequest
where TParams : class
{
///
/// 构造函数
///
///
///
///
///
public XFYunRequest(string? appId, string? key, string? groupId, TParams param)
{
var configs = InitConfiguration.GetSection("XFYunConfigs").Get>();
var config = configs.FirstOrDefault(x => x.AppId == appId);
if (config == null) LogHelper.Error($"AppId: {appId},配置不存在,请检查配置");
var apiConfig = XFYunApiConfig.GetApiConfig(key ?? "");
Url = apiConfig?.Url;
GroupId = groupId;
Params = param;
ParamPosition = apiConfig?.ParamPosition;
ServiceType = apiConfig?.ServiceType;
ParamType = apiConfig?.ParamType;
Config = config;
}
///
/// 讯飞云API的请求地址
///
public string? Url { get; }
///
/// 讯飞云API的应用配置(此参数为可选,不传该参数时,默认读取后端服务配置文件)
///
public XFYunConfig? Config { get; }
///
/// 接口分组ID,在讯飞云管理平台上获取
///
public string? GroupId { get; }
public string? ParamPosition { get; }
public string? ServiceType { get; }
public string? ParamType { get; }
///
/// 讯飞云API的调用参数,具体参数字段请查看讯飞云API文档;
///
public TParams Params { get; }
}
}