using Newtonsoft.Json.Linq; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using RuralPower; using Newtonsoft.Json; public class Request { public static RuralPowerAPI api = new RuralPowerAPI(); /// /// 上传选择的台区数据 /// /// public static void SendAreaData(string data) { string UserId = ScenesRecorder.user.user_id; string ExamId = ScenesRecorder.user.ExamId; string url = ScenesRecorder._Ip; string result = api.SelectPlatformArea(url, ExamId, UserId, data); Debug.Log("发送台区数据:" + data); } /// /// 上传围栏数据 /// /// public static void SendEnsureData(string reason) { string UserId = ScenesRecorder.user.user_id; string ExamId = ScenesRecorder.user.ExamId; string url = ScenesRecorder._Ip; string result = api.UpdateEnclosure(url, ExamId, UserId); Debug.Log("接受围栏数据:" + result); } /// /// 上传场景小物体数据 /// /// public static void UpLoadSmallPartsMsg(RestoreSceneMsg rsm) { string UserId = ScenesRecorder.user.user_id; string ExamId = ScenesRecorder.user.ExamId; string url = ScenesRecorder._Ip; string msg = JsonConvert.SerializeObject(rsm); string result = api.UpdateRestoreSceneMsg(url, UserId, ExamId, msg); Debug.Log("接收场景小物体数据:" + result); } /// /// 上传未验电数据 /// /// public static void SendElectricityData(string data) { string UserId = ScenesRecorder.user.user_id; string ExamId = ScenesRecorder.user.ExamId; string url = ScenesRecorder._Ip; string result = api.UpdateElectricity(url, ExamId, UserId, data); Debug.Log("发送未验电数据:" + result); } /// /// 上传巡检阶段带电爬杆数据 /// /// public static void SendClimbPoleWithElectricity() { string UserId = ScenesRecorder.user.user_id; string ExamId = ScenesRecorder.user.ExamId; string url = ScenesRecorder._Ip; string result = api.UpdateClimbrod(url, ExamId, UserId); Debug.Log("发送巡检爬杆事故:" + result); } /// /// 上传带电插拔熔芯否决项 /// /// public static void SendOperaFuseInElectric() { string UserId = ScenesRecorder.user.user_id; string ExamId = ScenesRecorder.user.ExamId; string url = ScenesRecorder._Ip; string result = api.UpdateFusibleCore(url, ExamId, UserId); Debug.Log("未分闸状态取熔芯:" + result); } /// /// 上传断路器数据 /// /// public static void SendCircuitBreakerData(AttrData data) { data.UserId = ScenesRecorder.user.user_id; data.ExamId = ScenesRecorder.user.ExamId; string msg = JsonConvert.SerializeObject(data); string url = ScenesRecorder._Ip; string result = ""; if (ScenesRecorder.IsOn_SiteInspection) { result = "巡检" + api.AddUserFaultRecord(url, msg); } else { result = api.AddFaultOperation(url, msg); } Debug.Log("发送断路器数据:"+msg); Debug.Log("接受断路器数据:"+ result); } /// /// 上传普通故障处理结果 /// /// public static void SendFaultData(AttrData data/*DefectDetails details*/,string faultName) { if (data == null) return; data.UserId = ScenesRecorder.user.user_id; data.ExamId = ScenesRecorder.user.ExamId; string msg = JsonConvert.SerializeObject(data); string url = ScenesRecorder._Ip; string result = api.AddFaultOperation(url, msg); Debug.Log("发送故障处理数据:" + msg); Debug.Log("接受故障处理数据:" + result); } /// /// 结束故障处理 /// /// public static void StopFault() { string UserId = ScenesRecorder.user.user_id; string ExamId = ScenesRecorder.user.ExamId; string url = ScenesRecorder._Ip; string result = api.EndFaultOperation(url, ExamId, UserId); Debug.Log("结束故障记录:" + result); } /// /// 发送选择了什么工器具 /// /// /// public static bool SendToolsData(List toolDict) { //foreach (var item in toolDict) //{ // //Debug.Log("上传工具数据:" + item.ToolName + " " + item.Quantity); //} add_user_tool_request data = new add_user_tool_request(); data.UserId = ScenesRecorder.user.user_id; data.ExamId = ScenesRecorder.user.ExamId; if (ScenesRecorder.OperationPhase.Equals(OperationPhase.On_SiteInspection)) { data.Purpose = "巡线"; } else { data.Purpose = "排故"; } data.Tool = toolDict; // 发送 string url = ScenesRecorder._Ip; string content = JsonConvert.SerializeObject(data); Debug.Log(content); string result = api.AddUserTool(url, content); if (string.IsNullOrEmpty(result)) { return false; } else { return true; } } /// /// 上传操作票选择结果 /// /// public static void SendOperationTickData(List tmpList, string type) { string msg = JsonConvert.SerializeObject( //new //{ // ExamId = ScenesRecorder.user.ExamId,ceshi // Type = type, // UserId = ScenesRecorder.user.user_id, tmpList //} ); string result = api.WriteTicket(ScenesRecorder._Ip, ScenesRecorder.user.ExamId, ScenesRecorder.user.user_id, type, msg); Debug.Log("已上传:操作票:" + msg + " 接口:" + result); } /// /// 上传操作票操作结果 /// /// public static void SendOperationTickHandleData(OperationTicketStep tmp) { string url = ScenesRecorder._Ip; string ExamId = ScenesRecorder.user.ExamId; string UserId = ScenesRecorder.user.user_id; string result = api.WriteTicketProc(url, ExamId, UserId, tmp.Type, tmp.OperationTicketId, tmp.Score, tmp.ScoreReason); Debug.Log("操作步骤得分:" + tmp.Type.ToString() + " " + tmp.Score); Debug.Log("已上传处理操作票" + tmp + "结果" + result); } /// /// 上传操作票操作处理完成 /// /// public static void SendOperationTickHandleFinish(string type) { string url = ScenesRecorder._Ip; string ExamId = ScenesRecorder.user.ExamId; string UserId = ScenesRecorder.user.user_id; string result = api.StopTicketProc(url, ExamId, UserId, type); Debug.Log("已上传处理操作票处理完成" + "结果" + type + result); } public static IEnumerator Get(string url, System.Action action) { UnityWebRequest webRequest = UnityWebRequest.Get(url); yield return webRequest.SendWebRequest(); if (webRequest.result== UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError) { Debug.Log(webRequest.error); action.Invoke(false, string.Empty); } else { //string msg = webRequest.downloadHandler.text; //Debug.Log(msg); //JObject JO = JObject.Parse(msg); //if (JO["state"].ToString().Equals("true") || JO["state"].ToString().Equals("True")) //{ // action.Invoke(true, JO["data"].ToString()); //} //else //{ // action.Invoke(false, string.Empty); //} } } public static IEnumerator Post(string url, Dictionary keyValuePairs, System.Action action) { WWWForm form = new WWWForm(); foreach (var item in keyValuePairs) { form.AddField(item.Key, item.Value); } UnityWebRequest webRequest = UnityWebRequest.Post(url, form); yield return webRequest.SendWebRequest(); if (webRequest.result == UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError) { Debug.Log(webRequest.error); action.Invoke(false, string.Empty); } else { string msg = webRequest.downloadHandler.text; Debug.Log(msg); JObject JO = JObject.Parse(msg); if (JO["state"].ToString().Equals("true") || JO["state"].ToString().Equals("True")) { action.Invoke(true, JO["data"].ToString()); } else { action.Invoke(false, string.Empty); } } } public static IEnumerator Post_Video(string url, Dictionary keyValuePairs, byte[] b, System.Action action) { WWWForm form = new WWWForm(); foreach (var item in keyValuePairs) { form.AddField(item.Key, item.Value); } form.AddBinaryData("Files", b,"test.mp4"); UnityWebRequest webRequest = UnityWebRequest.Post(url, form); Debug.Log("上传了吗"); yield return webRequest.SendWebRequest(); if (webRequest.result == UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError) { Debug.Log(webRequest.error); action.Invoke(false, string.Empty); } else { string msg = webRequest.downloadHandler.text; Debug.Log(msg); JObject JO = JObject.Parse(msg); if (JO["state"].ToString().Equals("true") || JO["state"].ToString().Equals("True")) { action.Invoke(true, JO["data"].ToString()); } else { action.Invoke(false, string.Empty); } } } }