写在前面的话
卡脖子
。 昨日,去面试。地点在顺义,骑车上京新高速,转五环,上京承高速。在五环上,时刻留心,由于有许多叉路口。其时,在想,假如没有方针,随意拐进一个叉路口,抵达下一个叉路口,再随意拐,一天下来,必定很累,但没有收成,由于没有方针。最近,接项目,是从一个二房东手里接的,他接了项目,再转交给我来做,一万的项目,到我这只要3000,觉得被他人卡了脖子,有时挺气的。自己有店肆,三四天还不看一次,不自动联络客户,再返过来气愤他人薅羊毛,应该气自己不努力啊。今后,自己多谈项目,少让中间商赚差价。二是把活做美丽,才有回头客,加油!
一、对接快递
1.B快递
描绘:需求对接个快递接口,经过订单号回来数据。
开工:
第一步
:看文档,看之前,先把聊天记录上的文档,有用的信息,分门别类的的收拾一下。
第二步
:写个demo
发现用的是tp3.2,找个之前的吧。找了个之前的crm,运转能够的。
第三步
:看文档,如同传个订单号就能够了,那就解析一下。
图7-1
注:解析数据,分两部分,一个是概要,一个是概况,所以,解析出来的数据敢要分两部分。这样才干在前端正确显现。
办法很简单,就依照A快递的格局,进行转化就能够了。
第四步
:转化
思路:先把json转成数组,之后,再依照快递A进行拼装。
开发:
写一个解析办法,如下:
图7-2
注:这基本就写完了。接下来,解析C快递。
2.C快递
描绘:B快递解析完了,C快递应该很简单,看下文档。
开发:
第一步
:看文档
注:恳求总报错,对方说是协议的问题,报错如下:
图7-3
注:文档说时刻戳要准确到毫秒级。
第二步
:时刻戳生成
参阅:【
https://tool.lu/timestamp/
】,找了个办法如下:
function getMillisecond() {
list($t1, $t2) = explode(' ', microtime());
return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000);
}
注:先用这个,不成再说。
第三步
:生成签名
描绘:签名运用MD5办法对事务data的内容进行签名,原理:md5 (timestamp+secretKey+data),具体解说如下;
假定json格局恳求参数:{"mailNoList":["47234208672823"]},secretKey:uYMGr8eU,timestamp:1649823785567,
经过md5加密,得出sign为9a032a6baf9a6884b695382eb1d1e79f
开工:按这个试试
图7-4
注:需求用这个【】,不要用先数组,后json_encode。
第四步
:解密
解密办法如下:
图7-5
注:解密办法需求传一个密钥,还有一个留意点是假如foreach里边只要一行代码,能够不加括号。上述解密算法,算出来的$iv是乱码,居然还能经过验证。填充算法如下:
图7-6
注:这个填充算法,没太看懂,能解密先不管了,今后再说吧。
《本文完》