1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/CYQ19931115-WeiChatLib

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

WeiChatLib

Это библиотека основных функций WeChat для разработки.

Использование: PHP. Не зависит от каких-либо фреймворков.

Доступные функции

  • Получение учётных данных для вызова интерфейса;
  • Приём сообщений (событий и обычных медиасообщений);
  • Отправка сообщений;
  • Шифрование и расшифровка сообщений;
  • Управление медиаматериалами;
  • Создание пользовательских меню;
  • Управление учётными записями;
  • Сбор статистики;
  • Поддержка WeChat JS-SDK;
  • Поддержка интеллектуального интерфейса WeChat;
  • Многоканальная поддержка обслуживания клиентов WeChat.

Установка

Используйте 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

  1. Исправлена проблема с поиском внешних ссылок на файлы.
  2. Исправлена ошибка с путём к файлу автозагрузки в Linux.

Примеры кода

Приём и отправка сообщений:

$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 )

Вы можете оставить комментарий после Вход в систему

Введение

Библиотека для разработки публичных платформ на PHP, удобная для разработчиков WeChat. Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/CYQ19931115-WeiChatLib.git
git@api.gitlife.ru:oschina-mirror/CYQ19931115-WeiChatLib.git
oschina-mirror
CYQ19931115-WeiChatLib
CYQ19931115-WeiChatLib
master