物流插件
本章节主要是介绍,ShopWind系统现有的物流插件说明,以及编写一个物流插件的实施要点和注意事项。本章节的内容建立在您已经熟悉《插件规范》的基础之上。如不熟悉,请先阅读上一章节内容。
一、插件路径
物流插件就是获取订单配送状态,物流跟踪即时信息的功能,插件位于@shopwind/common/plugins/express目录下,该目录下的每一个文件夹代表一个具体的插件实例。

kuaidi100/ 表示 快递100物流跟踪插件

二、编写要点
所有物流插件,我们都应该实现以下几个主要方法:发送验证、发起请求。 这些方法我们编写到插件主程序@shopwind/common/plugins/express/插件名/插件名.plugin.php文件中:
// 发送验证
public function valid($post = null, $order = null) {}

// 发起请求,入参 $order 包含 物流单号,快递公司代码字段
public function submit($post = null, $order = null, $valid = true) {}
在控制器中,请求物流信息调用代码如下:
$express = Plugin::getInstance('express')->build('kuaidi100');
if($express->isInstall()) {
    $result = $express->submit($post, $order, true);
}
不同的物流跟踪插件,支持的快递公司不同,编码也会不一样,所以我们将快递公司编码映射写到插件目录@shopwind/common/plugins/express/插件名/company.inc.php文件中。
通过本节的学习,大家应该能掌握了物流插件的编写要点,如果对此还有疑问,可以进入我们官方的 开发者社区反馈,我们会有官方技术人员在线解答。