博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再谈Weiphp公众平台开发——1、成语接龙插件
阅读量:5363 次
发布时间:2019-06-15

本文共 1526 字,大约阅读时间需要 5 分钟。

易错点,注意插件的命名

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

2、安装插件。

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

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

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

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

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

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

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、微信测试。

转载于:https://www.cnblogs.com/zeze/p/5987682.html

你可能感兴趣的文章
bzoj 2632 [neerc2011]Gcd guessing game——贪心(存疑)
查看>>
不同语言的内存管理
查看>>
05BeautifulSoup遍历文档书及搜索文档树
查看>>
e3mall商城的归纳总结1之项目的架构
查看>>
CF798
查看>>
Codeforces 294C 组合数学
查看>>
网页上播放mp3或flash
查看>>
MapReduce教程(一)基于MapReduce框架开发<转>
查看>>
洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)
查看>>
关于字符串为空的判断条件
查看>>
使用sysprep.exe制作GHO或WIM镜像
查看>>
netstat命令的使用详解
查看>>
[LeetCode#72]Edit Distance
查看>>
.NET备份博客园随笔分类文章
查看>>
Ubuntu窗口大小调节方法
查看>>
English Learning -->英语词汇记忆10大规则<思维导图>
查看>>
HDOJ(HDU) 2148 Score(比较、)
查看>>
大不了高三艹个FZU
查看>>
S2_SQL_第一章
查看>>
基础计算几何
查看>>