1 前端与web应用服务器


登陆协议


     ====给服务端的协议====   
     https://ip:port/login [json_data] 
    {
        username: "gailun",
        password: "123123",
        driver:   "yes"
    }

    ====得到服务器响应数据====

    //成功
    {
        result: "ok",
        recode: "0",
        sessionid: "online-driver-xxxx-xxx-xxx-xxxx",
        orderid:"NONE",
        status:"idle"
    }
    //失败
    {
        result: "error",
        reason: "why...."
    }

注册协议


    ==== 给服务端的协议 ====   
    https://ip:port/reg [json_data]  
    {
        username: "gailun",
        password: "123123",
        driver:   "yes/no",
        tel:      "13331333333",
        email:    "[email protected]",
        id_card:  "2104041222121211122"
    }



     ====得到服务器响应数据 ====
     注册成功就默认为登陆状态

       //成功
       {
            result: "ok",
            recode: "0",
            sessionid: "online-driver-xxxx-xxx-xxx-xxxx",
            orderid:"NONE",
            status:"idle"
        }
        //失败
        {
            result: "error",
            reason: "why...."
        }

更新地理位置信息协议


    ==== 给服务端的协议 ====   
    https://ip:port/locationChanged  [json_data]  
    {
        sessionid: "online-driver-xxxxxx-xxx-xxx-xxx-xxxxx",
        driver:    "yes",
        status:    "ready",//当前司机端状态
        longitude: "188.123123123",//当前经度
        latitude : "39.123123123", //当前纬度
        address: "北京市西三旗金燕龙办公楼"//当前地址

        autosend: "yes", //此协议是 自动由定时器触发的
                        //还是手动通过按钮点击触发的
                        //yes为自动触发,no为手动按钮触发

        //如果driver="no",并且 status="waiting",
        //则添加以下目标地址字段
        dst_longitude:"123.123123123",
        dst_latitude: "123.123123123",
        dst_address:"北京市西二旗软件园9号楼"
    }



     ====得到服务器响应数据 ====
     //成功
     {
            result: "ok",
            recode: "0",

            status: "ready",//司机or乘客当前的状态
            orderid: "orderid-xxxx-xxx-xxx-xxxx",//没有则为“NONE”

            //乘客当前坐标,供catching和driving的司机使用,司机端会返回该两个字段
            ptemp_longitude: "13.11112211",
            ptemp_latitude:  "14.11223312",

            //司机当前坐标,
            //供waiting和traveling的乘客使用,乘客端会返回该两个字段         
            dtemp_longitude:  "123.122123",
            dtemp_latitude:  "32.22222222",

            //如果乘客为“idle"状态
            //需要列车如下周边已经接待的司机信息
            count:  "2", //附近司机个数
            drivers: 
            [
            {
             sessionid:"online-driver-xxxx-xxx-xxx-xxx-xxxx",
             distance: "10",//与自己距离多少米
             longitude:  "97.123123123",
             latitude:   "39.123123123"
            },
            {
             sessionid:"online-driver-xxxx-xxx-xxx-xxx-xxxx",
             distance: "15",//与自己距离多少米
             longitude:  "99.123123123",
             latitude:   "39.123123123"
            }
            ]
     }
     //失败
     {
            result: "error",
            recode: "1", //1 -代表session失效,需要重新登录
            reason: "why...."
     }

乘客下单协议


    ==== 给服务端的协议 ====   
    https://ip:port/startSetOrder  [json_data]  
    {
        sessionid: "online-user-xxxxxx-xxx-xxx-xxx-xxxxx",
        driver:    "no",
        src_longitude: "108.123123123",//乘客当前经度
        src_latitude : "39.123123123", //乘客当前纬度
        dst_longitude: "90.123123123", //乘客目标经度
        dst_latitude:  "39.123123123",  //乘客目标纬度
        src_address:   "北京西三旗百汇城",
        dst_address:   "北京西二旗软件园9号楼",
        RMB:          "315¥",         //本单大约消费
        create_order_time:"2016-11-12 12:00:00" //创建订单时间
    }

     ====得到服务器响应数据 ====
     //成功
     {
            result: "ok",
            recode: "0",
            orderid: "orderid-xxxx-xxx-xxx-xxx-xxxx"
     }
     //失败
     {
            result: "error",
            recode: "1", //1 代表session失效,需要重新登录
                         //2 代表服务器发生错误
                         //3 附近没有司机可用
            reason: "why...."
     }

司机完成订单协议

     ==== 给服务端的协议 ====
    https://ip:port/finishOrder  [json_data]
    {
        sessionid: "online-user-xxxxxx-xxx-xxx-xxx-xxxxx",
        orderid: "orderid-xxxx-xxx-xxx-xxx-xxxx"
    }

       ====得到服务器响应数据 ====
     //成功
     {
            result: "ok",
            recode: "0",
     }
     //失败
     {
            result: "error",
            recode: "1", //1 代表session失效,需要重新登录
                         //2 代表服务器发生错误                 
            reason: "why...."
     }

results matching ""

    No results matching ""