查快递的包又来啦——xto
发布于 5 年前 作者 XadillaX 3062 次浏览 最后一次编辑是 4 年前 来自 分享

好久之前发过的包,不过那个时候初学 node,包括回调设计、API 设计方面都是乱来的。

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

首先是包的 Repo 地址:

https://github.com/XadillaX/xto

安装

安装很简单,直接

$ npm install xto --save

就好了。

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

使用

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

var xto = require("xto");

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

NUMBER 就是运单号,然后 COMPANY_NAME 是快递公司名、短名以及公司标识其中之一。对照表在这里

然后 callbackexpress 对象的格式结构大概是:

{
    "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 家快递公司的查询,具体的快递公司已在上方连接中列出。

5 回复

楼主很厉害 佩服~~还有gto这个。。。忍不住想吐槽

@yessirpopesama 吐槽什么 0. 0

楼主取名字好手…

关键还是namemapper.js这个文件,楼主好耐心啊,整理了这么多。(原来是从快递100而来的)

mark 自豪地采用 CNodeJS ionic

回到顶部