//向IM 用户添加好友 //先添加本地,再添加远程的,如果远程失败,删除本地的 private string AddFriend(HttpContext context) { string userid = context.Request["userid"] ?? ""; string friend_username = context.Request["friend_username"] ?? ""; string message = string.Empty; string usercode = string.Empty; 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(); bool addResult = userSvc.AddFriend(userid, friend_username, out usercode, out IMFriendID, out message); if (addResult) { int statusCode; var api = new EaseMobAPIHelper(); var data = api.AccountAddFriend(usercode, friend_username, out statusCode); if (statusCode == 200) { var emResult = JsonConvert.DeserializeObject <EaseMobResult>(data); if (!string.IsNullOrEmpty(emResult.error) || emResult.error == null) { return(ResultJson(ResultType.success, "添加好友成功", data)); } else { userSvc.DelFriend(IMFriendID, out message);//环信接口失败要删除好友关系 return(ResultJson(ResultType.error, "添加好友失败", emResult.error)); } } else { userSvc.DelFriend(IMFriendID, out message);//环信接口失败要删除好友关系 return(ResultJson(ResultType.error, "添加好友失败", data)); } } return(ResultJson(ResultType.error, message, "")); }