app開(kāi)發(fā)之賬號(hào)系統(tǒng)理論篇
很久沒(méi)有寫(xiě)文章了,家里發(fā)生了變故,一段時(shí)間里狀態(tài)不是太好,打了很長(zhǎng)一段時(shí)間dota,雖然項(xiàng)目也在維護(hù),以及開(kāi)發(fā)新的項(xiàng)目,但是效率跟狀態(tài)明顯跟之前天壤之別。對(duì)于現(xiàn)有項(xiàng)目繼續(xù)維護(hù),新項(xiàng)目也會(huì)去做,但是會(huì)有意放慢節(jié)奏,不會(huì)像之前那么輕易,盡量有比較好的方向再去做新項(xiàng)目。
打算抽出一部分精力,來(lái)做一些關(guān)于app開(kāi)發(fā)的教程,這個(gè)還是比較猶豫的,一是水平有限,怕誤人子弟,二是英語(yǔ)很差,很多單詞都念的不標(biāo)準(zhǔn),影響教程質(zhì)量。但最后還是決定去做這樣一件事情,就當(dāng)作自己對(duì)開(kāi)發(fā)的經(jīng)驗(yàn)總結(jié)吧,記錄下來(lái)也是好的。
形式上我是這樣打算的,先寫(xiě)文章,感覺(jué)基本完善之后,以文章作為基準(zhǔn),來(lái)錄制視頻。內(nèi)容上分為理論和實(shí)踐,理論部分把我理解的每個(gè)功能模塊記錄下來(lái),實(shí)踐部分配合理論完成每一部分編碼,從0到1開(kāi)發(fā)一款app,盡量包含app該有的功能,也就是說(shuō)這個(gè)app的是以教學(xué)為目的開(kāi)發(fā),當(dāng)然最后也是會(huì)發(fā)布到應(yīng)用市場(chǎng)。
整個(gè)教程所需要的時(shí)間周期不確定,因?yàn)槭且淮涡碌膰L試,可能是幾個(gè)月,也可能是幾年,而且我估計(jì)中間會(huì)經(jīng)過(guò)多次的修改與調(diào)整。
今天,我來(lái)聊聊app的最基礎(chǔ)功能模塊-賬號(hào)系統(tǒng),我畫(huà)了一個(gè)思維導(dǎo)圖。

賬號(hào)系統(tǒng)分為客戶(hù)端,服務(wù)器2個(gè)部分。
客戶(hù)端主要包括:注冊(cè),登錄,忘記密碼,修改密碼,修改個(gè)人信息,個(gè)人信息詳情幾大部分。
注冊(cè)一般采用手機(jī)號(hào),郵箱,三方登錄等幾種方式,國(guó)內(nèi)應(yīng)用手機(jī)號(hào)注冊(cè)比較常見(jiàn),如果有國(guó)外用戶(hù)注冊(cè)需求,手機(jī)號(hào)還需要選擇國(guó)家代碼,國(guó)外應(yīng)用一般采用郵箱登錄。三方登錄,國(guó)內(nèi)常見(jiàn)有qq,微博,微信等等,國(guó)外是谷歌,face book等。
大部分注冊(cè)頁(yè)都是只有手機(jī)號(hào)/郵箱,密碼,驗(yàn)證碼組成,也有一部分會(huì)把基礎(chǔ)信息放在注冊(cè)頁(yè)。驗(yàn)證碼發(fā)送會(huì)有cd時(shí)間,一般為1分鐘,避免重復(fù)發(fā)送,一是發(fā)送驗(yàn)證碼會(huì)有一個(gè)延時(shí),二是避免惡意發(fā)送以及多次重復(fù)發(fā)送對(duì)服務(wù)器造成壓力,以及不必要的費(fèi)用浪費(fèi)。
注冊(cè)成功后,最簡(jiǎn)單的方式是回到登錄頁(yè),用戶(hù)登錄,也有的會(huì)直接進(jìn)入到登錄狀態(tài)跳轉(zhuǎn)到完善信息?,F(xiàn)在有一部分應(yīng)用在注冊(cè)成功之后還會(huì)引導(dǎo)你進(jìn)入一些特定流程,比如定向關(guān)注,愛(ài)好收集,興趣鎖定等等,這些都是為了后邊更有針對(duì)性的向用戶(hù)展示內(nèi)容,從而提高用戶(hù)粘度。
登錄,忘記密碼,修改密碼所有應(yīng)用基本都相同。
修改信息/完善信息基本都會(huì)包含頭像,昵稱(chēng),性別,出生日期,個(gè)性簽名,其他的根據(jù)每個(gè)產(chǎn)品的定位會(huì)略有不同。
個(gè)人信息頁(yè)用來(lái)展示個(gè)人的基礎(chǔ)信息,以及社交屬性關(guān)注,粉絲,私信,剩下的也是針對(duì)產(chǎn)品方向,可能有帖子,動(dòng)態(tài),相冊(cè)等等。
服務(wù)器主要是數(shù)據(jù)庫(kù)與服務(wù)器邏輯代碼。數(shù)據(jù)庫(kù)最簡(jiǎn)單的就是2個(gè)表,一個(gè)用戶(hù)表用來(lái)記錄用戶(hù)的基礎(chǔ)信息字段,包括用戶(hù)id,昵稱(chēng),頭像,性別,出生日期,個(gè)性簽名以及其他所需字段,另一個(gè)表用來(lái)記錄社交屬性,關(guān)注,粉絲,我是用兩個(gè)用戶(hù)id,以及相互的狀態(tài)幾個(gè)字段來(lái)存儲(chǔ)的。
當(dāng)然企業(yè)級(jí)或者成熟的app肯定不僅僅這幾個(gè)表,以及這幾個(gè)字段,這個(gè)根據(jù)實(shí)際需求來(lái)做。
服務(wù)器邏輯代碼包括定義與客戶(hù)端的協(xié)議,以及對(duì)數(shù)據(jù)庫(kù)的操作。協(xié)議根據(jù)業(yè)務(wù)邏輯來(lái)制定,注冊(cè),登錄,修改密碼,忘記密碼,個(gè)人信息,修改個(gè)人信息,關(guān)注,取消關(guān)注等等。每個(gè)協(xié)議處理相關(guān)業(yè)務(wù)邏輯以及數(shù)據(jù)存儲(chǔ)。
關(guān)于驗(yàn)證碼,短信驗(yàn)證碼需要購(gòu)買(mǎi)短信包,我用的是阿里云,每條短信幾分錢(qián),需要提前申請(qǐng)模版,調(diào)用接口發(fā)送。
至此一個(gè)app的賬號(hào)系統(tǒng)基本完成。
