Exemplo n.º 1
0
 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);
         }
     }
 }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
    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();
        }
    }
Exemplo n.º 5
0
 public WebPacketQueue(BaseWebRequest request)
 {
     Request = request;
 }