12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using LitJson;
- using System.Collections;
- using System.Collections.Generic;
- using System.Text;
- using UnityEngine;
- using UnityEngine.Networking;
- public class HttpsSendLog : MonoSingleton<HttpsSendLog>
- {
- private Queue<string> qSendLog;
- private float times;
- Dictionary<string, string> requestHeader = new Dictionary<string, string>(); // header
- void Awake()
- {
- //http header 的内容
- requestHeader.Add("Content-Type", "application/json");
- }
- private void Start()
- {
- qSendLog = new Queue<string>();
- times = 0;
- // SendLog("Error", "ceshi 11111111111");
-
- }
- public void SendLog(string tag,string message)
- {
- SendHttpsWriteLog sendHLog = new SendHttpsWriteLog();
- sendHLog.level = tag;
- sendHLog.tag = Application.productName;
- sendHLog.message = message;
- string json = JsonMapper.ToJson(sendHLog);
- qSendLog.Enqueue(json);
-
- }
- private void Update()
- {
- times += Time.deltaTime;
- if(times>1&&qSendLog.Count>0)
- {
- PostTest("", qSendLog.Dequeue());
- }
- }
- public void PostTest(string methodName, string jsonString)
- {
- StartCoroutine(PostRequestTest(methodName, jsonString));
- }
- private IEnumerator PostRequestTest(string methodName, string jsonString)
- {
- string url = "https://fat2.qulivr.com/mr-navigator/v1/unity/log";
- Debug.Log(url + jsonString);
- using (UnityWebRequest webRequest = new UnityWebRequest(url, "POST"))
- {
- byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
- webRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
- webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
- foreach (var v in requestHeader)
- {
- webRequest.SetRequestHeader(v.Key, v.Value);
- }
- yield return webRequest.SendWebRequest();
- if (webRequest.error!=null)
- {
- Debug.LogError(webRequest.error + "\n" + webRequest.downloadHandler.text + "\n" + methodName);
- //GameManager.Instance.text2.text = webRequest.error;
- }
- else
- {
- Debug.Log(webRequest.downloadHandler.text);
- }
- }
- }
- }
- public class SendHttpsWriteLog
- {
- public string level { get; set; }
- public string tag { get; set; }
- public string message { get; set; }
- }
|