因快遞100接口指定打印機現在無法購買,導致電子面單無法使用;
因此升級電子面單打印相關功能,升級后打印機選擇更多,只要是能打印 80mm的熱敏打印機都可以,我們使用的是漢印 -N31C。
使用文檔: https://doc.www.2233z.cn/mer/mer2/8518 ,
升級方法:
1. 修改電子面單打印接口: app\controller\merchant\store\order\Order line 196
$res = $this->repository->runDelivery($id,$this->request->merId(), $data, $split, $method);
return app('json')->success('發貨成功',$res);
2. 路徑:app\common\repositories\store\order\StoreOrderRepository line 1228
'kuaidi_label' => $result['label'] ?? '',
3. 路徑 : crmeb\services\express\storage\Express line 122
public function dump($merId,$data)
{
if (!$data['count']) throw new ValidateException('商品數量缺失');
if (!$data['temp_id']) throw new ValidateException('電子面單模板ID缺失');
if (!$data['to_addr'] || !$data['to_tel'] || !$data['to_name']) throw new ValidateException('寄件人信息缺失');
if (!$data['from_name'] || !$data['from_tel'] || !$data['from_addr']) throw new ValidateException('收件人信息缺失');
if (!$data['com']) throw new ValidateException('快遞公司編碼缺失');
$param = $data;
$vserion = [];
//修改沒有打印機的時候print_type=IMAGE,就會返回面單圖片
if (!$data['siid']) {
$vserion = ['version:v1.1'];
$param['print_type'] = 'IMAGE';
}
$exp = app()->make(ExpressRepository::class)->getWhere(['code' => $data['com']]);
$expressData = app()->make(ExpressPartnerRepository::class)->getSearch(['express_id' => $exp['id'], 'mer_id' => $merId,])->find();
if ($exp['partner_id'] == 1) {
if (!$expressData) throw new ValidateException('未查詢到快遞公司的月結賬號');
$param['partner_id'] = $expressData['account'];
}
if ($exp['partner_key'] == 1) $param['partner_key'] = $expressData['key'];
if ($exp['net'] == 1) $param['net'] = $expressData['net_name'];
if ($exp['check_man'] == 1) $param['checkMan'] = $expressData['check_man'];
if ($exp['partner_name'] == 1) $param['partner_name'] = $expressData['partner_name'];
if ($exp['is_code'] == 1) $param['code'] = $expressData['code'];
//修改增加header版本號,兼容舊版和新版
return $this->accessToken->httpRequest(self::EXPRESS_DUMP, $param, 'POST', true, $vserion);
}
4.修改請求 ,路徑:crmeb\services\AccessTokenServeService line 149
$header = array_merge(['Authorization:Bearer-' . $this->accessToken] , $header);
5. 修改獲取模板接口,路徑: crmeb\services\express\storage\Express line 81
,true, ['version:v1.1']
后端就修改完成了,還需要前端代碼修改的配合: https://www.www.2233z.cn/ask/thread/30982