使用ivx實(shí)現(xiàn)投票功能的經(jīng)驗(yàn)總結(jié)(拓展篇)

之前有講過(guò)一個(gè)投票模型房铭,用戶登錄案例可以給候選人投票或者成為候選人庞溜,而且每人只有一次投票機(jī)會(huì)桥帆,今天我們對(duì)其進(jìn)行一些拓展喳整。(使用ivx實(shí)現(xiàn)投票的經(jīng)驗(yàn)總結(jié)

一.實(shí)時(shí)展示

原案例中我們是在案例初始化時(shí)將所有候選人信息拿到前臺(tái)管搪,并且只有在當(dāng)前用戶投票后才去將前臺(tái)數(shù)據(jù)中所投候選人的票數(shù)加1虾攻,這樣是無(wú)法得知登錄案例后其他用戶的投票操作的,不過(guò)我們可以通過(guò)添加一個(gè)連接組件來(lái)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)展示更鲁。下面說(shuō)一下具體步驟霎箍。

1.登記

在案例初始化時(shí)有一個(gè)發(fā)起微信公眾號(hào)登錄的步驟,我們可以在登錄成功后讓連接登記當(dāng)前用戶澡为,這樣所有在線用戶就都會(huì)處于連接中漂坏。

2.成為候選人

當(dāng)用戶選擇成為候選人的時(shí)候,我們需要發(fā)送一條全局消息給連接中的所有用戶進(jìn)行通知媒至,其中設(shè)定消息類型為參加投票顶别,其他消息內(nèi)容包括參選人的昵稱、頭像和openID拒啰。當(dāng)其他用戶收到全局消息時(shí)驯绎,就將參選人信息添加到前臺(tái)的候選人數(shù)據(jù)列表中。

3.投票時(shí)發(fā)送全局消息

當(dāng)用戶點(diǎn)擊投票按鈕谋旦,原本是當(dāng)后臺(tái)數(shù)據(jù)修改成功后再修改前臺(tái)數(shù)據(jù)剩失,現(xiàn)在我們改為調(diào)用連接發(fā)送一條全局消息,其中消息類型為投票册着,候選人則就是所投候選人的openID拴孤。

對(duì)應(yīng)的,其它用戶收到全局消息時(shí)甲捏,會(huì)將前臺(tái)候選人數(shù)據(jù)列表中的數(shù)據(jù)更新演熟。這樣當(dāng)其他用戶投票時(shí),所有在線用戶就都能實(shí)時(shí)收到并更新票數(shù)了司顿。

二.一次多票

還有一個(gè)可拓展地方是绽媒,原來(lái)的案例中每次用戶投票只能投給一個(gè)候選人蚕冬,如何實(shí)現(xiàn)一次選中多個(gè)候選人進(jìn)行投票呢,這里我們將點(diǎn)擊投票按鈕后提交的數(shù)據(jù)換成一個(gè)對(duì)象數(shù)組是辕。每次點(diǎn)擊一個(gè)候選人時(shí),會(huì)使用indexOf方法判定當(dāng)前選中候選人是否已經(jīng)在“選中對(duì)象”中了猎提,如果在則移出获三,不在則添加。最后將“選中對(duì)象”傳遞給服務(wù)锨苏。

在服務(wù)中我們執(zhí)行一個(gè)循環(huán)語(yǔ)句疙教,循環(huán)次數(shù)就是openID的元素個(gè)數(shù),每次循環(huán)中對(duì)數(shù)組中的一個(gè)候選人進(jìn)行投票伞租。這樣贞谓,循環(huán)結(jié)束后就對(duì)提交的所有候選人都進(jìn)行了投票。

其實(shí)最新的ivx中數(shù)據(jù)庫(kù)可以執(zhí)行一次提交多條數(shù)據(jù)的動(dòng)作了葵诈,并且不再限制必須提交JSON格式的數(shù)據(jù)裸弦,可以直接提交對(duì)象數(shù)組。

三.投票組件

最后我們說(shuō)一下功能數(shù)據(jù)庫(kù)——投票組件是如何使用的作喘。

1.投票組件

投票組件需要添加在后臺(tái)理疙,可以看到投票組件下有兩個(gè)數(shù)據(jù)庫(kù),候選人信息和投票流水記錄泞坦,它們自動(dòng)包含一些必須字段窖贤。我們只能修改候選人和自己添加的頭像字段里的內(nèi)容,而投票數(shù)則是無(wú)法在數(shù)據(jù)庫(kù)中輸入修改的贰锁,它們的修改只能由投票組件的投票動(dòng)作發(fā)起赃梧。


2.投票組件的動(dòng)作

投票組件可以執(zhí)行兩個(gè)動(dòng)作,獲取候選人列表和投票豌熄。獲取候選人列表就是將所有候選人輸出授嘀,與普通的數(shù)據(jù)庫(kù)輸出是類似的,投票是已經(jīng)封裝好的動(dòng)作房轿,會(huì)先在投票流水記錄中添加一條數(shù)據(jù)然后更新候選人信息粤攒。這里我們將其放置在兩個(gè)服務(wù)中。

3.最后就可以在前臺(tái)通過(guò)服務(wù)調(diào)用投票組件了囱持。

不過(guò)需要注意的是夯接,使用投票組件時(shí),就只能通過(guò)服務(wù)對(duì)候選人列表和投票流水記錄兩個(gè)數(shù)據(jù)庫(kù)進(jìn)行操作纷妆,在前臺(tái)的事件中是無(wú)法選中它們的盔几。比如添加一個(gè)候選人,我們只能將候選人傳遞給服務(wù)掩幢,由服務(wù)執(zhí)行提交動(dòng)作逊拍,而且也只能提交候選人以及自己添加的字段上鞠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市芯丧,隨后出現(xiàn)的幾起案子芍阎,更是在濱河造成了極大的恐慌,老刑警劉巖缨恒,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谴咸,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡骗露,警方通過(guò)查閱死者的電腦和手機(jī)岭佳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)萧锉,“玉大人珊随,你說(shuō)我怎么就攤上這事∈料叮” “怎么了叶洞?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)优俘。 經(jīng)常有香客問(wèn)我京办,道長(zhǎng),這世上最難降的妖魔是什么帆焕? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任惭婿,我火速辦了婚禮,結(jié)果婚禮上叶雹,老公的妹妹穿的比我還像新娘财饥。我一直安慰自己,他們只是感情好折晦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布钥星。 她就那樣靜靜地躺著,像睡著了一般满着。 火紅的嫁衣襯著肌膚如雪谦炒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天风喇,我揣著相機(jī)與錄音宁改,去河邊找鬼。 笑死魂莫,一個(gè)胖子當(dāng)著我的面吹牛还蹲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼谜喊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼潭兽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起斗遏,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤山卦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后最易,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怒坯,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年藻懒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片视译。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嬉荆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出酷含,到底是詐尸還是另有隱情鄙早,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布椅亚,位于F島的核電站限番,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏呀舔。R本人自食惡果不足惜弥虐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望媚赖。 院中可真熱鬧霜瘪,春花似錦、人聲如沸惧磺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)磨隘。三九已至缤底,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間番捂,已是汗流浹背个唧。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留白嘁,地道東北人坑鱼。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親鲁沥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子呼股,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容