京东物流
This commit is contained in:
@@ -13,11 +13,12 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
regexpOrderDetailTable = regexp.MustCompile(`<table id="receiveData">([\s\S]*?)</table>`)
|
||||
regexpOrderDetailTd = regexp.MustCompile(`<td colspan="2">(.*?)</td>`)
|
||||
regexpOrderDetailMobile = regexp.MustCompile(`<span id="mobile">(.*?)</span>`)
|
||||
regexpOrderDetailDay = regexp.MustCompile(`<td class="pubwhite">配送日期:</td>[\s\S]*?<td colspan="2">(.*?)</td>`)
|
||||
regexpOrderDetailPay = regexp.MustCompile(`<td class="pubwhite">应支付金额:</td>[\s\S]*?<td>[\s\S]*?¥(.*?[\s\S]*?)</td>`)
|
||||
regexpOrderDetailTable = regexp.MustCompile(`<table id="receiveData">([\s\S]*?)</table>`)
|
||||
regexpOrderDetailTd = regexp.MustCompile(`<td colspan="2">(.*?)</td>`)
|
||||
regexpOrderDetailMobile = regexp.MustCompile(`<span id="mobile">(.*?)</span>`)
|
||||
regexpOrderDetailDay = regexp.MustCompile(`<td class="pubwhite">配送日期:</td>[\s\S]*?<td colspan="2">(.*?)</td>`)
|
||||
regexpOrderDetailPay = regexp.MustCompile(`<td class="pubwhite">应支付金额:</td>[\s\S]*?<td>[\s\S]*?¥(.*?[\s\S]*?)</td>`)
|
||||
regexpOrderDetailMobileKey = regexp.MustCompile(`accesskey="(.*?)"`)
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -391,6 +392,7 @@ type OrderDetailResult struct {
|
||||
ConsigneeMobile string `json:"consigneeMobile"`
|
||||
ExpectedDeliveredTime string `json:"expectedDeliveredTime"`
|
||||
ActualPayPrice int64 `json:"actualPayPrice"`
|
||||
MobileKey string `json:"mobileKey"`
|
||||
}
|
||||
|
||||
//订单详情
|
||||
@@ -405,6 +407,7 @@ func (a *API) OrderDetail(orderId string) (orderDetailResult *OrderDetailResult,
|
||||
expectedDeliveredTime := regexpOrderDetailDay.FindStringSubmatch(body)
|
||||
actualPayPrice := regexpOrderDetailPay.FindStringSubmatch(body)
|
||||
consigneeTable := regexpOrderDetailTable.FindStringSubmatch(body)
|
||||
mobileKey := regexpOrderDetailMobileKey.FindStringSubmatch(body)
|
||||
if len(consigneeTable) > 0 {
|
||||
consigneeTd := regexpOrderDetailTd.FindAllStringSubmatch(consigneeTable[1], -1)
|
||||
consigneeMobiles := regexpOrderDetailMobile.FindStringSubmatch(consigneeTable[1])
|
||||
@@ -423,6 +426,24 @@ func (a *API) OrderDetail(orderId string) (orderDetailResult *OrderDetailResult,
|
||||
if len(actualPayPrice) > 0 {
|
||||
orderDetailResult.ActualPayPrice = utils.Float64TwoInt64(utils.Str2Float64(strings.TrimSpace(actualPayPrice[1])) * 100)
|
||||
}
|
||||
if len(mobileKey) > 0 {
|
||||
orderDetailResult.MobileKey = mobileKey[1]
|
||||
}
|
||||
}
|
||||
return orderDetailResult, err
|
||||
}
|
||||
|
||||
//尝试获取订单的真实手机号
|
||||
//https://https://neworder.shop.jd.com/order/json/phoneSensltiveInfo
|
||||
func (a *API) PhoneSensltiveInfo(orderId, accessKey string) (fakeMobile string, err error) {
|
||||
result, err := a.AccessStorePage("https://neworder.shop.jd.com/order/json/phoneSensltiveInfo", map[string]interface{}{
|
||||
"orderId": orderId,
|
||||
"accessKey": accessKey,
|
||||
"accessType": "0",
|
||||
"token": JdsMobileToken,
|
||||
}, true)
|
||||
if err == nil {
|
||||
fakeMobile = result["model"].(map[string]interface{})["phone"].(string)
|
||||
}
|
||||
return fakeMobile, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user