易错点,注意插件的命名

1、创建插件。在weiphp管理后台创建成语接龙插件,勾选安装后立即启用,不需要配置项和管理列表。点“确定”完成插件的创建。

2、安装插件。

3、检测插件是否成功安装。返回到weiphp插件管理后台,可以看到成语接龙插件已经成功安装,因为创建该插件的时候没有勾选需要配置项,所以此处没有显示插件配置页面。

4、编写微信响应代码。首先,我们来调试一下成语接龙的接口。

由调试结果我们可以发现,要使用户正常完成成语接龙,必须重复多次获得用户的输入关键词,当用户输入“成语接龙”时开始触发本插件,提示用户输入一个成语,然后获取用户的下一次输入,把用户的下一次输入提交到成语接龙接口地址,用file_get_contents()函数获得接口返回的内容,如果接口返回内容是一个成语的话,则继续获取用户的下一次输入,并把用户输入的关键词提交到接口,按此规律循环,多次获取用户的输入关键词;若接口返回的内容是不是一个成语,比如是“成语必须为4个汉字”之类的提示语时,则回复给用户的消息中提示用户重新输入一个成语或者输入“退出”退出成语接龙;当用户输入的关键词为“退出”时,则退出成语接龙插件,用户的下一次输入将不会提交到成语接龙接口。

整个微信交互模型开发的思路我们弄清楚了,接下来就开始写代码,其中最关键的是用到weiphp封装的一个函数set_user_status(),这个函数的位置及用法:

这个函数的大概意思就是把用户的输入作为缓存存储起来,与用户的下一次输入进行关联,从而完成一次连贯输入操作。用法比较简单,传递的第一个参数为插件的标识名,传递的第二个参数为自定义的一个关键词。

5:下面我们就用这个函数来写一下连贯输入操作:

<?phpnamespace Addons\Idioms\Model;
use Home\Model\WeixinModel;/*** Idioms的微信模型*/
class WeixinAddonModel extends WeixinModel{function reply($dataArr, $keywordArr = array()) {$config = getAddonConfig ( 'Idioms' ); // 获取后台插件的配置参数$api = 'http://i.itpk.cn/api.php?question=@cy';if ($dataArr['Content'] == '成语接龙' || $dataArr['Content'] == 'Idioms' || $dataArr['Content'] == '3') {$keywordArr['step'] = 'input';set_user_status('Idioms', $keywordArr); //缓存自定义关键词$this->replyText('请输入一个成语,比如:一马当先');}if ($keywordArr['step'] == 'input') {if ($dataArr['Content'] == '退出') {$this->replyText('您已经退出成语接龙,再次回复【成语接龙】即可进入~');return false;}$reply = file_get_contents($api.$dataArr['Content']);if ($reply == '别来骗人家,不是随便打4个字就是成语哒!' || $reply == '成语必须为4个汉字') {$keywordArr['step'] = 'input';set_user_status('Idioms', $keywordArr);$this-> replyText($reply."\n".'重新输入一个成语开始接龙,输入【退出】退出成语接龙');} else {$keywordArr['step'] = 'input';set_user_status('Idioms', $keywordArr);$this->replyText($reply);}}}
}

5、微信测试。

再谈Weiphp公众平台开发——1、成语接龙插件相关推荐

  1. php 成语接龙api,再谈Weiphp公众平台开发——1、成语接龙插件

    易错点,注意插件的命名 1.创建插件.在weiphp管理后台创建成语接龙插件,勾选安装后立即启用,不需要配置项和管理列表.点"确定"完成插件的创建. 2.安装插件. 3.检测插件是 ...

  2. 微信公众平台开发问答 【转发】

    微信公众平台开发问答 微信公众平台开发问答是一个微信知识问答区,专注于提供微信应用及开发技术知识的整理.归类和检索. 主题:新手常见问题 问:我是新手,没有开发基础,应该如何学习微信公众平台的开发? ...

