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); } /// /// 通用消息发送方法 /// /// /// 消息对象 /// private static async Task 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; } } }