




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《微信公眾平臺入門到精通》Vol.18昨天在ZTalk的技術群里有人在詢問如何通過微信來做問答系統(tǒng),他有1000道題目,想每次隨機抽取10道題目讓用戶來回答,題目格式如圖:這個圖是那位朋友的,從題目上來看,嘻嘻應該是運營商滴干活。關于答題系統(tǒng)之前有朋友提過,我一直沒時間搞,其實做這個是非常簡單的,趁這次機會干脆做下把源碼提供給大家。源碼請在公眾號里輸入“微信代碼”查看下載連接,然后將下載鏈接自己想辦法搞到PC上然后再下載……建議先下載安裝了再看文章,以下是注意事項:1、與微信接口文件為wx_interface.php,大家可以將里面源代碼復制粘貼到自己的接口文件里覆蓋掉。2、其他的文件全部上傳到SAE的代碼編輯里,有同名文件可以先刪除原來文件再上傳。3、文件說明:base-class.php
自定義函數(shù),無需改動wx_tpl.php回復消息的模板,無需改動question_manager.php題庫管理,無需改動question_add.php
添加題目,無需改動wx_interface.php微信接口文件,根據(jù)自己實際修改名稱數(shù)據(jù)庫創(chuàng)建方法請查看《微信公眾平臺入門到精通》Vol.15,創(chuàng)建代碼在數(shù)據(jù)庫.txt里。數(shù)據(jù)庫分兩張表,一張是問題表,一張是答題情況表,問題庫的結構我就參照上圖來了,答題情況表結構為序號、答題時間、回答的題目序號、答題消耗時間、答題錯誤次數(shù)。一、題庫建立做問答系統(tǒng)首先是創(chuàng)建一個題庫,一般的題目會有單選題、多選題和問答題,鑒于手機用戶使用方便考慮,建議使用單選題。添加題目的文件為question_add.php,大致的代碼結構跟上次的通訊錄后臺一樣,唯一多的是一個題目選項,題目選項我是用textarea這個控件,這是一個支持多行輸入的輸入框,并且可以直接存放到數(shù)據(jù)庫,并且方便的按原來樣子輸出顯示。后臺的效果如下圖所示:二、從題庫隨機提取不重復的N個問題所有做問答系統(tǒng)的朋友都會問這個問題,如何從題庫中隨機的提取N個不重復的,今天在教程里就有這段代碼。其實Mysql本身是有自己的獲取隨機記錄的函數(shù),但是那個效率太低,如果數(shù)據(jù)庫里記錄超過幾萬,就會非常慢。三、用戶答題流程用戶答題整個程序都在wx_interface.php里,我在這里簡單的介紹一下。為了方便隨時修改每次讓用戶回答的題目數(shù),在第17行設了一個抽取題目數(shù),修改這個數(shù)字就可以控制用戶回答題目的數(shù)量。一個友好的關注歡迎引導詞是必不可少的,如何設置歡迎詞請查閱第9期教程。用戶輸入“GO”后就進入了答題環(huán)節(jié)。首先是從題庫中提取N個不重復的隨機題目,獲取的題目是數(shù)組形式,我們將這些題目用serialize序列化后保存到緩存里(命名為:微信用戶OPENID_question_data),接下來用戶答題就是從這個緩存里獲取。設定答題的當前序號為setp_1并保存到緩存,用戶互動時就通過判斷這個緩存是否有值決定是否是答題狀態(tài)。設定開始的時間和初始化錯誤次數(shù)并保存到緩存,用來記錄用戶的一些答題數(shù)據(jù)。由于答題是一個循環(huán)的過程,因此我們在用戶輸入go的時候只是把相關數(shù)據(jù)初始化放入緩存并不輸出問題,而是單獨寫一個每次答題都會用到的循環(huán)過程來做答題,這個循環(huán)過程包括:1、從緩存中取出數(shù)據(jù)2、判斷當前是否在答題狀態(tài),即question_order這個緩存是否有值,同時提取當前是第幾題賦值給$now_order。3、如果當前不是第一題,則表示這個時候用戶發(fā)送的回復消息應該是答案,那么檢查答案是否正確,如果不正確提示錯誤并退出程序讓用戶繼續(xù)回答當前題目。4、判斷當前是否是最后一題,如果是則保存用戶答題數(shù)據(jù),清空所有緩存,提示用戶答題完成信息。5、當前問題回答正確且沒有到最后一題的,系統(tǒng)提取下一個題目輸出,同時增加答題序號的步長。6、一些附加功能,比如輸入best查詢自己的最好成績,輸入history查詢自己最近10次答題記錄。如果想做互動的話還可以讓做個查看比你快的用戶有多少等等,自由發(fā)揮吧?;旧险麄€程序介紹就到這里,想試玩的可以搜索微信號“weixincourse”。因為是在機場寫的,比較匆忙,還請包涵,有問題的請留言……那個咨詢如何做微信問答系統(tǒng)的朋友在我教程出來前已經(jīng)在ZTalk技術群的幫助下自己DIY出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目執(zhí)行月度工作計劃書
- 三農產(chǎn)品加工與儲存安全管理手冊
- 制造業(yè)智能化生產(chǎn)管理系統(tǒng)設計方案
- 化妝品行業(yè)產(chǎn)品安全與質量監(jiān)管解決方案
- 冷鏈物流智能配送平臺建設
- 阿壩2025年四川阿壩小金縣面向縣外考調機關事業(yè)單位工作人員23人筆試歷年參考題庫附帶答案詳解
- 遵義2025年貴州赤水市事業(yè)單位招聘113人筆試歷年參考題庫附帶答案詳解
- 紹興2025年浙江紹興市上虞區(qū)衛(wèi)生健康系統(tǒng)招聘衛(wèi)技人員39人筆試歷年參考題庫附帶答案詳解
- 甘肅2025年甘肅省科學技術廳所屬事業(yè)單位招聘18人筆試歷年參考題庫附帶答案詳解
- 安徽省阜陽市潁州區(qū)阜陽市第三中學2024-2025學年高二上學期1月期末英語試題(解析版)
- 2025中小學植樹節(jié)主題班會
- 瘋狂動物城賞析課件
- 2025浙江慈溪市水務集團限公司招聘國企業(yè)人員19人高頻重點提升(共500題)附帶答案詳解
- 制造業(yè)智能化生產(chǎn)流程改造實施方案
- 校車司機和跟車老師培訓
- 鐵道概論知到智慧樹章節(jié)測試課后答案2024年秋石家莊鐵道大學
- 北師大版(2024新版)七年級上冊數(shù)學第五章《一元一次方程》單元測試卷3(含答案解析)
- 2024年10月自考00318公共政策試題及答案
- 組態(tài)工控技術 課件 4組態(tài)王(KINGVIEW)入門工程
- 部編高教版2023·職業(yè)模塊 中職語文 2.《寧夏閩寧鎮(zhèn):昔日干沙灘今日金沙灘》 課件
- 《腦膠質瘤診療指南2024版》解讀
評論
0/150
提交評論