查快递的包又来啦——xto

2015-02-02 16:03:50 +08:00
 XadillaX
好久之前发过的包,不过那个时候初学 node,包括回调设计、API 设计方面都是乱来的。

最近想把最近初学 node 的时候不科学的包重新理一遍,就从这个 `xto` 入手了。

首先是包的 Repo 地址:

> https://github.com/XadillaX/xto

## 安装

安装很简单,直接

```sh
$ npm install xto --save
```

就好了。

> 为什么叫 XTO 呢?因为咱国内的很多快递都叫**x通**,然后英文名都叫 `zto`、`gto`、`sto` 等,于是我这个包就叫 `xto` 了。

## 使用

直接 `require` 进来调用 `query` 方法即可。

```javascript
var xto = require("xto");

xto.query(NUMBER, COMPANY_NAME, function(err, express) {
//... Do something
});
```

> `NUMBER` 就是运单号,然后 `COMPANY_NAME` 是快递公司名、短名以及公司标识其中之一。对照表在[这里](https://github.com/XadillaX/xto#companies-supported)。

然后 `callback` 的 `express` 对象的格式结构大概是:

```json
{
"message": "ok",
"nu": "1000****4443",
"ischeck": "1",
"com": "yuantong",
"updatetime": "2015-02-02 15:57:18",
"status": "200",
"condition": "F00",
"data": [
{
"time": "2014-11-06 18:32:19",
"location": "",
"context": "浙江省宁波市科技园区公司 已签收",
"ftime": "2014-11-06 18:32:19"
},
{
"time": "2014-11-06 09:14:58",
"location": "",
"context": "浙江省宁波市科技园区公司 派件中",
"ftime": "2014-11-06 09:14:58"
},
{
"time": "2014-11-06 09:04:52",
"location": "",
"context": "浙江省宁波市科技园区公司 已收入",
"ftime": "2014-11-06 09:04:52"
},
{
"time": "2014-11-06 05:31:40",
"location": "",
"context": "宁波转运中心公司 已发出",
"ftime": "2014-11-06 05:31:40"
},
{
"time": "2014-11-06 05:16:43",
"location": "",
"context": "宁波转运中心公司 已收入",
"ftime": "2014-11-06 05:16:43"
},
{
"time": "2014-11-06 00:21:40",
"location": "",
"context": "杭州转运中心公司 已打包",
"ftime": "2014-11-06 00:21:40"
},
{
"time": "2014-11-06 00:20:37",
"location": "",
"context": "杭州转运中心公司 已收入",
"ftime": "2014-11-06 00:20:37"
},
{
"time": "2014-11-05 20:35:27",
"location": "",
"context": "浙江省杭州市文三路公司 已收件",
"ftime": "2014-11-05 20:35:27"
}
],
"state": "3"
}
```

其中 `"state"` 字段是快递状态,可以通过 `xto.stateToText` 进行转化成可读的中文状态,比如 `3` 转化后就是 `"已签收"`。

## 其它

XTO 目前支持 446 家快递公司的查询,具体的快递公司已在上方连接中列出。
5602 次点击
所在节点    Node.js
21 条回复
ETiV
2015-02-03 01:14:12 +08:00
@akfish 这么用法不对啊...

应该去银行:

sudo give me 9,999,999 dollars now

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/167605

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX