/// <summary> /// 删除聊天室成员 /// </summary> /// <returns></returns> public ActionResult DelChatRoomUser() { try { NameValueCollection parmas = WorkContext.postparms; string hxurl = root + "/chatrooms/" + parmas["chatroomid"] + "/users/" + parmas["mobile"]; MD_AccessTokenResult token = Lottery.GetAccessToken(); string chats = WebHelper.GetHXRequestData(hxurl, "delete", token.SuccessResult.access_token, true, ""); if (chats.Contains("error")) { ErrorMsg errm = JsonConvert.DeserializeObject <ErrorMsg>(chats); return(APIResult("error", errm.error_description)); } else { MD_HXRoomData room = JsonConvert.DeserializeObject <MD_HXRoomData>(chats); if (room.data[0].result) { return(APIResult("success", "删除成功")); } } return(APIResult("error", "删除失败")); } catch (Exception ex) { return(APIResult("error", "删除失败")); } }
/// <summary> /// 删除聊天室(MVC 不支持Delete) /// </summary> /// <returns></returns> public ActionResult DelChatRoom() { try { string hxurl = root + "/chatrooms"; MD_AccessTokenResult token = Lottery.GetAccessToken(); //获取聊天室信息 hxurl += "?pagenum=1&pagesize=24"; string chats = WebHelper.GetHXRequestData(hxurl, "get", token.SuccessResult.access_token, true, ""); MD_HXRoomData room = JsonConvert.DeserializeObject <MD_HXRoomData>(chats); foreach (MD_RoomData rd in room.data) { hxurl = root + "/chatrooms/" + rd.id.ToString(); chats = WebHelper.GetHXRequestData(hxurl, "delete", token.SuccessResult.access_token, true, ""); room = JsonConvert.DeserializeObject <MD_HXRoomData>(chats); } return(APIResult("success", "删除成功", true)); } catch (Exception ex) { return(APIResult("error", "删除失败", true)); } }
/// <summary> /// 发送消息 /// </summary> /// <returns></returns> private ActionResult SendMsgs() { try { string hxurl = root + "/messages"; MD_AccessTokenResult token = Lottery.GetAccessToken(); //获取聊天室信息 string ptdata = "{\"target_type\":\"chatrooms\",\"target\":[\"275831248121758236\"], \"msg\":{\"type\":\"txt\",\"msg\":\"hello from rest\"},\"from\":\"8001\"}"; string chats = WebHelper.GetHXRequestData(hxurl, "post", token.SuccessResult.access_token, true, ptdata); MD_HXRoomData room = JsonConvert.DeserializeObject <MD_HXRoomData>(chats); string data = JsonConvert.SerializeObject(room.data.OrderBy(x => x.id)); return(APIResult("success", data, true)); } catch (Exception ex) { return(APIResult("error", "获取失败", true)); } }
/// <summary> /// 获取聊天室 /// </summary> /// <returns></returns> public List <MD_RoomData> GetChatRoomList() { List <MD_RoomData> listroom = MemoryCacheHelper.GetCacheItem <List <MD_RoomData> >("allchatrooms", delegate() { List <MD_RoomData> list = new List <MD_RoomData>(); string hxurl = "https://a1.easemob.com/1117170524115941/lk28/chatrooms"; MD_AccessTokenResult token = Lottery.GetAccessToken(); //获取聊天室信息 hxurl += "?pagenum=1&pagesize=24"; string chats = WebHelper.GetHXRequestData(hxurl, "get", token.SuccessResult.access_token, true, ""); MD_HXRoomData room = JsonConvert.DeserializeObject <MD_HXRoomData>(chats); list = room.data; return(list); }, new TimeSpan(24, 0, 0)//过期 ); return(listroom); }
/// <summary> /// 获取聊天室 /// </summary> /// <returns></returns> public ActionResult GetChatRoom() { try { string hxurl = root + "/chatrooms"; MD_AccessTokenResult token = Lottery.GetAccessToken(); //获取聊天室信息 hxurl += "?pagenum=1&pagesize=24"; string chats = WebHelper.GetHXRequestData(hxurl, "get", token.SuccessResult.access_token, true, ""); MD_HXRoomData room = JsonConvert.DeserializeObject <MD_HXRoomData>(chats); JsonSerializerSettings jsetting = new JsonSerializerSettings(); jsetting.ContractResolver = new JsonLimitOutPut(new string[] { "id", "name", "owner", "affiliations_count" }, true); string data = JsonConvert.SerializeObject(room.data.OrderBy(x => x.id), jsetting); return(APIResult("success", data, true)); } catch (Exception ex) { return(APIResult("success", "获取失败", true)); } }
/// <summary> /// 房间在线人数 /// </summary> /// <returns></returns> public ActionResult RoomOnline() { try { NameValueCollection parmas = WorkContext.postparms; string hxurl = root + "/chatrooms"; MD_AccessTokenResult token = Lottery.GetAccessToken(); string type = parmas["type"]; if (type == "10") { type = "bj"; } else if (type == "11") { type = "cakeno"; } //获取聊天室信息 hxurl += "?pagenum=1&pagesize=24"; string chats = WebHelper.GetHXRequestData(hxurl, "get", token.SuccessResult.access_token, true, ""); MD_HXRoomData room = JsonConvert.DeserializeObject <MD_HXRoomData>(chats); List <MD_RoomData> dtlist = room.data.FindAll(x => x.name.Contains(type)); string[] rooms = new string[] { "fir", "sec", "thr" }; StringBuilder strb = new StringBuilder(); int rmtotal = 0; strb.Append("["); foreach (string rmstr in rooms) { strb.Append("{"); List <MD_RoomData> items = dtlist.FindAll(x => x.name.Contains(rmstr)); for (int i = 1; i < 5; i++) { MD_RoomData rmdt = items.OrderBy(x => x.id).First(x => x.name.Contains("vip" + i.ToString())); strb.Append("\"vip" + i.ToString() + "\":" + rmdt.affiliations_count + ","); rmtotal += rmdt.affiliations_count; } if (strb.Length > 1) { strb = strb.Remove(strb.Length - 1, 1); } strb.Append(",\"rmtotal\":" + rmtotal.ToString() + "},"); rmtotal = 0; } if (strb.Length > 1) { strb = strb.Remove(strb.Length - 1, 1).Append("]"); } //JsonSerializerSettings jsetting = new JsonSerializerSettings(); //string data = JsonConvert.SerializeObject(strb.ToString()).ToLower(); return(APIResult("success", strb.ToString(), true)); } catch (Exception ex) { return(APIResult("error", "获取失败")); } }