using Newtonsoft.Json; using System; using System.Net.Http.Headers; using System.Net.Http; using UnityEngine; using UnityEngine.UI; using System.Threading.Tasks; using static OnChlickDrag; /// /// 设备-编辑 /// public class RedactDevice : MonoBehaviour { public Body mybody; public Root URlreturn; public Dropdown type; public Dropdown deviceType; public InputField deviceName; public InputField deviceCode; public Dropdown status; public Dropdown rackType; public Dropdown openFlag; #region 机柜的 public InputField machineModel; public InputField manufacturer; #endregion public Button save_bt; public void OnEnable() { if (type) type.value = mybody.type; if (deviceType) deviceType.value = mybody.deviceType != null ? int.Parse(mybody.deviceType) : 0; if (deviceName) deviceName.text = mybody.deviceName; if (deviceCode) deviceCode.text = mybody.deviceCode; if (machineModel) machineModel.text = mybody.machineModel; if (status) status.value = int.Parse(mybody.status); if (rackType) rackType.value = mybody.rackType != null ? int.Parse(mybody.rackType) : 0; if (openFlag) openFlag.value = mybody.openFlag != null ? int.Parse(mybody.openFlag) : 2; if (manufacturer) manufacturer.text = mybody.manufacturer; } private void Start() { save_bt.onClick.AddListener(async () => await saveJson()); } private void Update() { if (type) mybody.type = type.value; if (deviceType) mybody.deviceType = deviceType.value == 0 ? null : deviceType.value.ToString(); if (deviceName) mybody.deviceName = deviceName.text; if (deviceCode) mybody.deviceCode = deviceCode.text; if (machineModel) mybody.machineModel = machineModel.text; if (status) mybody.status = status.value.ToString(); if (rackType) mybody.rackType = rackType.value == 0 ? null : rackType.value.ToString(); if (openFlag) mybody.openFlag = openFlag.value == 2 ? null : openFlag.value.ToString(); if (manufacturer) mybody.manufacturer = manufacturer.text; } public async Task saveJson() { if (string.IsNullOrEmpty(mybody.id)) return; string json = JsonConvert.SerializeObject(mybody); Debug.Log(json); var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri(GameManager.Inst.Jk_URL.sb_bj), Headers = { { "X-Token", GameManager.Inst.token }, }, Content = new StringContent(json) { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); URlreturn = JsonConvert.DeserializeObject(body); Debug.Log(body); } } #region JSON [System.Serializable] public class Body { /// /// id /// public string id; /// /// 名称 /// public string deviceName; /// /// 类型:1-机柜;2-设备 /// public int type; /// /// 投运时间 /// public int operationTime; /// /// 是否启用:1-正常;0-禁用 /// public string status; /// /// 负责人 /// public string directorName; /// /// 联系电话 /// public string phone; /// /// 机柜型号 /// public string machineModel; /// /// 机柜位置 /// public string machinePosition; /// /// 编号 /// [Tooltip("编号")] public string deviceCode; /// /// 类型:1-机柜;2-设备 /// [Tooltip("类型:1-机柜;2-设备")] public string typeStr; /// /// 设备类型:1-机框;2-机槽;3-板卡 /// [Tooltip("设备类型:1-机框;2-机槽;3-板卡")] public string deviceType; /// /// 设备类型:1-机框;2-机槽;3-板卡 /// [Tooltip("设备类型:1-机框;2-机槽;3-板卡")] public string deviceTypeStr; /// /// 所属机柜id /// [Tooltip("所属机柜id")] public string rackId; /// /// 所属机框id /// [Tooltip("所属机框id")] public string shelfId; /// /// 所属机槽id /// [Tooltip("所属机槽id")] public string slotId; /// /// 设备位置 /// [Tooltip("设备位置")] public string devicePosition; /// /// /// [Tooltip("")] public string conDeviceName; /// /// 机柜类型:1-通信机柜;2-非通信机柜 /// [Tooltip("机柜类型:1-通信机柜;2-非通信机柜")] public string rackType; /// /// 柜门是否打开:1-开;0-关 /// [Tooltip("柜门是否打开:1-开;0-关")] public string openFlag; /// /// 模型编号 /// [Tooltip("模型编号")] public string modelNum; /// /// U位占用数量 /// [Tooltip("U位占用数量")] public string occupyNum; /// /// /// [Tooltip("")] public string residueNum; /// /// 生产厂家 /// [Tooltip("生产厂家")] public string manufacturer; /// /// 电源属性 /// [Tooltip("电源属性")] public string powerProperties; /// /// 维护单位 /// [Tooltip("维护单位")] public string maintenanceUnit; /// /// 机框高度 /// [Tooltip("机框高度")] public string machineFrameHigh; /// /// 机框宽度 /// [Tooltip("机框宽度")] public string machineFrameWide; /// /// 机框厚度 /// [Tooltip("机框厚度")] public string machineFrameThick; /// /// 插槽数量 /// [Tooltip("插槽数量")] public string slotNum; /// /// 插槽排列方式 /// [Tooltip("插槽排列方式")] public string slotSort; /// /// 安装方式 /// [Tooltip("安装方式")] public string installMethod; /// /// 所属机框 /// [Tooltip("所属机框")] public string affiliationFrame; /// /// 父插槽名称 /// [Tooltip("父插槽名称")] public string parentSlotName; /// /// 插槽类型 /// [Tooltip("插槽类型")] public string slotType; /// /// 占用状态 /// [Tooltip("占用状态")] public string occupyStatus; /// /// 所属机槽名称 /// [Tooltip("所属机槽名称")] public string affiliationSlot; /// /// 端口数量 /// [Tooltip("端口数量")] public string portNum; /// /// 板卡功能 /// [Tooltip("板卡功能")] public string cardFunction; /// /// 板卡类型 /// [Tooltip("板卡类型")] public string cardType; /// /// 运行状态 /// [Tooltip("运行状态")] public string runStatus; /// /// 备注 /// [Tooltip("备注")] public string remark; } [System.Serializable] public class Root { /// /// /// public string code; /// /// 反馈结果 /// public string message; /// /// 返回内容 /// public string data; /// /// /// public string serverTime; } #endregion }