网站大量收购闲置独家精品文档,联系QQ:2885784924

《微信公众平台入门到精通》Vol18.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《微信公众平台入门到精通》Vol18

《微信公众平台入门到精通》Vol.18 昨天在ZTalk的技术群里有人在询问如何通过微信来做问答系统,他有1000道题目,想每次随机抽取10道题目让用户来回答,题目格式如图: 这个图是那位朋友的,从题目上来看,嘻嘻应该是运营商滴干活。关于答题系统之前有朋友提过,我一直没时间搞,其实做这个是非常简单的,趁这次机会干脆做下把源码提供给大家。 源码请在公众号里输入“微信代码”查看下载连接,然后将下载链接自己想办法搞到PC上然后再下载……建议先下载安装了再看文章,以下是注意事项: 1、与微信接口文件为wx_interface.php,大家可以将里面源代码复制粘贴到自己的接口文件里覆盖掉。 2、其他的文件全部上传到SAE的代码编辑里,有同名文件可以先删除原来文件再上传。 3、文件说明: base-class.php  自定义函数,无需改动 wx_tpl.php 回复消息的模板,无需改动 question_manager.php 题库管理,无需改动 question_add.php  添加题目,无需改动 wx_interface.php 微信接口文件,根据自己实际修改名称 数据库创建方法请查看《微信公众平台入门到精通》Vol.15,创建代码在数据库.txt里。数据库分两张表,一张是问题表,一张是答题情况表,问题库的结构我就参照上图来了,答题情况表结构为序号、答题时间、回答的题目序号、答题消耗时间、答题错误次数。 一、题库建立 做问答系统首先是创建一个题库,一般的题目会有单选题、多选题和问答题,鉴于手机用户使用方便考虑,建议使用单选题。 添加题目的文件为question_add.php,大致的代码结构跟上次的通讯录后台一样,唯一多的是一个题目选项,题目选项我是用textarea这个控件,这是一个支持多行输入的输入框,并且可以直接存放到数据库,并且方便的按原来样子输出显示。 后台的效果如下图所示: 二、从题库随机提取不重复的N个问题 所有做问答系统的朋友都会问这个问题,如何从题库中随机的提取N个不重复的,今天在教程里就有这段代码。 其实Mysql本身是有自己的获取随机记录的函数,但是那个效率太低,如果数据库里记录超过几万,就会非常慢。 三、用户答题流程 用户答题整个程序都在wx_interface.php里,我在这里简单的介绍一下。 为了方便随时修改每次让用户回答的题目数,在第17行设了一个抽取题目数,修改这个数字就可以控制用户回答题目的数量。 一个友好的关注欢迎引导词是必不可少的,如何设置欢迎词请查阅第9期教程。用户输入“GO”后就进入了答题环节。 首先是从题库中提取N个不重复的随机题目,获取的题目是数组形式,我们将这些题目用serialize序列化后保存到缓存里(命名为:微信用户OPENID_question_data),接下来用户答题就是从这个缓存里获取。 设定答题的当前序号为setp_1并保存到缓存,用户互动时就通过判断这个缓存是否有值决定是否是答题状态。 设定开始的时间和初始化错误次数并保存到缓存,用来记录用户的一些答题数据。 由于答题是一个循环的过程,因此我们在用户输入go的时候只是把相关数据初始化放入缓存并不输出问题,而是单独写一个每次答题都会用到的循环过程来做答题,这个循环过程包括: 1、从缓存中取出数据 2、判断当前是否在答题状态,即question_order这个缓存是否有值,同时提取当前是第几题赋值给$now_order。 3、如果当前不是第一题,则表示这个时候用户发送的回复消息应该是答案,那么检查答案是否正确,如果不正确提示错误并退出程序让用户继续回答当前题目。 4、判断当前是否是最后一题,如果是则保存用户答题数据,清空所有缓存,提示用户答题完成信息。 5、当前问题回答正确且没有到最后一题的,系统提取下一个题目输出,同时增加答题序号的步长。 6、一些附加功能,比如输入best查询自己的最好成绩,输入history查询自己最近10次答题记录。 如果想做互动的话还可以让做个查看比你快的用户有多少等等,自由发挥吧。 基本上整个程序介绍就到这里,想试玩的可以有哪些信誉好的足球投注网站微信号“weixincourse”。因为是在机场写的,比较匆忙,还请包涵,有问题的请留言…… 那个咨询如何做微信问答系统的朋友在我教程出来前已经在ZTalk技术群的帮助下自己DIY出来了,我让他写了点心得,大家可以点击原文阅读查看,里面有不少干货哦。 另外关于批量输入题目这个问题其实好解决,可以用phpexcel这个类程序直接读取XLS表格,具体百度一下吧,哈哈哈!

您可能关注的文档

文档评论(0)

lifupingb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档