  3. 微信公众平台开发(97) 图文消息

    在这篇微信公众平台开发教程中,我们将介绍如何灵活的使用图文消息功能.我们将只介绍被动回复消息中的图文消息,发送客服消息及高级群发消息接口的发送的图文消息与本文介绍的图文消息的各情况基本一致. 本文分为 ...

  4. 高性能微信公众平台开发

    高性能微信公众平台开发 目前,微信平台的月活跃数已达4.38亿,微信已被越来越多的商家为一大重点营销平台.面对如此庞大的用户群,商家迫切需要提供定制化的服务.那么,如何运营微信公众号成为企业亟需解决的 ...

  5. 微信公众平台开发费用其实并不高 及微信公众平台开发简单教程

    今天我一朋友问我一个技术上的问题,通过PHP cURL来请求外部接口,接口返回的是一个JSON的字符串,但如果把字符串copy下来然后赋值 给一个变量再将它json_decode是OK的不会有错,可以 ...

  6. 微信公众平台开发(104) 自定义菜单扫一扫、发图片、发地理位置

    关键字:微信公众平台 自定义菜单 扫一扫 发图片 发地理位置 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-menu-new-type.htm ...

  7. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...

  8. 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——3.3 微信开发者中心...

    本节书摘来自华章计算机<微信公众平台开发:从零基础到ThinkPHP5高性能框架实践>一书中的第3章,第3.3节,作者 方倍工作室,更多章节内容可以访问云栖社区"华章计算机&qu ...

  9. 微信公众平台开发教程(四) 实例入门:机器人(附源码)

    微信公众平台开发教程(四) 实例入门:机器人(附源码) 上一篇文章,写了基本框架,可能很多人会觉得晕头转向,这里提供一个简单的例子来予以说明,希望能帮你解开谜团. 一.功能介绍 通过微信公众平台实现在 ...

最新文章

  1. 写if-else不外乎两种场景:异常逻辑处理和不同状态处理。
  2. Jafka源码粗略解读之二--关于JMX
  3. 学生用计算机说明方法,15.文中多处运用了作比较的说明方法.请任选一例.说说运用这种方法的作用. 例子: 作用:...
  4. JVM架构和GC垃圾回收机制--面试
  5. Vue-注册全局组件的两种方法
  6. [转载] 【python】str与json类型转换
  7. 学习Java需要用到那些软件?
  8. .Net语言的APP开发平台Smobiler3.2版本将于八月中旬发布!——3.2版本预告(二)
  9. android+动态隐藏图标,2018安卓手机怎么隐藏图标 进入隐藏应用界面
  10. 帝国cms系统使用初级教程二(较全面)
  11. 等保2.0 安全计算环境 ——Windows服务器(三级系统)
  12. 上汽赛可携手几维安全 赋能移动出行安全新业态
  13. 全新整理 微软 谷歌 百度等公司经典面试100题 第101 160题
  14. win10安装与配置JDK的环境变量
  15. Linux awk 命令详解
  16. android6.0按键处理浅析
  17. Python基础——计算机组成原理、操作系统概述、编程语言的由来、编程语言分类、python介绍、 安装Cpython解释器、 第一个python程序
  18. ACC——carsim与simulink联合仿真
  19. 网易html5,可拖曳附件 网易邮箱国内首家支持HTML5
  20. 计算机博士要学数学吗,科学网—计算机博士与数学 - 马飞的博文

热门文章

  1. Linux驱动(6)--关于uboot
  2. 非极大值抑制(NMS)
  3. 在PyCharm下使用Jupyter Notebook
  4. python对列表中的字典的字段进行排序
  5. mysql简单语句_MYSQL常用简单语句
  6. 【输入一个数,判断是否为素数(质数)】
  7. kafka调试工具kafkacat的使用
  8. ipython的使用
  9. [CodePlus 2017 11月赛]晨跑 题解(辗转相除法求GCD)
  10. CentOS7显卡驱动问题