FreeIM/ImHelper.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
/// <summary>
/// im 核心类 ImClient 实现的静态代理类
/// </summary>
public static class ImHelper
{
static ImClient _instance;
public static ImClient Instance => _instance ?? throw new Exception("使用前请初始化 ImHelper.Initialization(...);");
/// <summary>
/// 初始化 ImHelper
/// </summary>
/// <param name="options"></param>
public static void Initialization(ImClientOptions options)
{
_instance = new ImClient(options);
}
/// <summary>
/// ImServer 连接前的负载、授权,返回 ws 目标地址,使用该地址连接 websocket 服务端
/// </summary>
/// <param name="clientId">客户端id</param>
/// <param name="clientMetaData">客户端相关信息,比如ip</param>
/// <returns>websocket 地址:ws://xxxx/ws?token=xxx</returns>
public static string PrevConnectServer(Guid clientId, string clientMetaData) => Instance.PrevConnectServer(clientId, clientMetaData);
/// <summary>
/// 向指定的多个客户端id发送消息
/// </summary>
/// <param name="senderClientId">发送者的客户端id</param>
/// <param name="receiveClientId">接收者的客户端id</param>
/// <param name="message">消息</param>
/// <param name="receipt">是否回执</param>
public static void SendMessage(Guid senderClientId, IEnumerable<Guid> receiveClientId, object message, bool receipt = false) =>
Instance.SendMessage(senderClientId, receiveClientId, message, receipt);
/// <summary>
/// 获取所在线客户端id
/// </summary>
/// <returns></returns>
public static IEnumerable<Guid> GetClientListByOnline() => Instance.GetClientListByOnline();
/// <summary>
/// 判断客户端是否在线
/// </summary>
/// <param name="clientId"></param>
/// <returns></returns>
public static bool HasOnline(Guid clientId) => Instance.HasOnline(clientId);
/// <summary>
/// 事件订阅
/// </summary>
/// <param name="online">上线</param>
/// <param name="offline">下线</param>
public static void EventBus(
Action<(Guid clientId, string clientMetaData)> online,
Action<(Guid clientId, string clientMetaData)> offline) => Instance.EventBus(online, offline);
后面还有 54 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
