千呼万唤始出来!速云IM终于上线啦!
可能很多人会问什么是速云IM呢?点击https://zine.la/article/eb52236cfff941629cc5e50acf62ceba/即可了解
了解速云IM后,快速接入指南带你更进一步走入速云IM;
万变不离其宗,接入速云IM第一步——获取插件;
在nuget官网上搜索SpeedIM,并安装插件到您的项目当中,网址如下:https://www.nuget.org/packages/SpeedIM/
安装完以后就可以进行第二步——初始化速云IM的配置,在现有的系统登录代码执行成功后/或主窗体打开时,执行以下代码
//引入命名空间,用于支持扩展函数
using SpeedIM;
//登录完成后,启动im服务
SpeedIM.TIM.IM im = new SpeedIM.TIM.IM(); //构建im实例
im.AppKey = "***"; //请填入从腾讯im获取到的AppKey
im.SDKAppID = ***; //请填入从腾讯im获取到的SDKAppID
im.Administrator = "administrator"; //用于配置管理员账号,获取所有用户信息时,需要用到该属性
im.Users = new List<string> { "user1", "user2", "user4", "..." }; //此处需要填入系统中所有的用户,用于获取联系人列表
im.UserID = "kiki"; //当前的登录用户,建议直接使用你系统的登录账号
im.Run(); //启动im服务
接下来进行第三步——适当公开IM的入口
1、在任务栏中放置一个通知图标,类似微信、QQ的效果。收到消息时,图标会闪烁。
2、在你的系统中内置一个通知的控件,通过控件文本、颜色变化、闪烁提示用户。
3、看各位自行发挥...
速云IM接入大概就是这些过程,是不是很简单呢,以下是我们为客户提供的关于更多速云IM相关描述:
一、如何在任务中放置一个通知图标?
在启动IM时添加以下代码
System.Drawing.Icon icon = ...; // 通知的图标
im.ShowNotification(icon); // 在任务栏显示通知图标
//或
System.Drawing.Icon icon = ...; // 通知的图标
string text = "my app"; // 通知图标的文本描述
im.ShowNotification(icon, text); // 在任务栏显示通知图标
二、模板的点击事件,我要怎么接收?
在启动IM时添加以下代码
im.RegisterWeiXinItemClick((command) =>
{
// 此处的command参数,是消息体传过来的参数,可以根据这个参数来判定用户的行为。
});
三、如何使用代码发送消息?
这要看你发消息的主体,
如果给用户发消息,第二个参数填入SpeedIM.Foundation.ConversationType.C2C。
如果给群组发消息,第二个参数填入SpeedIM.Foundation.ConversationType.Group。
以下示例只介绍给用户发消息的例子,可根据需求自行替换。
// 发送文本消息
SpeedIM.Host.Instance.SendMsg("user id", SpeedIM.Foundation.ConversationType.C2C, "您需要发送的文本内容");
// 发送图像消息
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "图像文件|*.bmp;*.jpg;*.jpeg;*.gif;*.png";
if (dialog.ShowDialog() == DialogResult.OK)
{
System.IO.FileInfo info = new System.IO.FileInfo(dialog.FileName);
if (info.Length == 0)
MessageBox.Show("不支持0kb大小的图片", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
SpeedIM.Host.Instance.SendPic("user id", SpeedIM.Foundation.ConversationType.C2C, dialog.FileName);
}
// 发送文件消息
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "文件|*.*";
if (dialog.ShowDialog() == DialogResult.OK)
{
System.IO.FileInfo info = new System.IO.FileInfo(dialog.FileName);
if (info.Length == 0)
MessageBox.Show("不支持0kb大小的文件", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
SpeedIM.Host.Instance.SendFile("user id", SpeedIM.Foundation.ConversationType.C2C, dialog.FileName);
}
// 发送图文消息
var msg = new ImageNotificationTemplate();
msg.Uri = "http://5b0988e595225.cdn.sohucs.com/images/20190711/b0723e5990fb4cdb876562972ab54ded.jpeg"; //图片的uri地址
msg.Text = "暑假来啦,针对线下途径学生招生的工作要抓紧进行。"; // 通知消息的文本描述
msg.Command = "传入的参数"; //点击消息时,用于接收的参数值。
msg.CommandText = "了解详情"; // 消息的命令文本
SpeedIM.Host.Instance.SendTemplate("user id", SpeedIM.Foundation.ConversationType.C2C, msg);
// 发送类微信通知消息
var msg = new SpeedIM.WinUI.WeiXinTemplate();
msg.Title = "订单创建提醒"; // 模板标题
//模板的键值对
msg.Data["订单编号"] = "DD20041199";
msg.Data["客户名称"] = "xxx有限公司";
msg.Data["订单金额"] = "20,000";
msg.Remark = "麻烦尽快审批呀!!!"; //备注消息
msg.Command = new Newtonsoft.Json.Linq.JObject() { ["model"] = "order", ["primaryID"] = msg.Data["订单编号"] }; //点击消息时,用于接收的参数值(根据需要,自行组织参数)。
msg.CommandText = "查看订单"; // 消息的命令文本
SpeedIM.Host.Instance.SendTemplate("user id", SpeedIM.Foundation.ConversationType.C2C, msg);
四、如何通过代码打开聊天窗口?
im.Show();
// 或
SpeedIM.Host.Show();
五、如何通过代码隐藏聊天窗口?
im.Hide();
// 或
SpeedIM.Host.Hide();
以上就是速云相关介绍啦,接入速云IM,办公更快捷!更多速云IM相关信息可关注后续更新。