Exemple #1
0
        /// <summary>
        /// 删除好友
        /// </summary>
        /// <param name="accid">对方账号</param>
        /// <param name="deleteAlias">是否删除好友备注</param>
        /// <param name="cb">操作结果回调</param>
        public static void DeleteFriend(string accid, bool deleteAlias, FriendOperationDelegate cb)
        {
            IntPtr ptr     = DelegateConverter.ConvertToIntPtr(cb);
            string jsonExt = Newtonsoft.Json.JsonConvert.SerializeObject(new { delete_alias = deleteAlias });

            FriendNativeMethods.nim_friend_delete(accid, jsonExt, DeleteFriendDelegate, ptr);
        }
Exemple #2
0
        /// <summary>
        /// 更新好友资料
        /// </summary>
        /// <param name="profile"></param>
        /// <param name="cb"></param>
        public static void UpdateFriendInfo(NIMFriendProfile profile, FriendOperationDelegate cb)
        {
            if (profile == null || string.IsNullOrEmpty(profile.AccountId))
            {
                throw new ArgumentException("profile or accountid can't be null");
            }
            string jsonParam = profile.Serialize();

            FriendNativeMethods.nim_friend_update(jsonParam, null, cb, IntPtr.Zero);
        }
        /// <summary>
        ///     更新好友资料
        /// </summary>
        /// <param name="profile"></param>
        /// <param name="cb"></param>
        public static void UpdateFriendInfo(NIMFriendProfile profile, FriendOperationDelegate cb)
        {
            if (profile == null || string.IsNullOrEmpty(profile.AccountId))
            {
                throw new ArgumentException("profile or accountid can't be null");
            }
            var    jsonParam = profile.Serialize();
            IntPtr ptr       = DelegateConverter.ConvertToIntPtr(cb);

            FriendNativeMethods.nim_friend_update(jsonParam, null, UpdateFriendDelegate, ptr);
        }
Exemple #4
0
 /// <summary>
 /// 删除好友
 /// </summary>
 /// <param name="accid">对方账号</param>
 /// <param name="cb">操作结果回调</param>
 public static void DeleteFriend(string accid, FriendOperationDelegate cb)
 {
     FriendNativeMethods.nim_friend_delete(accid, null, cb, IntPtr.Zero);
 }
Exemple #5
0
        /// <summary>
        /// 获取缓存好友信息
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="cb"></param>
        public static void GetFriendProfile(string accountId, GetFriendProfileResultDelegate cb)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb);

            FriendNativeMethods.nim_friend_get_profile(accountId, null, GetFriendProfileCompleted, ptr);
        }
Exemple #6
0
 /// <summary>
 /// 添加、验证好友
 /// </summary>
 /// <param name="accid">对方账号</param>
 /// <param name="verifyType">验证类型</param>
 /// <param name="msg"></param>
 /// <param name="cb">操作结果回调</param>
 public static void ProcessFriendRequest(string accid, NIMVerifyType verifyType, string msg, FriendOperationDelegate cb)
 {
     FriendNativeMethods.nim_friend_request(accid, verifyType, msg, null, cb, IntPtr.Zero);
 }
Exemple #7
0
 /// <summary>
 /// 统一注册好友变更通知回调函数(多端同步添加、删除、更新,好友列表同步)
 /// </summary>
 private static void RegFriendInfoChangedCb()
 {
     FriendNativeMethods.nim_friend_reg_changed_cb("", FriendInfoChangedHandler, IntPtr.Zero);
 }
Exemple #8
0
        /// <summary>
        /// 获取缓存好友列表
        /// </summary>
        /// <param name="cb"></param>
        public static void GetFriendsList(GetFriendsListResultDelegate cb)
        {
            IntPtr ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb);

            FriendNativeMethods.nim_friend_get_list("", OnGetFriendListCompleted, ptr);
        }
        /// <summary>
        ///     添加、验证好友
        /// </summary>
        /// <param name="accid">对方账号</param>
        /// <param name="verifyType">验证类型</param>
        /// <param name="msg"></param>
        /// <param name="cb">操作结果回调</param>
        public static void ProcessFriendRequest(string accid, NIMVerifyType verifyType, string msg, FriendOperationDelegate cb)
        {
            var ptr = DelegateConverter.ConvertToIntPtr(cb);

            FriendNativeMethods.nim_friend_request(accid, verifyType, msg, null, ProcessFriendRequestDelegate, ptr);
        }
 /// <summary>
 /// 在本地缓存数据中查询accid是否为自己的好友
 /// </summary>
 /// <param name="accid">好友id</param>
 /// <returns>当正向和反向好友关系都为好友时返回true</returns>
 public static bool IsActiveFriend(string accid)
 {
     return(FriendNativeMethods.nim_friend_query_friendship_block(accid, null));
 }
        /// <summary>
        ///     删除好友
        /// </summary>
        /// <param name="accid">对方账号</param>
        /// <param name="cb">操作结果回调</param>
        public static void DeleteFriend(string accid, FriendOperationDelegate cb)
        {
            IntPtr ptr = DelegateConverter.ConvertToIntPtr(cb);

            FriendNativeMethods.nim_friend_delete(accid, null, DeleteFriendDelegate, ptr);
        }