查看: 199|回复: 0

[PHP代码] 微信公众平台开发的首要工作内容

发表于 5 天前
尚学堂AD

①首要工作内容是什么呢?那当然是注册申请一个公众号啦!!

②接着就是登录进去公众号了,先点击公众号设置去完善你自己的公众号配置,否则难以进行下一步,简单设置一些头像、公众号名称、介绍等等就可以了

③接下来就是开发重点了,点击基本配置,里面有你的开发者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方法了:

  1. public function serve()
  2. {
  3. header('Content-type:text');
  4. define("TOKEN", "weixin");
  5. if (isset($_GET['echostr'])) {
  6. $this->valid();
  7. } else {
  8. $this->responseMsg();
  9. }
  10. }
  11. public function valid()
  12. {
  13. $echoStr = $_GET["echostr"];
  14. if ($this->checkSignature()) {
  15. header('content-type:text');
  16. echo $echoStr;
  17. exit;
  18. }
  19. }
  20. private function checkSignature()
  21. {
  22. $signature = $_GET["signature"];
  23. $timestamp = $_GET["timestamp"];
  24. $nonce = $_GET["nonce"];
  25. $token = TOKEN;
  26. $tmpArr = array($token, $timestamp, $nonce);
  27. sort($tmpArr, SORT_STRING);
  28. $tmpStr = implode($tmpArr);
  29. $tmpStr = sha1($tmpStr);
  30. if ($tmpStr == $signature) {
  31. return true;
  32. } else {
  33. return false;
  34. }
  35. }
复制代码

接着就是在URL上填写你服务器上的项目下的这个weixin/token,例如http:你的服务器的地址/项目地址(指定到public目录哦)/weixin/token这样子,接下来就是提交等待成功的信息啦~~~



回复

使用道具 举报