Files
Fishing2Server/Hotfix/Api/Helper/DingTalkHelper.cs
Bob.Song d5dafd2bcf 提交
2026-03-27 17:55:04 +08:00

63 lines
1.9 KiB
C#

using System.Text;
using Fantasy;
using Newtonsoft.Json;
namespace NBF;
public static class DingTalkHelper
{
private static readonly HttpClient _httpClient = new HttpClient();
public static async Task SendCAPTCHA(string code)
{
DingTalkMarkdownData dingTalkTestData = new DingTalkMarkdownData
{
markdown = new DingTalkMarkdownItem
{
title = "NB验证码",
text = $"验证码:{code}"
}
};
await SendMessageAsync("23457f9c93ac0ae909e1cbf8bcfeb7e0573968ac2d4c4b2c3a961b2f0c9247cb", dingTalkTestData);
}
/// <summary>
/// 通用消息发送方法
/// </summary>
/// <param name="token"></param>
/// <param name="message">消息对象</param>
/// <returns></returns>
private static async Task<bool> SendMessageAsync(string token, DingTalkMarkdownData message)
{
try
{
var json = JsonConvert.SerializeObject(message);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response =
await _httpClient.PostAsync($"https://oapi.dingtalk.com/robot/send?access_token={token}", content);
var responseContent = await response.Content.ReadAsStringAsync();
Log.Info($"钉钉={responseContent}");
// 检查响应是否成功
return response.IsSuccessStatusCode;
}
catch (Exception ex)
{
Console.WriteLine($"发送飞书消息失败: {ex.Message}");
return false;
}
}
[Serializable]
public class DingTalkMarkdownData
{
public string msgtype { get; set; } = "markdown";
public DingTalkMarkdownItem markdown { get; set; }
}
[Serializable]
public class DingTalkMarkdownItem
{
public string title { get; set; }
public string text { get; set; }
}
}