窗口AfterLoad
Dim Asv As new KdApiSearchDemo
Dim jtb As String = Asv.getOrderTracesByJson
ClipBoard.SetText(jtb)
Dim jo As JObject = Jobject.Parse(ClipBoard.GetText)
Dim kdzt As String = (jo("State") )
Dim kdlx As String = (jo("ShipperCode") )
Dim ydh As String = (jo("LogisticCode") )
Dim sfcg As String = (jo("Success") )
Dim sbyy As String = (jo("Reason") )
If kdzt = "0" Then
kdzt = "无轨迹"
Else If kdzt = "2" Then
kdzt = "在途中"
Else If kdzt = "3" Then
kdzt = "已签收"
Else If kdzt = "4" Then
kdzt = "问题件"
End If
If kdlx = "YTO" Then
kdlx = "圆通快递"
Else If kdlx = "ZTO" Then
kdlx = "中通快递"
Else If kdlx = "SF" Then
kdlx = "顺丰快递"
Else If kdlx = "EMS" Then
kdlx = "邮局"
End If
If sfcg = "True" Then
sfcg = "成功"
Else If sfcg = "False" Then
sfcg = " 失败"
End If
e.Form.Controls("Textbox1").text = vbcrlf & "物流状态:" & kdzt & " | 快递类型: " & kdlx & " | 运单号: " & ydh & vbcrlf & vbcrlf & " 查询是否成功: " & sfcg & " | 失败原因: " & sbyy
If jo IsNot Nothing Then
For Each jt As JToken In jo("Traces")
e.Form.Controls("Textbox1").text &= vbcrlf & vbcrlf & jt("AcceptTime").ToString & " | " & jt("AcceptStation").ToString
Next
End If
此主题相关图片如下:1234.bmp

全局代码
Public Class KdApiSearchDemo
'电商ID
Private EBusinessID As String = Vars("dsID")
'电商加密私钥,快递鸟提供,注意保管,不要泄漏
Private AppKey As String = Vars("dsKey")
'请求url
Private ReqURL As String = Vars("dsURL")
''' <summary>
''' Json方式 查询订单物流轨迹
''' </summary>
''' <returns></returns>
Public Function getOrderTracesByJson() As String
Dim ddbkd As Row = Tables(Vars("DD")).current
Dim danhao As String =ddbkd("快递单号")
Dim daima As String =ddbkd("快递")
Dim kt As String ="{'OrderCode':'','ShipperCode':'"
Dim zj As String = "' ,'LogisticCode': '"
Dim jw As String = "' }"
Dim requestData As String = kt & daima & zj & danhao & jw
'"{'OrderCode':'','ShipperCode':'YTO' ,'LogisticCode': 'DD1523944605' }"
Dim param As New System.Collections.Generic.Dictionary(Of String, String)()
param.Add("RequestData", System.Web.HttpUtility.UrlEncode(requestData, System.Text.Encoding.UTF8))
param.Add("EBusinessID", EBusinessID)
param.Add("RequestType", "1002")
Dim dataSign As String = encrypt(requestData, AppKey, "UTF-8")
param.Add("DataSign", System.Web.HttpUtility.UrlEncode(dataSign, System.Text.Encoding.UTF8))
param.Add("DataType", "2")
Dim result As String = sendPost(ReqURL, param)
目前这个快递的查询放在双击单号所在的行打开一个窗口来更新一个新的快递信息,但是这样效率太慢了,有没有方法改成每天定时会批量自动更新快递单号。。。