美文网首页
服务调用说明2017.04.05

服务调用说明2017.04.05

作者: 西十三_0935 | 来源:发表于2017-04-05 09:37 被阅读0次

    服务角色职能

    角色 车道代理 车道监控 浏览器
    作业 接收或修改服务缓存 修改发送至指定车道 <=
    车道 接收或修改服务缓存 修改发送至指定车道 <=
    指令 接收 发送至指定车道 <=
    车道列表缓存 / 接收 <=

    流程逻辑

    Paste_Image.png

    车道代理接入

    接收部分

    监听获取lane
    hub.On("reciveLane",data)


    data数据格式

    #js
    data:
    {
      lane_code:string,
      send_time:string,
      lane:object
    }
    #csharp
      public class Pf_Message_lane_Object
        {
            public string lane_code { get; set; }
            public string send_time { get; set; }
            public object lane { get; set; }
        }
    
    

    监听获取directive
    hub.On("reciveDirective",data)


    data数据格式

    #js
    data
    {
     directive_id:string,
     lane_code:string,
     lane_name:string,
     directive_code:string,
     parameters : string [],
     send_time: string
    }
    #csharp
      public class pf_Message_Directive
        {
            public string directive_id { get; set; }
            public string lane_code { get; set; }
            public string lane_name { get; set; }
            public string directive_code { get; set; }
            public string[] parameters { get; set; }
            public string send_time { get; set; }
        }
    

    监听获取queue
    hub.On("reciveQueue",data)


    data数据格式

    #js
    data
    {
      lane_code:string,
      lane_name:string,
      action: string ,
      create_time: string,
      send_time : string,
      queue: object
    }
    #csharp
    
     public class Pf_Messge_Queue_Object
        {
            public string lane_code { get; set; }
            public string queue_id { get; set; }
            public string action { get; set; }
            public string create_time { get; set; }
            public string send_time { get; set; }
            public object queue { get; set; }
    
        }
    


    发送部分

    修改消息服务中的缓存
    hub.Invoke("Change",lane_code,message)
    message数据格式

      #js 
     message
     {
      message_type:string 
      message_content: object
     }
    #csharp
     public class Pf_Message_Obj<T> where T :new()
        {
          
            /// <summary>
            /// 消息类型 指令或状态或作业
            /// </summary>
            public string message_type { get; set; }
            /// <summary>
            /// 消息内容
            /// </summary>
            public object message_content { get; set; }
    
            public Pf_Message_Obj(string type, T content)
            {
                message_type = type;
                message_content = content;
    
            }
    
        }
    

    车道监控接入

    接收部分

    获取车道缓存列表

    Csharp

    Hub.On("GetLaneList",data)

    JS

    proxy.client.GetLaneList=function(data){ //处理data }

    #js 
    
       data:[
               object,
               object,
               object
             ]
    
    #cahsrp
     List<Lane> lanes = new List<Lane>()
       public class Lane
        {
            public string lane_code { get; set; }
            public string lane_name { get; set; }
            public string country_code { get; set; }
            public string city_code { get; set; }
            public string terminal_code { get; set; }
            public string direction { get; set; }
            public bool has_truck { get; set; }
            public string lane_type { get; set; }
            public string led_display { get; set; }
            public string barrier { get; set; }
            public string update_time { get; set; }
        }
    

    获取会话列表

    Csharp

    hub.On("GetSessionList",data)

    JS

    proxy.client.GetSessionList=function(data){//处理data}
    数据定义

    #js
    data
    [
    {
    ConnectionID:string,
    IPAddress:string,
    Port:string,
    ClientType:string,
    ClientName:string,
    ConnectionTime:string
    },
    {
    ConnectionID:string,
    IPAddress:string,
    Port:string,
    ClientType:string,
    ClientName:string,
    ConnectionTime:string
    },
    {
    ConnectionID:string,
    IPAddress:string,
    Port:string,
    ClientType:string,
    ClientName:string,
    ConnectionTime:string
    },
     
    ]
    
    #csharp
    
     public class SessionObj
        {
    
            /// <summary>
            /// 连接ID
            /// </summary>
            public string ConnectionID { get; set; }
            /// <summary>
            /// IP地址
            /// </summary>
            public string IPAddress { get; set; }
            /// <summary>
            /// 端口
            /// </summary>
            public string Port { get; set; }
            /// <summary>
            /// 会话对象类型
            /// </summary>
            public string ClientType { get; set; }
            /// <summary>
            /// 会话对象
            /// </summary>
            public string ClientName { get; set; }
            /// <summary>
            /// 首次连接时间。
            /// </summary>
            public string ConnectionTime { get; set; }
        }
    

    获取作业列表

    Csharp

    hub.on("GetQueueList",data)

    JS

    proxy.client.GetQueueList=function(data){//data}

    数据定义

    #js 
    data
    [
      {
       lane_code:string,
       lane_name:string,
       queue_id:string,
       is_lock:bool,
       lock_time:string,
       user:string,
       start_time:string,
       end_time:string,
       truck_no:string,
       ocr_truck_no:string,
       rfid_card_no:string,
       total_weight:string,
       ic_card_no:string,
       container_amount:int,
       damage_check_amount:int,
       damage_part_amount:int,
       submit_amount:int,
       truck_pic_url:string,
       truck_crop_pic_url :string,
       front_top_pic_url :string,
       back_top_pic_url:string,
       left_front_pic_url:string,
       left_back_pic_url :string,
       right_front_pic_url:string,
       right_back_pic_url :string,
       left_damage_pic_url:string,
       right_damage_pic_url :string,
       top_damage_pic_url :string,
       processes:object[],
       containers :object[],
       update_time:string
      },
    {
       lane_code:string,
       lane_name:string,
       queue_id:string,
       is_lock:bool,
       lock_time:string,
       user:string,
       start_time:string,
       end_time:string,
       truck_no:string,
       ocr_truck_no:string,
       rfid_card_no:string,
       total_weight:string,
       ic_card_no:string,
       container_amount:int,
       damage_check_amount:int,
       damage_part_amount:int,
       submit_amount:int,
       truck_pic_url:string,
       truck_crop_pic_url :string,
       front_top_pic_url :string,
       back_top_pic_url:string,
       left_front_pic_url:string,
       left_back_pic_url :string,
       right_front_pic_url:string,
       right_back_pic_url :string,
       left_damage_pic_url:string,
       right_damage_pic_url :string,
       top_damage_pic_url :string,
       processes:object[],
       containers :object[],
       update_time:string
      }
    ................
    ]
    #csharp
    List<Queue> queues = new List<Queue>();
     public class Queue
        {
            public string lane_code { get; set; }
            public string lane_name { get; set; }
            public string queue_id { get; set; }
            public bool is_lock { get; set; }
            public string lock_time { get; set; }
            public string user { get; set; }
            public string start_time { get; set; }
            public string end_time { get; set; }
            public string truck_no { get; set; }
            public string orc_truck_no { get; set; }
            public string rfid_truck_no { get; set; }
            public string total_weight { get; set; }
            public string ic_card_no { get; set; }
            public int container_amount { get; set; }
            public int damage_check_amount { get; set; }
            public int damage_part_amount { get; set; }
            public int submit_amount { get; set; }
            public string truck_pic_url { get; set; }
            public string truck_crop_pic_url { get; set; }
            public string front_top_pic_url { get; set; }
            public string back_top_pic_url { get; set; }
            public string left_front_pic_url { get; set; }
            public string left_back_pic_url { get; set; }
            public string right_front_pic_url { get; set; }
            public string right_back_pic_url { get; set; }
            public string left_damage_pic_url { get; set; }
            public string right_damage_pic_url { get; set; }
            public string top_damage_pic_url { get; set; }
            public Queue_Progress[] processes { get; set; }
            public Queue_Container[] containers { get; set; }
            public string update_time { get; set; }
        }
    

    发送部分

    Csharp

    hub.Invoke("SendMessage",lane_code,message)

    JS

    hub.server.SendMessage(lane_code,message)
    数据定义

    #js
    message
    { 
     message_type:string,
     message_content:object
    }
    #补充:message_content  的三种类型
    
     public class Pf_Message_lane_Object
        {
            public string lane_code { get; set; }
            public string send_time { get; set; }
            public object lane { get; set; }
        }
    
        public class Pf_Messge_Queue_Object
        {
            public string lane_code { get; set; }
            public string queue_id { get; set; }
    
            public string action { get; set; }
            public string create_time { get; set; }
            public string send_time { get; set; }
            public object queue { get; set; }
    
        }
    
        public class pf_Message_Directive
        {
            public string directive_id { get; set; }
            public string lane_code { get; set; }
            public string lane_name { get; set; }
            public string directive_code { get; set; }
            public string[] parameters { get; set; }
            public string send_time { get; set; }
        }
    
    #csharp
      public class Pf_Message_Obj<T> where T :new()
        {
          
            /// <summary>
            /// 消息类型 指令或状态或作业
            /// </summary>
            public string message_type { get; set; }
            /// <summary>
            /// 消息内容
            /// </summary>
            public object message_content { get; set; }
            public Pf_Message_Obj(string type, T content)
            {
                message_type = type;
                message_content = content;
            }
    
        }
    
    

    相关文章

      网友评论

          本文标题:服务调用说明2017.04.05

          本文链接:https://www.haomeiwen.com/subject/clrtattx.html