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
}