小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换,也比较适合初创公司创业阶段用来“试错”的产品,在开发成本、用户体验、运营方式、迭代更新方面小程序都很有优势。

申请快递鸟接口后,小程序开发者无需对接不同快递公司的接口,只需调通快递鸟物流接口,即可连接多家快递公司进行发货查单跟踪。同时,小程序开发者和用户都可以通过快递鸟API物流接口获取订单的实时物流状态,便于用户查看和开发者跟踪顾客服务,用户点击物流信息后可回访小程序查看该订单,大大提升用户回访率。



2)构建页面结构
在express.wxml文件中构建物流查询的界面格式:

②在交互层中设置数据

③ 编译预览

注意:
1. 在交互层定义的数据,可以在控制台的AppData下看到。
4. 发起请求
在界面层点击“查询”按钮后,需要调用接口,根据物流订单号查询物流。
①为按钮添加事件(express.wxml)

5. 物流接口
①接口的信息
调用接口也就是调用物流接口,接口的地址、请求类型、返回类型等信息。 a、查询接口支持按照运单号查询(单个查询)。 b、接口需要指定快递单号的快递公司编码,格式不对或则编码错误都会返失败的信息。 如:EMS物流单号应选择快递公司编码(EMS)查看快递公司编码 c、返回的物流跟踪信息按照发生的时间升序排列。 d、接口指令8001或1002或1008或8008,具体到快递鸟网站了解api文档,不同指令对应不同类型接口。 e、接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。 f、接口地址:API测试地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json API正式地址:http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx
接口需要传的参数:
请求内容字段定义:

返回参数定义:


1)在小程序交互层中调用接口(express.js)
query: function(e) { //发送请求,调用接口 //小程序发起请求使用wx, request wx.request({ //接口地址 url: http: //api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx, data: {//请求参数 "OrderCode": "2839476278":, "ShipperCode": "zto", "LogisticCode": "23984782937", }, success: function(res) { //成功后返回的数据 console.log(res); } })}2)编译预览

配置安全服务器时,服务器需要支持https服务,都是https服务的域名。
②开发时,可以设置不校验服务器
将“不校验安全域名、web-view域名、TLS版本以及HTTPS证书”选上。

4)查询结果
输入订单号后,点击“查询”按钮。

属性data的完整信息:

5)设置物流信息
查询返回的数据,需要的就是res.data.result.list下的物流信息数据,要将数据展示到界面层,那么就要将数据赋值给交互层的页面初始化数据data下的参数。
①为data添加物流信息参数
②将返回的数据设置到dataList中
但要注意,由于function层数过多,此时this已经不再指代Page函数了。

在query事件中,将this保存到一个新参数中,再使用。

编译预览:

6)界面层展示物流信息
①获取物流信息后,在界面层展示物流信息。(express.wxml)

注意:1. wx:key的值要唯一,没有主键的时候,可以使用索引index。
②编译预览

下拉刷新时重新获取数据:

在onPullDownRefresh中重新获取数据,只需将query事件中的程序复制粘贴到用户下拉动作事件中即可。
但是此时同样的程序写了两遍,这种重复性代码需要进行封装。
1)封装
在小程序中utils/util.js文件为公共js文件。将获取物流信息的程序封装起来。

注意:1. 封装时,需要传参。$this代表交互层的this。
2)模块导出
在util.js文件中定义好函数后,需要将函数导出才能使用。在util.js文件中已经写好了模块导出的方式。

在下拉刷新事件onPullDownRefresh中调用函数。

编译预览:

注意:1. 在公共js文件中封装函数并使用的流程:①在util.js中封装函数②导出封装的函数③使用的页面js文件中引入util.js文件④调用













