这次小编来讲解一下如何在公众号的搭建淘客三合一系统,php搭建教程接下来会讲解

可以参考我上次方包博客上与大家分享的文章:淘宝京东拼多多三合一淘客系统CMS,PHP源码搭建教程 教大家如何在服务器或虚拟主机搭建三合一cms商城系统,免费搭建教程无私分享给大家!!!

首先请大家看看搭建后的效果如下图

demo:优惠多多

公众号demo:关注公众号“网购领优惠券”,回复商品关键词,即可领取优惠券

搭建教程:

1.PHP接入微信公众号(即php建立与公众号通讯,并显示通讯成功才可以)

前提

  • 服务器资源:你需要拥有一台公网服务器资源(阿里云、腾讯云或者其他云资源)
  • 服务器环境:推荐使用LNMP环境,完美契合PHP开发。(请确保你的服务器已经成功运行PHP,有不清楚的可以私聊楼主)
  • 公众号资源:如果没有公众号,先去公众号平台申请微信公众平台。一般个人只能申请订阅号。
  • 技术要求:掌握一定的代码能力即可

开发配置

脚本开发

  • 接下来只要把你在上一步填写的链接地址中的接口开发完成即可。

  • 可以直接copy代码进去。文档说明微信开发文档(文档的demo不是接入的。。)

将下面的demo复制copy到服务器的根目录下,注意服务器必须搭建好php环境,并且是建立新的站点,并且端口号务必是80端口

respond.php


