public void Register(BaseWebRequest webRequest) { if (!webrequests.ContainsKey(webRequest.webRequestType)) { webrequests[webRequest.webRequestType] = new List <BaseWebRequest>(); webrequests[webRequest.webRequestType].Add(webRequest); } else { if (!webrequests[webRequest.webRequestType].Contains(webRequest)) { webrequests[webRequest.webRequestType].Add(webRequest); } } }
public BaseWebRequest GetWebRequest(WebRequestType type, string name) { BaseWebRequest webRequest = null; List <BaseWebRequest> list; if (webrequests.TryGetValue(type, out list)) { foreach (BaseWebRequest b in list) { if (b.name == name) { webRequest = b; } } } return(webRequest); }
/// <summary> /// 构造Web请求 /// </summary> /// <param name="serviceUrl">接口地址</param> /// <param name="requestData">请求数据(json字符串)</param> /// <param name="isNeedAuth">是否需要登录验证</param> /// <returns></returns> public static string CreateRequest(string serviceUrl, string requestData, bool isNeedAuth) { requestData = string.IsNullOrEmpty(requestData) ? "whatever" : requestData; string retStr = string.Empty; BaseWebRequest request = new BaseWebRequest(); HttpContentDTO httpDto = new HttpContentDTO() { ServerUrl = serviceUrl, RequestData = Encoding.GetEncoding("UTF-8").GetBytes(requestData) }; if (isNeedAuth) { retStr = request.BaseHttpWebRequestWithAuth(httpDto); } else { retStr = request.BaseHttpWebRequest(httpDto); } return(retStr); }
private IEnumerator SendWebRequest(WebRequestType type, string name) { BaseWebRequest webRequestInfo = GetWebRequest(type, name); using (UnityWebRequest unityWeb = UnityWebRequest.Get(webRequestInfo.uri)) { webRequestInfo.OnPreWebRequest(unityWeb);//开始加载 UnityWebRequestAsyncOperation async = unityWeb.SendWebRequest(); webRequestInfo.OnUpdateWebRequest(async); yield return(async); if (!unityWeb.isHttpError && !unityWeb.isNetworkError)//加载结束 { webRequestInfo.OnFinished(unityWeb.downloadHandler); } else { Debug.Log(unityWeb.error); } unityWeb.Dispose(); } }
public WebPacketQueue(BaseWebRequest request) { Request = request; }