php微信公眾平臺API介面(thinkphp5)
阿新 • • 發佈:2019-02-03
整合了微信公眾號的介面。包括但不限於:獲取access_token,自定義選單,訊息管理,使用者管理等。持續更新。。。下一步增加微信支付和支付寶支付介面
介面類使用了名稱空間,可直接引入並例項化。基於thinkphp5測試。
介面類放在extend/Wechat 目錄下。測試專案附有示例:application/wechat/controller/Index.php
<?php
namespace app\wechat\controller;
use think\Controller;
use Wechat\WechatMenu;
use Wechat\WechatOauth;
use Wechat\WechatUser;
class Index extends Controller
{
public function index(){
return $this->fetch();
}
/**
* 獲取公眾號access_token
*/
public function getAccessToken()
{
$wechatOauth = new WechatOauth();
$accessToken = $wechatOauth->get_access_token();
echo $accessToken;
}
/**
* 生成公眾號選單
*/
public function createMenu()
{
$data = //測試資料
'{
"button":[{
"type":"click",
"name":"今日歌曲2",
"key":"V1001_TODAY_MUSIC"
},
{
"name":"選單",
"sub_button":[
{
"type":"view",
"name":"搜尋",
"url":"http://www.soso.com/"
},
{
"type":"click",
"name":"贊一下我們",
"key":"V1001_GOOD"
}]
}]
}' ;
$wechatMenu = new WechatMenu();
$result = $wechatMenu->createMenu($data);
echo $result;
}
/**
* 批量獲取關注粉絲列表
*/
public function getUserLists()
{
$wechatUser = new WechatUser();
$result = $wechatUser->getUserList();
dump($result);
}
public function location()
{
$wechatUser = new WechatUser();
$result = $wechatUser->location('113.323916', '23.089716');
$result = json_decode($result,true);
dump($result['regeocode']['addressComponent']['city']);
}
}
介面類註釋詳細:
class Wechat {
/**
* @var string|WechatReceive
* 這裡作為微信公眾號的訊息入口(包括繫結入口)。使用者在公眾號傳送的訊息,微信伺服器會推送到這裡(index).這個類可遷到開發的請求控制器中
*/
private $WechatReceive = '';//訊息例項
private $WechatOauth = '';//授權例項
private $FromUserName = '';//訊息傳送者
private $ToUserName = ''; //訊息接受者
private $MsgType = ''; //接收訊息的型別
private $CreateTime = ''; //接收訊息的時間
private $Keyword = ''; //接收訊息的值