<?php
/*** wechat php test*///define your token
define("TOKEN", "weixin"); //此处weixin为上图红色字的token值
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();class wechatCallbackapiTest
{public function valid(){$echoStr = $_GET["echostr"];//valid signature , optionif($this->checkSignature()){echo $echoStr;exit;}}public function responseMsg(){//get post data, May be due to the different environments$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];//extract post dataif (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$fromUsername = $postObj->FromUserName;$toUsername = $postObj->ToUserName;$keyword = trim($postObj->Content);$time = time();$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>";             if(!empty( $keyword )){$msgType = "text";$contentStr = "Welcome to wechat world!";$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}else{echo "Input something...";}}else {echo "";exit;}}private function checkSignature(){$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"];    $token = TOKEN;$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}
}?>

大功告成(点击提交会显示配置成功)

  • 完成上述步骤后,点击提交,就会看到配置成功啦!

  • 可能出现的问题

  • token解析失败:说明你的接口没有返回

  • 服务错误:你的服务器可能有问题,尝试下自己能否访问接口

如果还是配置失败,请看这遍文章:https://blog.csdn.net/u012729832/article/details/79754095

这里附上配置表单,我傻逼一开始不知道什么意思,以为填写了url 和令牌 就可以成功 谁知道一直出现 ,token验证失败的信息。

后来看了下文档,如下

要返回参数给微信,返回成功则成为开发者;还有记得在公众号平台给自己服务器添加白名单ip,小编之前一直卡在这里!!!

只要两个条件就可以验证成功

一、你的服务器一定是通的。保证你url是能访问的。

二、token最好是不要和别人重复的;

所以服务器上的token要改,要有配置表单上的一样,他们对应就可以了

大功告成之后请看接来了内容!!

2.php如何利用公众号搭建三合一淘客系统?

重点来了!首先把原来的respond.php删掉,在新建一个文件index.php文件,把下面代码拷贝到服务器站点根目录。并且开发者---基本配置---服务器配置  也要修改服务器地址,请务必确保服务器路径正确!如下图:

index.php

<?php
header("Content-type: text/html; charset=utf-8");
$nonce = $_GET['nonce'];
$token = 'weixin';
$timestamp = $_GET['timestamp'];
if (isset($_GET['echostr'])) {if (bindServerCheck()) {echo $_GET['echostr'];}exit();
}
responseMsg();//消息回复
function responseMsg() {//1.获取到微信推送过来post数据(xml格式)$postArr = file_get_contents("php://input");//libxml_disable_entity_loader(true);//2.处理消息类型,并设置回复类型和内容$postObj = simplexml_load_string($postArr, 'SimpleXMLElement', LIBXML_NOCDATA);//判断该数据包是否是订阅de事件推送if (strtolower($postObj->MsgType) == 'event') {//如果是关注 subscribe事件if (strtolower($postObj->Event) == 'subscribe') {$toUser = $postObj->FromUserName;$fromUser = $postObj->ToUserName;$time = time();$msgType = 'text';$content = '欢迎关注“网购领优惠券”,若有疑问联系微信号:dafang1688~直接回复消息,如搜索关键词:“铅笔”,即可获得“铅笔的优惠券”,或者点击以下网站链接选择自己喜欢的商品优惠券!链接如下:<a href="http://www.fang1688.cn:3005">淘宝天猫拼多多京东四合一商城---入口地址</a><a href="http://fbao.yhzu.cn/">淘宝天猫优惠券---入口地址</a><a href="http://www.fang1688.cn:3006">京东优惠券---入口地址</a><a href="https://p.pinduoduo.com/s6Cbmn5Z">拼多多优惠券---入口地址</a><a href="https://i.meituan.com/awp/hfe/block/a945391288b790d558b7/78716/index.html">外卖优惠券---入口地址</a><a href="http://www.fang1688.cn:3008/pay/hongbao.jpg">领取支付宝红包---入口地址</a><a href="https://p.pinduoduo.com/dzzb98A3">1.9元包邮---入口地址</a>';//修改为if (is_utf8($content)) {$content = $content;} else {$content = iconv('gb2312', 'UTF-8//IGNORE', $content);}$template = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content></xml>";$info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);echo $info;}}if (strtolower($postObj->MsgType) == 'text') {//如果是关注 subscribe事件// if (strtolower($postObj->Event) == 'subscribe') {$toUser = $postObj->FromUserName;$fromUser = $postObj->ToUserName;$time = time();$msgType = 'text';$keyword = trim($postObj->Content);if ($keyword=='图片'){$arr = array(  array(  'title'=>'微信公众号',  'description'=>"微信公众号的官方网站。",  'picUrl'=>'http://wwwmages/logo.jpg',  'url'=>'http://www.baidu.com',  ),  );    $template = "<xml>  <ToUserName><![CDATA[%s]]></ToUserName>  <FromUserName><![CDATA[%s]]></FromUserName>  <CreateTime>%s</CreateTime>  <MsgType><![CDATA[%s]]></MsgType>  <ArticleCount>".count($arr)."</ArticleCount>  <Articles>";  foreach($arr as $k=>$v){  $template .="<item>  <Title><![CDATA[".$v['title']."]]></Title>   <Description><![CDATA[".$v['description']."]]></Description>  <PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl>  <Url><![CDATA[".$v['url']."]]></Url>  </item>";  }  $template .="</Articles>  </xml> ";  echo sprintf($template, $toUser, $fromUser, time(), 'news');  }if ($keyword=='多图片'){$arr = array();$arr[] = array("title"=>"司", "Description"=>"", "picUrl"=>"http://778.jpg", "url" =>"http://51822.html");$arr[] = array("title"=>"成", "Description"=>"", "picUrl"=>"http://833_28919.jpg", "url" =>"http://61929.html");$arr[] = array("title"=>"办", "Description"=>"", "picUrl"=>"http://8.jpg", "url" =>"http://161207.html");$template = "<xml>  <ToUserName><![CDATA[%s]]></ToUserName>  <FromUserName><![CDATA[%s]]></FromUserName>  <CreateTime>%s</CreateTime>  <MsgType><![CDATA[%s]]></MsgType>  <ArticleCount>".count($arr)."</ArticleCount>  <Articles>";  foreach($arr as $k=>$v){  $template .="<item>  <Title><![CDATA[".$v['title']."]]></Title>   <Description><![CDATA[".$v['description']."]]></Description>  <PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl>  <Url><![CDATA[".$v['url']."]]></Url>  </item>";  }  $template .="</Articles>  </xml> ";  echo sprintf($template, $toUser, $fromUser, time(), 'news');  }if ($keyword=='小苹果'){$tetle = '小苹果';$des = '这是一首非常好听的歌曲';$MusicUrl = 'http://g.mp3';$textTpl = "<xml><ToUserName>< ![CDATA[%s] ]></ToUserName><FromUserName>< ![CDATA[%s] ]></FromUserName><CreateTime>%s</CreateTime><MsgType>< ![CDATA[music] ]></MsgType><Music><Title>< ![CDATA[$tetle] ]></Title><Description>< ![CDATA[$des] ]></Description><MusicUrl>< ![CDATA[$MusicUrl] ]></MusicUrl><HQMusicUrl>< ![CDATA[$MusicUrl] ]></HQMusicUrl><ThumbMediaId>< ![CDATA[media_id] ]></ThumbMediaId></Music></xml>";$msgType = "music";$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time);echo $resultStr;// $resultStr = sprintf($Musictpl, $fromUsername, $toUsername, $time, $title, $decription, $music_url, $music_url);// echo $resultStr;}$content =    "<a href='http://www.fang1688.cn:3005//index.php?r=l&kw=$keyword'>$keyword  优惠券</a>";//修改为if (is_utf8($content)) {$content = $content;} else {$content = iconv('gb2312', 'UTF-8//IGNORE', $content);}$template = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content></xml>";$info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);echo $info;// }}}// 开发者模式绑定校验
function bindServerCheck($token) {$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"];$tmpArr = array($token,$timestamp,$nonce);sort($tmpArr);$tmpStr = implode($tmpArr);$tmpStr = sha1($tmpStr);if ($tmpStr == $signature) {return true;} else {return false;}
}function to_utf8($in)
{ if (is_array($in)) { foreach ($in as $key => $value) { $out[to_utf8($key)] = to_utf8($value); } } elseif(is_string($in)) { if(mb_detect_encoding($in) != "UTF-8") return utf8_encode($in); else return $in; } else { return $in; } return $out;
} function is_utf8($str)
{return preg_match('//u', $str);
}function music($url,$tetle,$des) {$MusicUrl=$url;$tetle=$tetle;$des=$des;$textTpl = " <xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Music><Title><![CDATA[$tetle]]></Title><Description><![CDATA[$des]]></Description><MusicUrl><![CDATA[$MusicUrl]]></MusicUrl><HQMusicUrl><![CDATA[$MusicUrl]]></HQMusicUrl></Music><FuncFlag>0</FuncFlag></xml>";$msgType = "music";$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}?>

上面模板内容请参考里面 我公众号 demo。在此搭建完成,可以去公众号搜索关键词试试。

如有不明白请看原文详细内容,此文章可能有所删减~~

原文链接:https://www.fang1688.cn/eshop/1171.html

用php搭建微信公众号淘客三合一系统相关推荐

  1. 淘客公众号系统要用到服务器吗,公众号淘客分销系统你用了吗?

    大家都知道微信个人淘客和微信公众号淘客的区别,微信个人更适合做一对一的营销测量,而公众号可以实现一对多的营销策略.做微信淘客最多的就是微信群,但是一个微信群容纳上限是500人,而且大多数时候还不能达到 ...

  2. 微信公众号多客服系统自动分组系统

    学习交流: 之前给别人做过很多的微信公众号扫描带参数二维码实现自动分组的系统,系统使用客户超过20多家,其中有几家公司的 客户量比较大,多个2-5w的,还有一个20W+的,这样就需要一个比较完善的多刻 ...

  3. 电商宝SCRM微信多公众号聚合客服系统可以解决哪些痛点?

    时至今日,微信运营已进入深水区.从2012年8月微信发布公众平台,已经快7年的时间,据说已经有1000万的公众号.从大量的账号可以看出,做好一个微信公众号,并能产生实际效果,确实不容易.今天就给大家分 ...

  4. 微信公众平台多客服系统怎么使用?

    目前,中国的微信公众号数量大概在1500-2000万之间,活跃用户约7.6亿,总粉丝过50亿,等于每40个人当中就有一个微信公众号. 微信已经逐渐成为移动端的流量垄断入口,在逐渐取代搜索引擎和浏览器, ...

  5. php虚拟主机搭建微信公众号服务器

    @版权声明:本文为博主原创文章,未经博主允许不得转载https://blog.csdn.net/qq_40758535/article/details/89606716 php虚拟主机搭建微信公众号服 ...

  6. 苹果付费app共享公众号_公众号淘客和APP淘客哪个好做?公众号与淘客APP利弊分析...

    更多精彩,请点击上方蓝字关注我们!近来淘客圈内很多人都在讨论APP淘客和公众号淘客,到底哪个更好做?哪个更赚钱?这两个问题一直困扰着中小淘客. 由于少数有实力的大淘客肯定做全领域的覆盖,相互配合引流, ...

  7. SpringBoot搭建微信公众号后台(一):消息接收与响应

    关注作者,更多动态实时掌握,微信公众号:隔壁的程序员 上一篇我们经过接口验证,已经可以与微信的服务器进行通信,错过的可以通过下面链接来进行回顾,这一篇就来实现一个基本的消息接收与响应. SpringB ...

  8. 虚拟主机搭建微信公众号服务器

    一.前言 搭建微信公众号服务器的方式不只一种,可以用java等其他语言或是其他云空间来搭建服务器,这里总结的是用虚拟主机(主机公园中的虚拟主机)搭建微信公众号服务器的大概思路.不管用什么方式,配置微信 ...

  9. [python]用flask框架搭建微信公众号的后台

    用flask框架搭建微信公众号的后台 最近用python写了点爬虫,为了要让爬取的数据能够随时显示在我眼前,并实时根据我的指令返回数据.于是采用微信公众号做这个显示窗口,既能发送指令也能显示简单的相关 ...

  10. 微信公众号 智能客服

    前言 微信公众号的开发,园子里有很多资料,这里简述. 虽说是智能,现在是仿佛智障,很多是hard code逻辑,日后将逐步加入LUIS,现在一些常用的打招呼(你好,您好,hi,hey,hello,ho ...

最新文章

  1. 开始即结束,Meta元宇宙OS要黄?
  2. php 带下划线的函数,[宜配屋]听图阁
  3. 怎么用vc采集ni卡数据_SystemLink自学笔记(6):SystemLink架构和数据服务
  4. 禁用/启用本地连接的dos命令是什么啊?
  5. BZOJ-1036-树的统计Count
  6. DirectSound学习笔记(3):协作级别
  7. C#中类的override和virtual
  8. mysql nhibernate_C#连接Mysql数据库NHibernate
  9. 米的换算单位和公式_小学三年级数学常用公式和单位换算,孩子复习宝典!
  10. Lock-Free / Lockless 相关术语
  11. CF 61E 树状数组+离散化 求逆序数加强版 三个数逆序
  12. react中对props.children进行操作
  13. Asp.Net细节性问题技巧精萃
  14. Java实现智能对话机器人自动聊天+语音秒回
  15. 2018WPS暑期实习生web前端笔试题
  16. linux环境下,实现公共聊天室功能
  17. XiaomiRouter自学之路(02-软硬件环境搭建)
  18. python爬取选股宝(https://xuangubao.cn)之二度尝试
  19. python 谷歌翻译 字数限制_Python谷歌翻译(防封版)
  20. Deep Reinforcement Learning: Pong from Pixels翻译和简单理解

热门文章

  1. 工业电脑量产测试之----U盘DOS 启动盘制作(1)
  2. MSG360虚拟服务器,H3C MSG360-10:简单设置+多场景结合应用
  3. 微信小程序真机调试步骤
  4. wamp中mysql连接数据库_wamp链接到数据库
  5. android路由器安装wifidog,Wifidog-刷OpenWRT标准版固件后安装LuCI的方法
  6. 使用itext到处PDF,使用PDF模板导出PDF文件
  7. 银行账户管理体系总结
  8. 中山大学计算机学院转专业,广东大一新生想转专业原来有窍门,满足这些成绩和技能很重要!...
  9. 最新MQ与RabbitMQ面试题
  10. python qq群发消息_Python版QQ群发消息