2019独角兽企业重金招聘Python工程师标准>>>

3.1.1 扩展类库:微信开发

此扩展可用于微信的服务号、订阅号、设备号等功能开发,则PhalApi框架下简单配置即可开发使用。

3.1.2 安装和配置

(1)扩展包下载

从  PhalApi-Library  扩展库中下载获取 Wechat 微信包,如使用:

git clone https://git.oschina.net/dogstar/PhalApi-Library.git

然后把 Wechat 目录复制到 ./PhalApi/Library/ 下,即:

cp ./PhalApi-Library/Wechat/ ./PhalApi/Library/ -R

到处安装完毕!接下是插件的配置。

(2)扩展包配置

为了让微信扩展包能接收来自微信服务器的信息以及返回信息给用户,我们需要在 ./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为对应的消息类型,如:文本、位置、语音、图片等;然后是各种消息类型对应的处理的类名,可以有多个,从上到下依次处理。
如果觉得配置很多,可以只配置需要用到的消息类型。另外,如果你的配置是其他途径存放的,也亦然。

3.1.3 入门使用

(1)微信入口文件

可以按将下面的入口代码得到你的项目下:

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

3.1.4 示例:让红包飞

(1)业务场景

现在,快要过年了,各大企业都在派红包,这里,我们也模拟一下微信服务号上红包的派发。

通常地,当我们需要添加一个新的微信服务号的功能时,可以两步走: 先开发插件,再注册插件

(2)开发插件

很简单地:

// $vim ./Demo/Plugin/Money.php <?phpclass 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://git.oschina.net/uploads/images/2015/0213/172906_61c8663a_121026.jpeg')->setUrl('http://git.oschina.net/dogstar/PhalApi-Library');$outMessage->addItem($item);}
}

运行效果:

3.1.5 微信开发调试

为了便于进行微信开发的调试,我们专门提供了一个快速模拟微信请求的脚本。以下是对上面发红包的模拟请求:

$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://git.oschina.net/uploads/images/2015/0213/172906_61c8663a_121026.jpeg]]></PicUrl><Url><![CDATA[http://git.oschina.net/dogstar/PhalApi-Library]]></Url></item></Articles><FuncFlag>0</FuncFlag></xml>

转载于:https://my.oschina.net/dogstar/blog/375486

PhalApi:[3.1] 扩展类库:微信开发相关推荐

  1. phalapi init.php,PhalApi:[3.1] 扩展类库:微信开发

    3.1.1 扩展类库:微信开发 此扩展可用于微信的服务号.订阅号.设备号等功能开发,则PhalApi框架下简单配置即可开发使用. 3.1.2 安装和配置 (1)扩展包下载 从  PhalApi-Lib ...

  2. php 邮件类库,[3.3]-扩展类库:基于PHPMailer的邮件发送 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    3.3.1 扩展类库:基于PHPMailer的邮件发送 此扩展可用于发送邮件. 3.3.2 安装和配置 从 PhalApi-Library 扩展库中下载获取 PHPMailer 包,如使用: $ gi ...

  3. 微信java tools_微信开发工具包(weixin-java-tools)

    weixin-java-tools是一款简单易用的微信开发工具包,SDK支持包括微信支付.微信开放平台.小程序.企业号/企业微信.公众号(包括服务号和订阅号)等的后端开发. 软件简介: 特性: 1.不 ...

  4. 微信开发之录音上传、下载、转码

    原文是在我自己博客中,小伙伴也可以点 阅读原文进行跳转查看,还有好听的背景音乐噢~ 一年的时间里,前前后后都在搞微信开发的相关模块,这不前一阵子,公司又开了个新项目,其中有一个就是类似于微信朋友圈的功 ...

  5. 微信开发视频、前台模板、vue、python、java、安卓、web视频+素材合集

    https://pan.baidu.com/s/1NLmqi73x9oMR2BvFBHuqTg 转发只为了让更多人能快速搜索到自己想要的 鄙人不盛产资源,鄙人只是资源的搬运工 1:100本最棒前端开发 ...

  6. weixin java tools_weixin-java-tools(微信开发工具包)

    weixin-java-tools是一款非常好用的微信开发工具包,SDK支持包括微信支付.微信开放平台.小程序.企业号/企业微信.公众号(包括服务号和订阅号)等的后端开发.有需要的朋友可以下载.. 相 ...

  7. java微信附件下载_WxJava微信开发工具包

    下面我们对WxJava微信开发工具包文件阐述相关使用资料和WxJava微信开发工具包文件的更新信息. WxJava微信开发工具包 WxJava微信开发Java开发工具包(SDK),支持包括微信支付.微 ...

  8. 小程序子组件向父组件传值_一套组件化、可复用、易扩展的微信小程序 UI 组件库...

    如何使用 Wux Weapp 是一套组件化.可复用.易扩展的微信小程序 UI 组件库.在开始使用之前,需要先阅读微信小程序自定义组件的相关文档. 通过 npm 安装,需要依赖小程序基础库 2.2.1 ...

  9. 【视频教程】JeeWx 微信开发入门视频

    --- JEEWX开发视频教程 --- Jeewx 开源微信管家源码 :         链接: http://git.oschina.net/jeecg/jeewx Jeewx-api 极速SDK: ...

最新文章

  1. Windows XP鲜为人知的70招
  2. 终于决定要写写东西了
  3. 表格单元格中的CSS文本溢出?
  4. PHP获取页面执行时间的方法
  5. mapgis明码文件转为点线面文件_手机上word文档可以转为pdf文件吗?
  6. Android中怎样调用自带的Base64实现文件与字符串的编码和解码
  7. php cookie加密 类,PHP cookie加密类
  8. moocpython123输入若干数、每行输入一个数值作业_MOOC嵩天@python123作业
  9. 老李分享:接电话扩展之uiautomator 1
  10. 三菱PLC编程线缆制作
  11. 【收藏】10个重要问题概览Transformer全部内容
  12. Bootstrap—各式各样的按钮
  13. python实现网页截图功能——学习篇(01)
  14. Thinkphp6 baiy/think-async redis 异步代码执行/异步延迟执行/异步事件订阅
  15. 德保罗大学计算机专业,德保罗大学计算机金融申请要求及专业介绍
  16. VC操作excel(创建表格 查找 插入数据)
  17. 复制网页内容自动添加版权信息的方法
  18. oracle 倒库详细步骤,科二倒车入库操作步骤高清图解,一步一解读,非常实用!...
  19. RuntimeError: Sizes of tensors must match except in dimension 2. Got 5 and 4
  20. Javascript深入浅出之this

热门文章

  1. BFS广度优先算法, DFS深度优先算法,Python,队列实现,栈实现
  2. BigInteger类详解
  3. mac下将python2.7改为python3
  4. python里的pip有什么用_python的pip有什么用
  5. java 解析docx_java解析xlsx和docx 文件 | 学步园
  6. linux的grub界面退出,linux退出 grub
  7. 身为前端工程师,对你来说,你认为最重要的是什么?
  8. GB/T 28181-2016与GB/T 28181-2011变更对比
  9. 接口规范 11. 串流相关接口
  10. linux规定ip使用网卡,使用TC 对LINUX服务器网卡进行带宽限制的办法