W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
此擴展可用于微信的服務號、訂閱號、企業(yè)號等功能開發(fā),在PhalApi框架下簡單配置即可開發(fā)使用。
從 PhalApi-Library 擴展庫中下載獲取 Wechat 微信包,如使用:
git clone https://git.oschina.net/dogstar/PhalApi-Library.git
然后把 Wechat 目錄復制到 ./PhalApi/Library/ 下,即:
cp ./PhalApi-Library/Wechat/ ./PhalApi/Library/ -R
到此安裝完畢!接下是插件的配置。
為了讓微信擴展包能接收來自微信服務器的信息以及返回信息給用戶,我們需要在 ./Config/app.php 配置文件中追加以下配置:
/**
* 插件注冊 - 項目級重用
*/
'Wechat' => array(
'plugins' => array(
Wechat_InMessage::MSG_TYPE_TEXT => array('Plugin_Menu',),
Wechat_InMessage::MSG_TYPE_IMAGE => array(),
Wechat_InMessage::MSG_TYPE_VOICE => array(),
Wechat_InMessage::MSG_TYPE_VIDEO => array(),
Wechat_InMessage::MSG_TYPE_LOCATION => array(),
Wechat_InMessage::MSG_TYPE_LINK => array(),
Wechat_InMessage::MSG_TYPE_EVENT => array(),
Wechat_InMessage::MSG_TYPE_DEVICE_EVENT => array(),
Wechat_InMessage::MSG_TYPE_DEVICE_TEXT => array(),
),
)
簡單說明一下上面配置的作用,很明顯,Key為對應的消息類型,如:文本、位置、語音、圖片等;然后是各種消息類型對應的處理的類名,可以有多個,從上到下依次處理。
如果覺得配置很多,可以只配置需要用到的消息類型。另外,如果你的配置是其他途徑存放的,也亦然。
可以按將下面的入口代碼得到你的項目下:
//$ vim ./Public/weixin/index.php
<?php
// echo $_GET['echostr'];
// die();
if (!isset($GLOBALS['HTTP_RAW_POST_DATA'])) {
die('Access denied!');
}
require_once dirname(__FILE__) . '/../init.php';
//裝載項目代碼和擴展類庫
DI()->loader->addDirs(array('Demo', 'Library'));
/** ---------------- 微信輕聊版 ---------------- **/
$robot = new Wechat_Lite('YourTokenHere...', true);
$rs = $robot->response();
$rs->output();
特別地 ,當首次接入微信時,需要將開頭的兩句注釋去掉,以便通過微信的驗證,即:
// echo $_GET['echostr'];
// die();
現(xiàn)在,快要過年了,各大企業(yè)都在派紅包,這里,我們也模擬一下微信服務號上紅包的派發(fā)。
通常地,當我們需要添加一個新的微信服務號的功能時,可以兩步走: 先開發(fā)插件,再注冊插件 。
很簡單地:
// $vim ./Demo/Plugin/Money.php
<?php
class Plugin_Money implements Wechat_Plugin_Text {
public function handleText($inMessage, &$outMessage) {
$outMessage = new Wechat_OutMessage_News();
$item = new Wechat_OutMessage_News_Item();
$item->setTitle('讓紅包飛~')
->setDescription(sprintf('您已領取到一個%d元紅包~', rand(1, 100)))
->setPicUrl('http://webtools.qiniudn.com/172906_61c8663a_121026.jpeg')
->setUrl('http://git.oschina.net/dogstar/PhalApi-Library');
$outMessage->addItem($item);
}
}
運行效果:
為了便于進行微信開發(fā)的調試,我們專門提供了一個快速模擬微信請求的腳本。以下是對上面發(fā)紅包的模擬請求:
$php ./Library/Wechat/Tests/send_wechat_text.php http://dev.wechat.com/weixin/ demo
<xml>
<ToUserName><![CDATA[oWNXvjipYqRViMpO8GZwXxE43pUY]]></ToUserName>
<FromUserName><![CDATA[gh_43235ff1360f]]></FromUserName>
<CreateTime>1423821388</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[讓紅包飛~]]></Title>
<Description><![CDATA[您已領取到一個85元紅包~]]></Description>
<PicUrl><![CDATA[http://webtools.qiniudn.com/172906_61c8663a_121026.jpeg]]></PicUrl>
<Url><![CDATA[http://git.oschina.net/dogstar/PhalApi-Library]]></Url>
</item>
</Articles>
<FuncFlag>0</FuncFlag>
</xml>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: