WeiChatLib
Это библиотека основных функций WeChat для разработки.
Использование: PHP. Не зависит от каких-либо фреймворков.
Используйте git для клонирования:
$ git clone https://git.oschina.net/CYQ19931115/WeiChatLib.git WeiChatLib
$ cd WeiChatLib
Перед запуском необходимо настроить приложение в файле config.php, указав appid и appsecret. Если используется зашифрованный тип учётной записи, установите encrypt в значение 1.
В файле Messge.php есть примеры кода для тестирования.
1.0.1
Пожалуйста, обсудите её в разделе issues.
http://121.42.140.54/index.php?s=/Home/Article/lists/category/runWeichat.html
2016.2.26
$MegHandleStart=new MegHandleStart();
//Приём сообщения
$MegHandleStart->Receive();
//Получение полученного сообщения (object)
$messge=$MegHandleStart->_getMessge();
$Meg=(new TextMegHandle())->createMessge("welcome to see me ! ",$messge);
//Создание различных ответов на сообщения
if($messge->MsgType==TextMegHandle::MEG_TYPE){
$Meg=(new TextMegHandle())->createMessge("welcome to see me ! ",$messge);
}elseif($messge->MsgType==ImageMegHandle::MEG_TYPE){
// $Meg=(new ImageMegHandle())->createMessge("QOWvDW3H3U4e2mvCZmA2K5GoQn_145D3305QY6lxA0Hx0KAY2F7oiFW8Dhx90yG0",$messge);
$Meg=(new NewsMegHandle())->createMessge(array(
array("Title"=>"图文测试","Description"=>"这是一个图文测试","PicUrl"=>"https://mmbiz.qlogo.cn/mmbiz/LNYdVN1e3QhSOc3KfsElTqCnojgZZzrbKSeCugpO1B0MWkoDZoCWibUm3Lh4fiaKQ0vMnW6oian7tgGY7qHNq2CYQ/0?wx_fmt=jpeg","Url"=>"http://www.baidu.com/"),
array("Title"=>"图文测试","Description"=>"这是一个图文测试","PicUrl"=>"https://mmbiz.qlogo.cn/mmbiz/LNYdVN1e3QhSOc3KfsElTqCnojgZZzrbKSeCugpO1B0MWkoDZoCWibUm3Lh4fiaKQ0vMnW6oian7tgGY7qHNq2CYQ/0?wx_fmt=jpeg","Url"=>"http://www.baidu.com/"),
array("Title"=>"图文测试","Description"=>"这是一个图文测试","PicUrl"=>"https://mmbiz.qlogo.cn/mmbiz/LNYdVN1e3QhSOc3KfsElTqCnojgZZzrbKSeCugpO1B0MWkoDZoCWibUm3Lh4fiaKQ0vMnW6oian7tgGY7qHNq2CYQ/0?wx_fmt=jpeg","Url"=>"http://www.baidu.com/"),
),$messge);
}elseif($messge->MsgType==VideoMegHandle::MEG_TYPE){
$Meg=(new VideoMegHandle())->createMessge("qNcD1orN0u_gBDPxY-0gJiiBNZ9FYObkzSgGWq0SEo8",$messge);
}elseif($messge->MsgType==VoiceMegHandle::MEG_TYPE){
// $Meg=(new VoiceMegHandle())->createMessge($messge->MediaId,$messge);
$Meg=(new TextMegHandle())->createMessge($messge->Recognition,$messge);
}
elseif($messge->MsgType==EventHandle::MEG_TYPE){
$Meg=(new TextMegHandle())->createMessge("Ты нажал на меню".$messge->EventKey,$messge);
}
//Отправка сообщения
$MegHandleStart->Send($Meg);
$usermanage=ToolFactory::createUserManage();
//Данные пользователя для тестирования
//Получить параметр code для перехода по ссылке
$code= $usermanage->getUserCode("http://4b7thcqbe9.proxy.qqbrowser.cc");
echo $code;
//Получить access_token
$access_token=$usermanage->getUserAccessToken($code);
var_dump($access_token);
//Получить информацию о пользователе
$userinfo=$usermanage->getUserInfo($access_token['access_token'],$access_token['openid']);
var_dump($userinfo);
//Получить информацию о пользователе через openid
$result= $usermanage->getUserInfoByListOpenid(array(
"oZWc3t69hk6XlRaCOmgv5SfI1TO8",
"oZWc3t4DwN6qQSaooL8nX5ixC95g",
));
//Удалить группу
$usermanage->delectGroup(104);
$usermanage->delectGroup(105);
//Получить все группы
$getAllGroup=$usermanage->getAllGroup();
//Переместить пользователя в группу
$usermanage->moveUserToGroup("oZWc3tzh5Fcw2KmzcMuJ8CVHoIBY",1);
var_dump($result);
var_dump($getAllGroup);
//Создать инструмент управления меню
$meun=ToolFactory::createMeunManage();
//Создать меню первого уровня
$meun->_setMeunDataOne($meun->meunButtonCreate("Тест","клик","Меню первого уровня"));
$meun->_setMeunDataOne($meun->meunButtonCreate("Подменю"));
//Создать меню второго уровня Второй параметр указывает на принадлежность к материнской группе с номером 0
$meun->_setMeunDataSecond($meun->meunButtonCreate("один","просмотр","http://www.baidu.com"),1);
$meun->_setMeunDataSecond($meun->meunButtonCreate("два","клик","Ха-ха"),1);
$meun->_setMeunDataSecond($meun->meunButtonCreate("три","клик","ин"),1);
//Установить индивидуальное меню
$meun->_setMatchruleSex(1);
var_dump($meun->MeunData);
//Применить настройки меню
$result=$meun->meunSet();
var_dump($result);
Тестовый аккаунт
.IMegAddtion.php — интерфейс для выполнения дополнительных действий при отправке или получении сообщений через WeChat;
.IMegHandle.php — интерфейсный узел сообщений;
.IUrlBuild.php — интерфейсный модуль построения сообщений;
config.php — файл конфигурации системы;
ioc.php — конфигурация с настройками инверсии управления (control reversal);
urllist.php — список URL-адресов;
index.php — входной файл (в демонстрационной версии сообщения WeChat отправляются сюда);
LICENSE — заявление о том, что проект является открытым исходным кодом;
Messge.php — тестовый файл демо;
README.md — файл с описанием проекта;
Autoload.php — загрузка файлов в автоматическом режиме;
Configuration.php — класс для чтения конфигурационных файлов;
Initialize.php — класс инициализации системы;
IocController.php — класс с контролем инверсии;
ErrorCode.php — код ошибки при шифровании и дешифровании сообщений;
PKCS7Encoder.php — предоставляет интерфейсы шифрования и дешифрования на основе алгоритма PKCS7;
Prpcrypt.php — обеспечивает интерфейсы для шифрования и дешифрования сообщений, отправляемых и получаемых на публичной платформе;
SHA1.php — вычисляет подпись сообщений на публичной платформе;
WeiChatMegEncrypt.php — шифрует и расшифровывает сообщения WeChat;
XMLParse.php — считывает файлы XML;
defaultMegReceiveAddtion.php — класс дополнительных действий по умолчанию при получении сообщений;
defaultMegSendAddtion.php — класс дополнительных действий по умолчанию при отправке сообщений;
MegHandle.php — родительский класс для обработки сообщений;
MegHandleStart.php — класс запуска цепочки сообщений (Weichatlib использует модель ответственности за обработку сообщений);
EventHandle.php — узел сообщений о событиях во времени;
ClickEventMegHandle.php — отправляет события при кликах;
LocationEventMegHandle.php — отправляет сообщения о местоположении;
SubscribeEventMegHandle.php — отправляет уведомления о подписке;
TemplateSendJobFinishEventMegHandle.php — отправляет уведомление об окончании отправки шаблонных сообщений;
UnsubscribeEventMegHandle.php — отменяет подписку;
ViewEventMegHandle.php — уведомляет о переходе по меню;
ImageMegHandle.php — обрабатывает сообщения с изображениями;
MusicMegHandle.php — обрабатывает музыкальные сообщения;
NewsMegHandle.php — обрабатывает текстовые сообщения;
ShortvideoMegHandle.php — обрабатывает короткие видеосообщения;
TemplateMegHandle.php — обрабатывает шаблонные сообщения;
TextMegHandle.php — обрабатывает текстовые сообщения;
VideoMegHandle.php — обрабатывает видеосообщения;
VoiceMegHandle.php — обрабатывает голосовые сообщения;
NormalUrlBuild.php — стандартный класс построения URL;
access_token.txt — текстовый способ хранения access_token;
FileStorage.php — класс хранения файлов;
IStorage.php — общий интерфейс хранилища (можно реализовать этот интерфейс для реализации базы данных access_token);
jsapi_ticket.txt — jstoken для jssdk;
DataManage.php — класс управления данными;
Directory.php — класс управления папками;
Func.php — библиотека функций;
HttpCurl.php — класс HTTP-запросов;
JsSdk.php — класс внедрения данных jssdk и получения данных;
MaterialManage.php — класс управления медиафайлами;
MeunManage.php — класс управления меню;
QRcodeManage.php — класс управления QR-кодами;
SafeCheck.php — класс проверки безопасности;
ServiceDataReceive.php — класс приёма данных с сервера WeChat;
ServiceDataSend.php — класс отправки данных на сервер WeChat;
ServiceManage.php — класс управления службой поддержки клиентов;
ToolFactory.php — статическая фабрика классов в этой папке;
UserManage.php — класс управления пользователями;
WeiChat.php — демонстрационный класс;
ying.jpg — изображение;
ying.mp3 — аудиофайл;
ying.mp4 — видеофайл.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )