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());

时间: 2024-09-29 23:33:08

Pigcms中WeixinAction的简略版流程的相关文章

试图使用未在此报表服务器中注册或此版 Reporting Services 不支持的数据扩展插件“Devart.Data.PostgreSql”

数据源用的是Postgresql 我在Deploy Report的时候出现这条ErrorMessage Error 2 试图使用未在此报表服务器中注册或此版 Reporting Services 不支持的数据扩展插件“Devart.Data.PostgreSql”. 解决方案: SQL Server安装路径\MSRS10_50.***\Reporting Services\ReportServer\rsreportserver.config里面加下面这个节点然后重启Sql server就好了<E

JAVA中的异常(异常处理流程、异常处理的缺陷)

异常处理流程 1)首先由try{...}catch(Exception e){ System.out.println(e); e.printStackTrace(); }finally{...}结构 2)当JVM遇到异常时,会产生一个Exception对象 或 继承自Exception的子类的对象. 3)将异常对象向上层(调用它的代码块)抛出,知道碰到一个catch块(作相应处理) 或 一直抛到了最外层(导致程序异常终止).(并停止异常之后的代码的执行,但是finally块中的代码还会执行!换句

在 VirtualBox 中安装最小化版 CentOS

在 VirtualBox 中安装最小化版 CentOS 发表于 2013-08-27 作者 Haoxian Zeng 浏览 3,062 次 7 在刚开始接触 VPS 服务器的时候,为了测试各种程序和配置是否能用,就在本地使用 VirtualBox创建了一个与 VPS 配置差不多一样的虚拟机,也装上了 Linux 的 CentOS 发行版,内存大小.系统和软件都照着 VPS 的模式来.这是个练手的好方法. 因为只是将它当作一个 VPS 来用的,安装之前考虑这么几件事情: 操作系统.Linode V

OSG 中 相交测试 模块 工作流程及原理

主要涉及三个类: 1. osgUtil::PolytopeIntersector // 具体不同算法实现类 2. osgUtil::IntersectionVisitor //用来遍历节点树的每个节点 3.osg::Node * mNode;  //  你要做相交测试的根节点 先看用法: osg::ref_ptr<osgUtil::PolytopeIntersector> intersector = new osgUtil::PolytopeIntersector(osgUtil::Inter

记录archlinux中安装pcl的大致流程

贴一下pcl在github上的网址: https://github.com/PointCloudLibrary/pcl/ 从这个网址出发,一般能找到安装的 tutorial.以下只说一下在archlinux中安装时的大致流程. 1.首先你的电脑上要安装有 cmake, make, gcc 这些基本的软件. 2.根据http://www.pointclouds.org/documentation/tutorials/compiling_pcl_posix.php 这里的介绍,下载源码,进行cmak

Android系统中基于Binder的IPC流程框架分析

前言: Activity.Service.BroadcastReceiver.Content Provider是Android的四大应用程序组件,构成一个完整的应用程序的这些组件可以在同一个进程,也可以不在同一个进程,而当这些组件不在同一个进程,需要进行数据交互时就需要一种IPC(Inter-Process Communication)进程间通信机制来完成,而Binder就是提供了IPC功能的一个框架.实现IPC的整个Binder框架包含几个重要组成部分,它们分别是Binder Driver.C

Oracle EBS 中直发订单Drop Ship流程的系统操作记录

Oracle EBS 中直发订单Drop Ship流程的系统操作记录 应用场景: A公司向客户B销售产品,但是自己不生产该产品,而是向供应商C来采购,并且通常是要供应商C直接把货发到B客户处,属于贸易型企业经常用到的业务流程,有些集团公司下的子公司销售业务也用这种方式. 在实际业务中,并非所有的销售都是企业内部发出的,为了节约成本.提高周转效率.甚至应急销售,企业往往将外部企业也作为自己销售供货的来源之一,通过采购后直接发货的方式,将其他企业的货物直接销往自己的客户.这种销售业务模式,系统中称之

清除pc浏览器访问手机版造成pc会员中心跳转手机版错误-destoon技巧

最近研究destoon,从电脑端访问手机端会造成pc会员中心跳转手机版错误,在一步一步查看源代码内核,才发现问题,所以分享给大家! 加入网站首页 index.php  然后访问你的  网址/index.php    set_cookie('mobile', ' ', $DT_TIME + 30*86400);       如果要去掉pc端用模拟器访问手机端造成pc端会员中心不能访问的设置    可以打开 mobile/common.inc.php  找到以下:    if($_mobile ==

在博客中显示图片_Mac版

主要是防止自己忘掉 为了解决一开始自己想在写入的博客中添加本地图片,直接链接的话在自己的电脑倒是可以显示图片,但是在别人的电脑上就没办法加载图片了,问各路大神也没人愿意解答,百度也没有想要的答案,只好自己摸索笨方法. 小白新进,不喜勿喷 在桌面新建一个文件夹,保存你想要上传的图片,假设名字为pic0 打开Github Desktop,点击左上角的+号,在Name中添加存储图片工程的名字,我这假设Name为picture0,Local Path是选择保存文件夹picture的地址,假设路径为~/D