淘宝客助手哪个好(淘宝店铺一键铺货软件推荐)
淘宝客助手哪个好(淘宝店铺一键铺货软件推荐)
上一节中,我们利用大淘客的API查询商铺的详情数据,里面的数据也不是很完善,有些新产品我们还是会查询不到,所以我们需要对它进行修改,我们这一节就暂时就放一放,我们留到下一节讲解这个详情如何修改,我们今天要说的如何是在这个淘宝客系统接入我们的微信公众号,实现一个产品查询的功能,比如我们输入衣架就出现产品的信息数据。具体效果如下:
接入微信公众号,那么一定需要开通微信公众号,并且也打开了开发者模式,那么我这里就不做详细的介绍,具体可以在微信公众号平台上面查看文档了。
根据微信的开发文档,我们要接入微信公众号的回复需要做到以下三个步骤
1、填写服务器配置
2、验证服务器地址的有效性
3、依据接口文档实现业务逻辑
我们直接跳过申请公众号的步骤,然后看看如何验证服务器,在微信公众号平台后台,找到开发的基本配置,如下图:
然后,我们需要在我们的服务器填入一个验证服务器的PHP文件,我这里填写了
http://www.yeehot.com/DaoGou/weixin.php,关于这个文件,等下我回讲解如何实现。
这里的token我们可以填入我们自己的一个数据,类似密码一样。
上面我们有个weixin.php文件,我们这个文件需要放到我们外网的服务器进行验证的。
那么里面有哪些信息,主要就是验证信息以及回复信息
首先,我们说一下验证信息的文件.同样根据微信的文档的说明,验证微信服务器发生的数据算法主要如下:
1)将token、timestamp、nonce三个参数进行字典序排序
2)将三个参数字符串拼接成一个字符串进行sha1加密
3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
那么我们可以写一个这样的校验函数。注意这里我们需要用到我们刚刚在微信后台填写的token。
private function checkSignature()
{
$signature= $_GET[“signature”];
$timestamp= $_GET[“timestamp”];
$nonce= $_GET[“nonce”];
$token=”wx111111″;
$signinfo = array();
$signinfo = array($timestamp,$nonce , $token);
sort($signinfo);
$result = sha1( implode($signinfo) );
if( $result == $signature ){
return true;
}else{
return false;
}
}
此外,我们知道微信根据客户端的请求而会发送很多数据到我们的服务器,然而发送验证数据是会带上echostr这个字段,那么我们可以对这个字段进行判断,判断是验证信息还是其他的信息。
刚刚有了这个校验函数后,我们就可以校验了,但是为了让我们的代码可以更加有重用性,我们写了一个类,注意就是用于验证。代码如下:
class weixin{
public function checkWeixinInfo(){
$echostr=$_GET[“echostr”];
if($this->checkSignature()){
echo $echostr;
exit;
}
}
private function checkSignature()
{
$signature= $_GET[“signature”];
$timestamp= $_GET[“timestamp”];
$nonce= $_GET[“nonce”];
$token=”111″;
$signinfo = array();
$signinfo = array($timestamp,$nonce , $token);
sort($signinfo);
$result = sha1( implode($signinfo) );
if( $result == $signature ){
return true;
}else{
return false;
}
}
}
刚刚我们说到微信会根据客户端的不同请求而发送不同的数据到我们的服务器,那么我们可以根据相应的逻辑而做出处理从而提取到我们的消息内容。
这里我们根据echostr有这个参数而做出不同的处理,如果不是的话我们就判断是接受其他消息。
我们知道微信发送的消息都是XML格式的,所以我们将POST的原始数据进行处理,例如下面
$infoobj=simplexml_load_string($data,’SimpleXMLElement’,LIBXML_NOCDATA);
然后我们可以进行数据的处理了,对于收消息我们可以看一下这里文档
http://mp.weixin.qq.com/wiki/10/79502792eef98d6e0c6e1739da387346.html
首先我们判断一下数据的类型
$msg_type=trim($infoobj->MsgType);
我们由于是根据用户输入的文本内容来查询数据的,所以我们可以判断$msg_type为text类型就可以了
,然后我们就可以提起用户的内容,这个作为我们查询商品的关键词,然后进行数据库操作。部分代码如下:
case “text”:
{
$content=array();
$keyword=trim($infoobj->Content);
$res1 = mysql_query(“select * from yeehot_taobaoke_product where name like ‘%$keyword%’ order by shopid asc limit 0,7”);
while ($row1 = mysql_fetch_array($res1)) {
$content[]=array(“Title”=>$row1[‘name’],”Description”=>”销售价格:”.$row1[‘price’], “PicUrl”=>$row1[‘image’], “Url” =>$row1[‘tbk_link’]);
}
完成上面的操作,我们需要回复内容给用户。那么我们也需要看一下回复内容,可以看微信文档发送的内容。
http://mp.weixin.qq.com/wiki/14/89b871b5466b19b3efa4ada8e577d45e.html
我们回复的是图文,格式如下:
那么我们可以根据刚刚数据库查询的数据进行处理
$info1= “
“;
$info_str=””;
foreach ($content as $item){
$info_str.= sprintf($info1, $item[‘Title’], $item[‘Description’], $item[‘PicUrl’], $item[‘Url’]);
}
$responsTpl = “
%s
”;
$result =sprintf($responsTpl, $infoobj->FromUserName, $infoobj->ToUserName, time().””, count($content).””,$info_str);
然后我们将这些结果输出给微信服务器就可以了。
-
- 苏泊尔精铁锅怎么样(苏泊尔精铁锅测评)
-
2023-08-13 12:38:52
-
- 夏天长白山游玩注意事项(长白山冬季最全游玩指南)
-
2023-08-13 12:36:48
-
- 夏季做些什么汤好喝又简单(最适合夏天喝的8种家常汤)
-
2023-08-13 12:34:43
-
- 百事和可口谁先出的(百事和可口的一场乌龙遭遇战)
-
2023-08-13 12:32:38
-
- 数据可视化的呈现方法(数据可视化常用的五种方式及案例分析)
-
2023-08-13 12:30:33
-
- 文科生最好就业的十个专业(文科生值得选择的5大专业)
-
2023-08-13 12:28:28
-
- 白日焰火影评(豆瓣7.4白日焰火)
-
2023-08-13 12:26:23
-
- 家校沟通的重要性(家校沟通的重要性及意义)
-
2023-08-12 21:34:16
-
- 风向标的箭头指向东方这时刮的是什么风
-
2023-08-12 21:32:12
-
- 折叠刀算管制刀具吗(折叠小刀算不算管制刀具)
-
2023-08-12 21:30:07
-
- 太空安全涉及航空器吗(太空安全包括航空器吗)
-
2023-08-12 21:28:02
-
- 龙王鲸灭绝了吗(龙王鲸有没有灭绝)
-
2023-08-12 21:25:57
-
- 感冒坚持锻炼好吗(感冒了应该坚持锻炼吗)
-
2023-08-12 21:23:52
-
- 什么是个人理想的汇聚和升华(什么是对个人理想的凝华和升华)
-
2023-08-12 21:21:47
-
- 河北多大面积公里(河北省多大面积平方公里)
-
2023-08-12 21:19:42
-
- 129运动意义是什么(129运动意义和精神)
-
2023-08-12 21:17:37
-
- 延安的相关资料是什么?(延安的相关资料有哪些)
-
2023-08-12 21:15:32
-
- 冬瓜丸子汤怎么做,冬瓜丸子汤的丸子怎么和馅?
-
2023-08-12 15:18:22
-
- 电汇到账时间,国外汇款到账时间?
-
2023-08-12 15:16:16
-
- 白煮秋葵,宝宝秋葵的8种最佳吃法?
-
2023-08-12 15:14:10