Pigcms中WeixinAction的简略版流程
if $this->ali = 0;
1、new wechat() //该类存于PigCms/lib/ORG/Wechat.class.php
2、list($content,$type) = $this->reply($data);
3、$weixin->response($content,$type);
reply($data)方法:
if($data['MsgType'] == 'image'){ //判断接收信息的类型
if($data['Event'] == 'SCAN'){ //判断事件类型
if($data['content'] == 'wechat_ip'){ //判断接收内容
return $this->keyword($key); //$key就是$data['content']
keyword($key)方法:
switch($key){
case 'Home': …… break;
$data = M('keyword')->where('keyword' == $key)
if($data != false){
如果存在$data['module'].'Reply'这个类,则实例化该类,return该类的方法
如果不存在$data['module'].'Reply'这个类,则
switch($data['module']){ case 'Img': …… break;
}else{
//$data==false
return $nokeywordReply;
或者 return array('...',transfer_customer_service); //转客服
或者 return array($this->chat($key),'text');
}
chat($name)方法:
如:接入图灵机器人,返回文字(return'哈哈')
$weixin->response($content,$type)方法:
$xml = new SimpleXMLElement('<xml></xml>');
$this->data2xml($xml,$this->data); //$this->data已经有toUserName、fromUserName、MsgType等必须参数了
exit($xml->asXML());
Pigcms中WeixinAction的简略版流程的更多相关文章
- 在Web应用中接入微信支付的流程之极简清晰版
在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...
- 在Web应用中接入微信支付的流程之极简清晰版 (转)
在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...
- Centos7中ELK集群安装流程
Centos7中ELK集群安装流程 说明:三个版本必须相同,这里安装5.1版. 一.安装Elasticsearch5.1 hostnamectl set-hostname elk vim /e ...
- 记录archlinux中安装pcl的大致流程
贴一下pcl在github上的网址: https://github.com/PointCloudLibrary/pcl/ 从这个网址出发,一般能找到安装的 tutorial.以下只说一下在archli ...
- 开发与测试整体过程中的Git分支merge流程
开发与测试整体过程中的Git分支merge流程 Git分支merge之开发流程 首先在Gitlab上有个仓库存储着原始的项目代码,其中包含一个叫master的分支.然后可能按功能进行分配,由不同的开发 ...
- 试图使用未在此报表服务器中注册或此版 Reporting Services 不支持的数据扩展插件“Devart.Data.PostgreSql”
数据源用的是Postgresql 我在Deploy Report的时候出现这条ErrorMessage Error 2 试图使用未在此报表服务器中注册或此版 Reporting Services 不支 ...
- 转 关于Https协议中的ssl加密解密流程
关于Https协议中的ssl加密解密流程 2016年09月28日 09:51:15 阅读数:14809 转载自:http://www.cnblogs.com/P_Chou/archive/2010/1 ...
- 在Docker中运行EOS(MAC版)
在Docker中运行EOS(MAC版) 在Docker中也可以简单快速的构建EOS.IO.笔者在Mac平台下参考官方文档躺了一次河.记录如下: 安装依赖 Docker 版本 17.05或者更高 tes ...
- Qt的安装和使用中的常见问题(简略版)
对于喜欢研究细节的朋友,可参考Qt的安装和使用中的常见问题(详细版). 目录 1.引入 2.Qt简介 3.Qt版本 3.1 查看安装的Qt版本 3.2 查看当前项目使用的Qt版本 3.3 查看当前项目 ...
随机推荐
- 从零开始学android-一行两个按钮居中 布局
方法一: <RelativeLayout android:id="@+id/relativeTop" android:layout_width="fill_pare ...
- CRM-BP相关FUNCTION
获取BP的地址信息:BUPA_ADDRESS_GET_DETAIL 修改BP的信息:CRM_WAP_BP_CHANGE BUTO50存放2个BP之间的关系 获取BP的角色 BAPI_BUPA_ROLE ...
- Compiling aSmack
For a recent mobile project we used XMPP. It worked really well and I’m keen to use it again. But, i ...
- [Bootstrap] 3. Responsive Gridding (.hidden-sm, visible-md)
Grid Size For .col-md We started designing our site using the col-md-* classes. These classes target ...
- C 队列顺序存储
#ifndef __MY_SEQLIST_H__ #define __MY_SEQLIST_H__ typedef void SeqList; typedef void SeqListNode; // ...
- NET中間語言(IL) 图解
转载地址是:http://msdn.microsoft.com/zh-tw/library/dd229210.aspx 想查看IL指令,请看中英文对照表: CN-http://www.cnblogs. ...
- php中body下出现莫名空白字符
php中body下出现莫名空白字符,出现原因 1. 模板前面有莫名格式空格,删不掉,必须把模板里面东西复制出来,新建一个文件弄进去,覆盖原有的 2.docutype前面出现代码,也会导致此问题(有可能 ...
- node.js 浏览器中输出 “hello world”
前段时间花了几个小时,在command面板输出了“hello world”,今天就来说说怎么在浏览器上输入一个地址,然后页面输出“hello world”. 首先要搭建一个基础的 HTTP 服务器 一 ...
- MySQL的数据类型(转)
MySQL的数据类型 1.整数 TINYINT: 8 bit 存储空间 SMALLINT: 16 bit 存储空间 MEDIUMINT: 24 bit 存储空间 INT: 32 bit 存储空间 BI ...
- CSS_样式sample
<!DOCTYPE HTML> <html> <head> <title>div浮动</title> <style type=&quo ...