前端实用微信公众号开发让前端飞

微信公众号开发二:代码实战

2016-09-30  本文已影响415人  大白有褶子

看这篇文章之前请务必先看第一篇:微信公众号开发一:服务器资源配置)
1,进入新浪sae里的代码管理,点击编辑代码

编辑代码
接下来是具体接入微信服务器:具体说明可以看官网API
2,验证消息来自微信服务器。在atom里编辑一个PHP文件wechat.php(名字随意),点击黄色尖头上传至sae里;wechat.php文件里的代码如下:
<?php
//创建一个字符串来存储token值
$token = "bigBear";
//接收微信发过来的各种参数
$timestamp = $_GET["timestamp"];//时间戳
$nonce = $_GET["nonce"];
//定义一个数组
$array = array($token,$timestamp,$nonce);
//将数组按照字符串排序
sort($array,SORT_STRING);
//将数组合并成字符串
$str = implode($array);
//对字符串进行加密
$sign = sha1($str);
//得到传过来的签名
$signature = $_GET["signature"];
//判断是否来自微信的请求
if ($sign == $signature) {
  echo "$_GET['echostr']";
}
?>
Screen Shot 2016-09-30 at 3.45.11 PM.png

3,登陆微信公众平台->基本配置->修改配置


点击基本配置
具体修改配置如图上红色说明

4,修改配置后,点击提交,如果提示“token验证失败”,先多试几次,微信服务器偶尔不稳定。进行这个操作之前保证你的新浪SAE实名认证成功!!!token验证成功之后就可以调用微信的各种接口来实现你的业务逻辑了。

接下来就可以具体实现部分业务逻辑了:
在这里我需要用的三个文件(图中红色部分)

Screen Shot 2016-09-30 at 4.20.50 PM.png
1,request.php里的代码主要封装了两个方法:httpGet()和httpPost()方法,根据后续发送请求的方式不同按需调用,具体代码:
<?php
function httpGet($url)
{
  //创建一个会话
  $curl = curl_init();
  //为会话设置参数
  //参数1: 要给哪个会话设置参数
  //参数2: 要从PHP文件中获取URL地址
  // 参数3: 请求哪个网址
  curl_setopt($curl,CURLOPT_URL,$url);
  // CURLOPT_RETURNTRANSFER将获取到的信息以文件流的方式返回
  // true是一个boolean值   是否返回头信息
  curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  // 执行会话
  $response = curl_exec($curl);
  // 关闭会话
  curl_close($curl);
  //返回请求结果
  return $response;
}
function httpPost($url,$data){
    // /设置抓取的url
    $curl = curl_init();
    curl_setopt($curl,CURLOPT_POST,ture);
    curl_setopt($curl,CURLOPT_URL,$url);
    // CURLOPT_POSTFIELDS  传递一个作为HTTP “POST”操作的所有数据的字符串
    curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
    $res = curl_exec($curl);
    return $res;
  }
 ?>

2,wechat.php文件里主要是处理event类型事件的代码;(代码比较长,源码附百度云链接
3,testWechat.php文件里主要是获取access_token、创建自定义菜单、个性化菜单上传临时文件等(代码比较长,源码附上面百度云链接)

说明:代码注释自己认为还差不多,所以这里对代码没有进行解读,代码中具体用到的微信接口请在官方文档中查看,日后可能也会对具体细节再写点文章吧,后续应该也会把大概逻辑和基本原理再写一篇文章
如有疑问或者想法,欢迎留言交流,共同学习。

上一篇 下一篇

猜你喜欢

热点阅读