// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
namespace Admin.NET.Plugin.WorkWeixin;
///
/// 企业微信群聊会话服务 🧩
///
public class WorkWxAppChatService(WorkWxBaseService baseService) : ITransient
{
///
/// 创建群聊会话
///
///
///
public async Task CreateChat(CreateChatWorkWxInput input)
{
return await baseService.SendAsync(input);
}
///
/// 修改群聊会话
///
///
///
public async Task UpdateChat(UpdateChatWorkWxInput input)
{
return await baseService.SendAsync(input);
}
///
/// 推送纯文本消息
///
/// 群聊Id
/// 内容
/// 安全标识
///
public async Task SendText(string chatId, string content, int? safe = null)
{
return await baseService.SendAsync(AppChatMessageFactory.CreateTextMessage(chatId, content, safe));
}
///
/// 推送文本卡片消息
///
/// 群聊Id
/// 标题
/// 内容
/// 跳转链接
/// 按钮文本
/// 安全标识
///
public async Task SendTextCard(string chatId, string title, string description, string url, string btnTxt = null, int? safe = null)
{
return await baseService.SendAsync(AppChatMessageFactory.CreateTextCardMessage(chatId, title, description, url, btnTxt, safe));
}
///
/// 推送Markdown消息
///
/// 群聊Id
/// 内容
///
public async Task SendMarkdown(string chatId, string content)
{
return await baseService.SendAsync(AppChatMessageFactory.CreateMarkdownMessage(chatId, content));
}
///
/// 推送图片消息
///
/// 群聊Id
/// 媒体文件ID
/// 安全标识
///
public async Task SendImage(string chatId, string mediaId, int? safe = null)
{
return await baseService.SendAsync(AppChatMessageFactory.CreateImageMessage(chatId, mediaId, safe));
}
///
/// 推送语音消息
///
/// 群聊Id
/// 媒体文件ID
///
public async Task SendVoice(string chatId, string mediaId)
{
return await baseService.SendAsync(AppChatMessageFactory.CreateVoiceMessage(chatId, mediaId));
}
///
/// 推送视频消息
///
/// 群聊Id
/// 媒体文件ID
/// 标题
/// 描述
/// 安全标识
///
public async Task SendVideo(string chatId, string mediaId, string title = null, string description = null, int? safe = null)
{
return await baseService.SendAsync(AppChatMessageFactory.CreateVideoMessage(chatId, mediaId, title, description, safe));
}
///
/// 推送文件消息
///
/// 群聊Id
/// 媒体文件ID
/// 安全标识
///
public async Task SendFile(string chatId, string mediaId, int? safe = null)
{
return await baseService.SendAsync(AppChatMessageFactory.CreateFileMessage(chatId, mediaId, safe));
}
}