241 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			241 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			C#
		
	
	
	
namespace LY.App.Device.Command
 | 
						||
{
 | 
						||
    public static class GraphCommand
 | 
						||
    {
 | 
						||
        /// <summary>
 | 
						||
        /// 获取打击状态
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string AttackStatus()
 | 
						||
        {
 | 
						||
            return @"{
 | 
						||
             widebandJammer {
 | 
						||
             band15
 | 
						||
             band24
 | 
						||
             band58
 | 
						||
             }
 | 
						||
            }";
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 获取无人机
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string GetFindTarget()
 | 
						||
        {
 | 
						||
            return @"{drone {
 | 
						||
              attack_bands,
 | 
						||
              attack_type,
 | 
						||
              attacking,
 | 
						||
              can_attack,
 | 
						||
              can_takeover,
 | 
						||
              created_time,
 | 
						||
              deleted_time,
 | 
						||
              description,
 | 
						||
              direction,
 | 
						||
              distance,
 | 
						||
              has_duplicate,
 | 
						||
              id,
 | 
						||
              initial_location {
 | 
						||
                lat
 | 
						||
                lng
 | 
						||
              },
 | 
						||
              jamming_conflicts,
 | 
						||
              lastseen,
 | 
						||
              latitude,
 | 
						||
              link_id,
 | 
						||
              localization {
 | 
						||
                lat
 | 
						||
                lng
 | 
						||
              },
 | 
						||
              longitude,
 | 
						||
              name,
 | 
						||
              height,
 | 
						||
              distance,
 | 
						||
              seen_sensor {
 | 
						||
                detected_freq_khz
 | 
						||
                noise_dbm
 | 
						||
                sensor_id
 | 
						||
                signal_dbm
 | 
						||
                snr_dB
 | 
						||
              },
 | 
						||
              state,
 | 
						||
              whitelisted
 | 
						||
            }}";
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 获取设备状态信息
 | 
						||
        /// </summary>
 | 
						||
        public static string GetDeveceStatusInfo()
 | 
						||
        {
 | 
						||
            return @"{
 | 
						||
                      devices{
 | 
						||
                        id
 | 
						||
                        config
 | 
						||
                        gps_fixed
 | 
						||
                        class
 | 
						||
                      }
 | 
						||
                    }";
 | 
						||
        }
 | 
						||
        public static string GetAdsb()
 | 
						||
        {
 | 
						||
 | 
						||
            return @"{
 | 
						||
  droneAdsB {
 | 
						||
    support
 | 
						||
    drone {
 | 
						||
      id
 | 
						||
      speed
 | 
						||
      height
 | 
						||
      latitude
 | 
						||
      longitude
 | 
						||
      yaw_angle
 | 
						||
      confirmed
 | 
						||
      registration
 | 
						||
      typecode
 | 
						||
      manufacturer
 | 
						||
      model
 | 
						||
      owner
 | 
						||
    }
 | 
						||
  }
 | 
						||
}";
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 获取传感器状态
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string GetSensorStatus()
 | 
						||
        {
 | 
						||
            return @"{sensor {
 | 
						||
              config,
 | 
						||
              faults,
 | 
						||
              id,
 | 
						||
              mac,
 | 
						||
              name,
 | 
						||
              sensor_status {
 | 
						||
                built_time
 | 
						||
                component_type
 | 
						||
                first_seen
 | 
						||
                git_hash
 | 
						||
                ip_address
 | 
						||
                last_seen
 | 
						||
                temperature
 | 
						||
                version
 | 
						||
              },
 | 
						||
              state,
 | 
						||
              ttl
 | 
						||
            }}";
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 白名单
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string GetWhitelist()
 | 
						||
        {
 | 
						||
            return @"{whitelist{dronetype,id}}";
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 系统能力查询
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string GetSystemCapability()
 | 
						||
        {
 | 
						||
            return @"{sysCapability}";
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 获取宽带打击的频段
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string widebanJammer()
 | 
						||
        {
 | 
						||
            return @"{widebandJammer{
 | 
						||
                                            band12
 | 
						||
                                            band14
 | 
						||
                                            band15
 | 
						||
                                            band18
 | 
						||
                                            band24
 | 
						||
                                            band4
 | 
						||
                                            band58
 | 
						||
                                            band9}}";
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 添加白名单
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="droneId"></param>
 | 
						||
        /// <param name="droneType"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string AddWhitelist(string droneId, string droneType)
 | 
						||
        {
 | 
						||
            return "mutation{addWhitelist(id:\"" + droneId + "\"\ndronetype:\"" + droneType + "\"\ntimerange:\"permanent,permanent\")}";
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 删除白名单
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="droneId"></param>
 | 
						||
        /// <param name="droneType"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string DeleteWhitelist(string droneId)
 | 
						||
        {
 | 
						||
            return "mutation{deleteWhitelist(id:\"" + droneId + "\")}";
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 精确打击,flse开始,true停止
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="isAttack"></param>
 | 
						||
        /// <param name="droneId"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string AccurateAttack(bool isAttack, string droneId)
 | 
						||
        {
 | 
						||
            string cmdstr = "mutation{ attack( cancel:true \n takeover:false \n id: \"" + droneId + "\"\n )}";
 | 
						||
            if (isAttack)
 | 
						||
            {
 | 
						||
                cmdstr = "mutation{ attack( cancel:false \n takeover:false \n id: \"" + droneId + "\"\n )}";
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                cmdstr = "mutation{ attack( cancel:true \n takeover:false \n id: \"" + droneId + "\"\n )}";
 | 
						||
            }
 | 
						||
            return cmdstr;
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 自动打击
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="isAuto"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string AutoAttack(bool isAuto)
 | 
						||
        {
 | 
						||
            string cmdstr = "mutation{ autoAttack(   on: " + isAuto + " \n  wbEnabled: false ) }";
 | 
						||
            if (isAuto)
 | 
						||
            {
 | 
						||
                cmdstr = "mutation{ autoAttack(   on:true \n   wbEnabled: false ) }";
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                cmdstr = "mutation{ autoAttack(   on:false \n   wbEnabled: false ) }";
 | 
						||
            }
 | 
						||
            return cmdstr.ToLower();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 宽带打击
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="band">15,24,58</param>
 | 
						||
        /// <param name="status">true,开启,false,关闭</param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static string WidebandAttack(string band, bool status)
 | 
						||
        {
 | 
						||
 | 
						||
            string cmdstr = "mutation{ wideband_attack( band: \"" + band + "\"\n wb_status:" + status + ")\n" +
 | 
						||
        "{band15\nband24\nband58\nband9}}";
 | 
						||
            return cmdstr.ToLower();
 | 
						||
        }
 | 
						||
    }
 | 
						||
}
 |