現(xiàn)在計(jì)劃開發(fā)一套線抽獎(jiǎng)程序注盈,這套程序是一種通用的抽獎(jiǎng)程序馍佑,基于H5技術(shù)開發(fā)斋否,要能覆蓋大部分線上、線下的抽獎(jiǎng)場(chǎng)景拭荤。
程序目的
通過(guò)此程序茵臭,可以讓用戶通過(guò)注冊(cè)開通的方式,構(gòu)建符合自己要求和適用場(chǎng)景的抽獎(jiǎng)活動(dòng)頁(yè)面舅世。
最終達(dá)到的要求是此程序要能適用于市場(chǎng)上 80% 的抽獎(jiǎng)場(chǎng)景旦委。
特別要注意的是,抽獎(jiǎng)和開獎(jiǎng)的概念雏亚。
抽獎(jiǎng) 是指用戶自己主動(dòng)參與抽取獎(jiǎng)品缨硝,系統(tǒng)實(shí)時(shí)的根據(jù)概率反饋給用戶對(duì)應(yīng)的獎(jiǎng)品。
開獎(jiǎng) 則是將用戶名單或編號(hào)放入抽獎(jiǎng)池中罢低,然后從抽獎(jiǎng)池中抽取的用戶查辩。
簡(jiǎn)單的說(shuō)就是:抽獎(jiǎng)抽的是獎(jiǎng)品,開獎(jiǎng)抽的是人网持。
本方案計(jì)劃開發(fā)的是抽獎(jiǎng)平臺(tái)宜岛,不含開獎(jiǎng)功能,開獎(jiǎng)功能的平臺(tái)將在另外一套方案中整理功舀。
初步要實(shí)現(xiàn)的功能:
- 要能支持多端設(shè)備谬返,包括手機(jī)、電腦遣铝、平板酿炸。
- 要有豐富的,可不斷增加的抽獎(jiǎng)模式庫(kù)扁眯,可以讓用戶自由切換。例如像大轉(zhuǎn)盤绣版、砸金蛋杂抽、刮刮卡缩麸、搖一搖等等愚屁。并且除了可以切換不同的抽獎(jiǎng)模式外,還要能在指定獎(jiǎng)模式的情況下丘跌,切換不同的頁(yè)面風(fēng)格。
- 要能支持多種應(yīng)用場(chǎng)景报辱,比如接入微信公眾號(hào)(使用微信身份參與抽獎(jiǎng))、接入網(wǎng)址/APP、或是不做任何接入(使用登記游客資料的方式參與抽獎(jiǎng))慢睡、還有就是例如線下門店消費(fèi)抽獎(jiǎng)、零售產(chǎn)品掃碼抽獎(jiǎng)等。
- 要能支持多樣化的獎(jiǎng)品复凳,例如:實(shí)物獎(jiǎng)品、微信紅包髓棋、手機(jī)話費(fèi)、禮品兌換券签则、卡密獎(jiǎng)品等渐裂,還有就是通過(guò)API發(fā)放的第三方獎(jiǎng)品,例如用戶積分膝捞、優(yōu)惠券等。
- 要有完善的抽獎(jiǎng)概率設(shè)置機(jī)制计盒,可以設(shè)置每個(gè)獎(jiǎng)品的中獎(jiǎng)概率拔第,同時(shí)也要能限制獎(jiǎng)品發(fā)放數(shù)量∮钪玻可以讓某些用戶指定抽中某獎(jiǎng)品等等。
- 抽獎(jiǎng)資格的發(fā)放要多樣化埋心,比如可以指定用戶可抽獎(jiǎng)的次數(shù)指郁,或者通過(guò)簽到來(lái)獲得抽獎(jiǎng)機(jī)會(huì)。還有通過(guò)掃碼抽獎(jiǎng)碼來(lái)獲得抽獎(jiǎng)機(jī)會(huì)拷呆。另外也要支持通過(guò)API來(lái)實(shí)現(xiàn)動(dòng)態(tài)給用戶增加抽獎(jiǎng)機(jī)會(huì)闲坎,比如某商城要求滿XX元獲得一次抽獎(jiǎng)機(jī)會(huì)的情況。
- 要有有一個(gè)商戶平臺(tái)(抽獎(jiǎng)活動(dòng)的第三方參與者)茬斧,商戶登錄平臺(tái)可以查詢用戶的兌獎(jiǎng)券是否有效并進(jìn)行核銷腰懂。同時(shí)還要要給設(shè)置項(xiàng)來(lái)設(shè)置商戶是否可以生成活動(dòng)抽獎(jiǎng)券。
- 要有白名單機(jī)制项秉,能設(shè)置只有指定條件的用戶才能參與抽獎(jiǎng)活動(dòng)绣溜。
- 必須支持多用戶,用戶開通后可以使用賬號(hào)密碼登錄平臺(tái)娄蔼。配置自己的抽獎(jiǎng)活動(dòng)怖喻。特別要注意的是,同時(shí)用戶要能綁定自己的域名贷屎,或者將抽獎(jiǎng)程序前端放入到自己的平臺(tái)中罢防。
- 必須要有開放 API,要能讓第三方平臺(tái)簡(jiǎn)單快速的接入到抽獎(jiǎng)系統(tǒng)唉侄,實(shí)現(xiàn)與第三方平臺(tái)用戶同步登錄狀態(tài)咒吐,并且能將第三方的虛擬物品作為抽獎(jiǎng)的獎(jiǎng)品。
暫時(shí)就想到這么多属划,后面的篇幅可能還會(huì)對(duì)細(xì)節(jié)進(jìn)行不同程度的擴(kuò)展和補(bǔ)充恬叹。
此處的功能設(shè)計(jì),部分參考自樂(lè)智抽獎(jiǎng)插件(http://www.lezhi99.com/)同眯。并在其基礎(chǔ)上做了大量提升绽昼。
程序架構(gòu)
整個(gè)系統(tǒng)采用前后端分離的模式開發(fā),說(shuō)明如下:
- 后端引擎:采用 php + mysql 開發(fā)须蜗,提供一切前端需要的數(shù)據(jù)交互接口支持硅确。
- 管理平臺(tái):找一些現(xiàn)成的后臺(tái)框架,使用 API 方式和后端引擎通訊明肮。用于對(duì)活動(dòng)進(jìn)行配置菱农。
- 活動(dòng)平臺(tái):供用戶訪問(wèn)的活動(dòng)頁(yè)面,基于H5技術(shù)柿估,通過(guò)API與后端引擎進(jìn)行通訊循未,完成活動(dòng)情境的交互。
采用前后端分離的方式秫舌,可以使將前端文件放到用戶服務(wù)器上訪問(wèn)的妖。從而實(shí)現(xiàn)一些特殊需求绣檬。例如用戶要把抽獎(jiǎng)嵌入微信小程序里面是需要域名授權(quán)的。這樣用戶可以放到自己現(xiàn)有域下面進(jìn)行訪問(wèn)嫂粟。
一些相關(guān)技術(shù)鏈接娇未,僅供參考和選用:
后臺(tái)模版考慮選用 layuiAdmin:https://www.layui.com/admin/
RESTfull 接口規(guī)范:http://www.reibang.com/p/5659e6e16115
AJAX 跨域問(wèn)題:https://segmentfault.com/a/1190000012469713
JWT 接口認(rèn)證機(jī)制:http://www.reibang.com/p/85fbe649a239