上文thinkphp6使用EasyWeChat5.x(一)说到如何安装。
接下来就是正式使用了,不过正式使用前,需要配置与微信交互的服务器地址(下面讲的URL),然后与微信进行身份验证,验证通过后就可以正式使用了!
开启调试
下载好tp6后会有一个.example.env文件
更名为.env文件
一些基本的连接数据库操作就不演示了
笔者默认你明白如何配置
如下:
申请测试微信公众号
地址移步:申请测试微信公众号
为什么要申请测试微信公众号?
因为公众号开发是需要微信给予权限的
很多高级功能,例如:创建个性化菜单,自定义菜单,模板消息推送等都要求是服务号才可以使用。但对于笔者这种个人开发者而言,成为服务号要给微信交每年300元的毛爷爷,未免有些肉疼。
测试微信公众号具备公众号的所有权限,已足够我们使用了
进去扫码之后
你会得到微信分配给你的appID、appsecret、微信公众号原始id:gh_73758e99c95d
其中URL、Token、域名等是需要你自行设置的。
最终结果,请看如下:
拥有的权限:
最后
再次补充说明:URL是你利用thinkphp编写的一个接口地址,填写的时候不能带有任何参数,只能是类似于 https://www.baidu.com/baidu/index/index 这种格式的接口地址
进入到你的URL所在的控制器中进行编码,如下:
示例代码:
/*
在做微信开发之前要验证自己开发者身份,微信开发团队给了一个认证环节即:
1)将token、timestamp、nonce三个参数进行字典序排序
2)将三个参数字符串拼接成一个字符串进行sha1加密
3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信;这三个请求;其实很简单,查看微信公众开发文档,里面也有源代码,
微信文档:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
下面我们上代码:
*/
public function verify()
{
//Log::write( input(),'wx');
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$signature = $_GET['signature'];
$token = 'anbin'; //微信公众号后台定义的token令牌
$array = [$timestamp, $nonce, $token];
sort($array); //进行字典排序
//将排序后的三个参数拼接之后参数拼接之后进行sha1加密
$tmpstr = sha1(implode('', $array));
//将加密后的字符串与signature进行对比;
if ($tmpstr == $signature && isset($_GET['echostr'])) {
echo $_GET['echostr'];
exit;
}
//验证通过后执行的业务代码
return $this->responseMsg();
}