Files
OnboardXAdmin/SimpleAdmin.Application/Options/QiyuesuoSettingOptions.cs

103 lines
3.3 KiB
C#

namespace SimpleAdmin.Application;
/// <summary>
/// 契约锁开放平台连接及入职电子签业务配置。
/// </summary>
public class QiyuesuoSettingOptions
{
/// <summary>
/// 是否启用契约锁电子签功能。
/// </summary>
public bool Enabled { get; set; } = true;
/// <summary>
/// 契约锁开放平台地址;测试环境为 https://openapi.qiyuesuo.cn。
/// </summary>
public string ServerUrl { get; set; } = "https://openapi.qiyuesuo.cn";
/// <summary>
/// 契约锁应用 App Token。
/// </summary>
public string AppToken { get; set; }
/// <summary>
/// 契约锁应用 App Secret。
/// </summary>
public string AppSecret { get; set; }
/// <summary>
/// 签名版本;留空使用兼容性最好的 MD5,设置 HMACSHA256 使用新版签名。
/// </summary>
public string SignatureVersion { get; set; }
/// <summary>
/// 契约锁企业成员中的合同创建人姓名。
/// </summary>
public string CreatorName { get; set; }
/// <summary>
/// 契约锁企业成员中的合同创建人手机号。
/// </summary>
public string CreatorMobile { get; set; }
/// <summary>
/// 契约锁合同状态回调地址。
/// </summary>
public string CallbackUrl { get; set; }
/// <summary>
/// 员工从契约锁签署页面返回时跳转的前端地址;可为空。
/// </summary>
public string SignPageCallbackUrl { get; set; }
/// <summary>
/// 员工签署页链接有效分钟数。
/// </summary>
public int SignUrlExpireMinutes { get; set; } = 10;
/// <summary>
/// DOCX 中定位员工签名位置的关键字。
/// </summary>
public string EmployeeSignKeyword { get; set; } = "乙方(劳动者)签字:";
/// <summary>
/// 员工签名关键字在单份文档中重复时使用第几个,从 1 开始。
/// </summary>
public int EmployeeSignKeywordIndex { get; set; } = 1;
/// <summary>
/// DOCX 中定位企业盖章位置的关键字。
/// </summary>
public string CompanySealKeyword { get; set; } = "甲方(盖章):";
/// <summary>
/// 企业盖章关键字在单份文档中重复时使用第几个,从 1 开始。
/// </summary>
public int CompanySealKeywordIndex { get; set; } = 1;
/// <summary>
/// 企业盖章相对关键字的横向偏移量,范围 (-1, 1),正数向右、负数向左。
/// </summary>
public decimal CompanySealOffsetX { get; set; }
/// <summary>
/// 企业盖章相对关键字的纵向偏移量,范围 (-1, 1),正数向上、负数向下。
/// </summary>
public decimal CompanySealOffsetY { get; set; }
/// <summary>
/// 历史版本未单独设置开关时,是否在企业盖章时加盖骑缝章;新版本显式开关优先。
/// </summary>
public bool EnableAcrossPageSeal { get; set; } = true;
/// <summary>
/// 骑缝章方式:ALL_DOCUMENT(所选文档合并)或 SINGLE_DOCUMENT(所选文档各自独立)。
/// </summary>
public string AcrossPageSealType { get; set; } = "ALL_DOCUMENT";
/// <summary>
/// 单次 HTTP 请求超时秒数。
/// </summary>
public int TimeoutSeconds { get; set; } = 90;
}