Пример #1
0
        //解除 IM 用户的好友关系
        //先删除远程的,再删除本地的
        private string DelFriend(HttpContext context)
        {
            string userid          = context.Request["userid"] ?? "";
            string friend_username = context.Request["friend_username"] ?? "";
            string message         = string.Empty;
            string usercode;
            long   IMFriendID = 0;

            if (string.IsNullOrEmpty(userid))
            {
                return(ResultJson(ResultType.error, "要删除好友的用户ID不能为空", ""));
            }
            if (string.IsNullOrEmpty(friend_username))
            {
                return(ResultJson(ResultType.error, "被删除好友的用户名不能为空", ""));
            }

            UserService userSvc = new UserService();

            IMFriendID = userSvc.GetFriendID(userid, friend_username, out usercode, out message);
            if (IMFriendID == 0)
            {
                return(ResultJson(ResultType.error, message, ""));
            }

            int statusCode;
            var api  = new EaseMobAPIHelper();
            var data = api.AccountDelFriend(usercode, friend_username, out statusCode);

            if (statusCode == 200)
            {
                LogHelper.SaveLog("AccountDelFriend:" + data, "IM");
                var emResult = JsonConvert.DeserializeObject <EaseMobResult>(data);
                if (!string.IsNullOrEmpty(emResult.error) || emResult.error == null)
                {
                    userSvc.DelFriend(IMFriendID, out message);//删除本地好友关系
                    return(ResultJson(ResultType.success, "删除好友成功", data));
                }
                else
                {
                    return(ResultJson(ResultType.error, "删除好友失败", emResult.error));
                }
            }
            else
            {
                return(ResultJson(ResultType.error, "删除好友失败", data));
            }
        }