①首要工作内容是什么呢?那当然是注册申请一个公众号啦!!
②接着就是登录进去公众号了,先点击公众号设置去完善你自己的公众号配置,否则难以进行下一步,简单设置一些头像、公众号名称、介绍等等就可以了
③接下来就是开发重点了,点击基本配置,里面有你的开发者ID和开发者密码,这里的开发者密码是看不到了,只能重置,然后就是下面的服务器配置问题了:点击配置之后呢就看到如下图:
URL:这个就是你的服务器地址了,由于我是选择了laravel5.4框架去进行微信开发的,所以这里还要指定到你的项目的地址,因为这个地址首先是要检验Token的。至于服务器的问题呢,这里我给了两种方法,一种是内网穿透,这个可以进行本地开发,意思就是把本地当做服务器,别人能通过网络访问到你本地的服务器的意思,我这里推荐https://natapp.cn/,至于使用教程,这个官网里面就有了,如果还不懂可以私信我,然后就是购买隧道的问题,一定要买VIP的隧道!一定要买VIP的隧道!!!一定要买VIP的隧道!!!!重要的事情说三遍,没办法,便宜没好货~~或者购买京东云、阿里云、tx云,说句实话。。。我三个云都逛了一个遍,感觉也差不多,随意就好了,至于购买后的服务器使用的问题,由于涉及的东西有点多,这里就不一一去细说,不懂照样可以私信我~~
Token:这里随便填,为了示范,这里我写了weixin,我建议大家也跟我这样写就好了
EncodingAESKey:这里就点击随机生成就好了,没啥所谓
消息加密方式就选第二个好了,毕竟有写方便开发者调试和维护嘛~~
最后的最后就是如何验证Token的问题了,这里还有先申明一句,服务器的如果没有域名就直接IP地址,如果你是从那三大云购买的服务器就不用担心网址没有备案的问题,但是如果是内网穿透的话就必须选一个有备案的,这些在那个官网上有说的。好的,现在就是上代码了,首先是设置路由,看图:
当然了,这里可以设置Route::any也是行的,重要的一点一定要定义发请求的方式是POST还是GET,要不然是无法正确响应请求的,这个地方坑过很多使用laravel开发微信的朋友们,而这些在thinkphp中是不用定义的。那么在这里有个坑就是微信验证默认token的请求是GET方式,但是真正接入微信服务器用以开发时采用的确实POST方式,所以我们在微信后台配置验证接口时,要使用GET方式,在验证成功配置完成后再改回POST方式。
接下来就是写这个weixinController下的token方法了:
public function serve()
{
header('Content-type:text');
define("TOKEN", "weixin");
if (isset($_GET['echostr'])) {
$this->valid();
} else {
$this->responseMsg();
}
}
public function valid()
{
$echoStr = $_GET["echostr"];
if ($this->checkSignature()) {
header('content-type:text');
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
return true;
} else {
return false;
}
}
接着就是在URL上填写你服务器上的项目下的这个weixin/token,例如http:你的服务器的地址/项目地址(指定到public目录哦)/weixin/token这样子,接下来就是提交等待成功的信息啦~~~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。