版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于微信小程序的文章分享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)目錄TOC\o"1-2"\h\u100681緒論 159351.1課題研究背景 1256251.2課題研究意義 2188391.3技術(shù)簡介 239362系統(tǒng)需求分析 326712.1概述 3262282.2功能需求 349882.3數(shù)據(jù)需求 438502.4維護(hù)需求 46713系統(tǒng)總體設(shè)計(jì) 4272843.1系統(tǒng)框架設(shè)計(jì) 5190153.2功能模塊設(shè)計(jì) 613803.3數(shù)據(jù)庫設(shè)計(jì) 719684系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 10268524.1系統(tǒng)界面設(shè)計(jì) 10327634.2系統(tǒng)功能實(shí)現(xiàn) 1317475系統(tǒng)測試 22228875.1概述 2225675.2功能測試 2297266總結(jié)與展望 2650546.1總結(jié) 26256006.2展望 271緒論1.1課題研究背景在網(wǎng)絡(luò)科技時(shí)代的背景下,“終端隨人走、信息圍人轉(zhuǎn)”已經(jīng)成為人們生活的常態(tài)。人們對(duì)文章閱讀的需求和期待越來越高在面對(duì)大量的信息時(shí)。網(wǎng)絡(luò)文章是跟隨網(wǎng)絡(luò)時(shí)代而來的,它的到來讓人們閱讀書籍更加的方便,也激起了人們想要?jiǎng)?chuàng)作的欲望,因此在一些網(wǎng)絡(luò)平臺(tái)上時(shí)常會(huì)看到別人寫的文章。在國內(nèi)使用網(wǎng)絡(luò)支付購物、讀新聞事實(shí)等已經(jīng)隨處可見,網(wǎng)絡(luò)已經(jīng)融入了人類的生活中?,F(xiàn)在的人絕大多數(shù)都會(huì)宅在家里,足不出戶,久而久知人與人的交流,面對(duì)面訴說自己內(nèi)心的情感和分享周邊的事物就逐漸變少了,更多的人喜歡在網(wǎng)上寫文章來記錄自己,也會(huì)在網(wǎng)上瀏覽別人寫的文章來獲取靈感,提升自己的寫作能力。1.2課題研究意義寫文章的方式也在隨著時(shí)代的變換而變換。寫文章已經(jīng)不局限于用筆、墨寫,也可以使用手機(jī)、電腦來編寫文章,這樣可以節(jié)省時(shí)間也可以實(shí)時(shí)發(fā)布,讓更多的人能看到自己的文章,也可以看到別人的文章,網(wǎng)上寫文章可以做到及時(shí)相隔很遠(yuǎn)的距離也能隨時(shí)瀏覽不同人寫的文章。文章分享微信小程序可以讓人們隨時(shí)隨地的發(fā)布文章,并且可以看到其他人寫的文章,不同類型的文章感受到不同的意境。文章分享微信小程序也有利于人們記錄自己的生活,抒發(fā)內(nèi)心的感情,用文字來描述有時(shí)更能深入人心。1.3技術(shù)簡介1.3.1微信小程序概述微信小程序是由騰訊公司開發(fā)出來的,最先有的是微信,再由微信衍生出小程序出來。微信小程序的出現(xiàn)吸引了很多的開發(fā)者,因?yàn)樗僮骱唵危议_發(fā)成本低。小程序是由頁面組成,主要由三個(gè)文件組成,分別是index.js、index.wxss、index.wxml,這三個(gè)文件構(gòu)成了基本的小程序頁面。Index.js是用來編寫頁面布局,index.wxss是用來編寫頁面樣式,index.js是用來處理邏輯業(yè)務(wù)。1.3.2微信小程序云開發(fā)概述微信云開發(fā)是近幾年流行起來了,它極大的方便了剛開始學(xué)習(xí)小程序卻又不懂的復(fù)雜的后臺(tái)開發(fā)的開發(fā)者,簡單的說微信云開發(fā)無需搭建服務(wù)器,只需要在小程序里開通云開發(fā)這個(gè)功能,再合理的使用云開發(fā)的云數(shù)據(jù)庫、云函數(shù)、云存儲(chǔ)就可以開發(fā)一個(gè)小程序,可以快速的上線。云數(shù)據(jù)庫是一個(gè)JSON數(shù)據(jù)庫,與MYSQL數(shù)據(jù)庫不同,它是一個(gè)非關(guān)系型數(shù)據(jù)庫。云函數(shù)是編寫功能代碼的文件,如果你想實(shí)現(xiàn)一個(gè)功能,則需要在里面編寫邏輯代碼,在需要的地方調(diào)用。云存儲(chǔ)是存放圖片的地方。2系統(tǒng)需求分析2.1概述需求分析的目的是為了小程序能夠達(dá)到用戶的需求、用戶的期待。需求分析需要分析小程序的功能、性能,分析小程序是否達(dá)到了用戶的期待值。只有準(zhǔn)確的分析出需求,才能去運(yùn)行和維護(hù)好小程序。2.2功能需求文章分享微信小程序的設(shè)計(jì)與實(shí)現(xiàn)包括有:用戶模塊、登錄模塊、用戶發(fā)布文章模塊、用戶查看文章詳情模塊、用戶搜索文章模塊等模塊功能。用戶模塊我的模塊主要展示用戶信息,和用戶發(fā)布、收藏的文章。用戶使用微信號(hào)授權(quán)登錄之后,微信用戶的信息就會(huì)顯示在我的頁面上,并且展示用戶用戶發(fā)布的文章和收藏的文章,進(jìn)入我的文章可對(duì)文章進(jìn)行刪除操作。登錄模塊登錄模塊中只有一個(gè)登錄模式,用戶須使用微信號(hào)登錄。進(jìn)入小程序之后頁面會(huì)顯示是否使用微信號(hào)授權(quán)登錄,點(diǎn)擊授權(quán)則進(jìn)去小程序,獲取小程序的使用權(quán)限。文章發(fā)布模塊文章發(fā)布模塊主要是用戶發(fā)布文章。發(fā)布的文章包括標(biāo)題、內(nèi)容、圖片和標(biāo)簽,用戶發(fā)布成功也會(huì)在頁面上顯示文章的發(fā)布時(shí)間。文章詳情模塊文章詳情模塊主要是對(duì)文章進(jìn)行點(diǎn)贊、收藏、評(píng)論的操作,文章獲得的點(diǎn)贊數(shù)量、收藏?cái)?shù)量、評(píng)論數(shù)量會(huì)在文章上面展示。點(diǎn)贊:用戶點(diǎn)擊一次,則文章的點(diǎn)贊數(shù)量加1,如果文章再次點(diǎn)擊,則是取消點(diǎn)贊,點(diǎn)贊數(shù)量減1。收藏?cái)?shù)量、評(píng)論條數(shù)同上操作。文章搜索模塊文章搜索模塊主要是根據(jù)關(guān)鍵詞搜索相關(guān)文章。用戶輸入關(guān)鍵詞之后點(diǎn)擊確定,系統(tǒng)便根據(jù)用戶輸入的關(guān)鍵字顯示相關(guān)文章。系統(tǒng)用例圖如下:點(diǎn)贊文章用戶點(diǎn)贊文章用戶登錄發(fā)布文章查看文章搜索文章評(píng)價(jià)文章收藏文章圖2-1文章分享小程需求用例圖2.3數(shù)據(jù)需求靜態(tài)數(shù)據(jù):用戶登錄時(shí)獲取到的用戶信息為靜態(tài)數(shù)據(jù),儲(chǔ)存到用戶表中。動(dòng)態(tài)數(shù)據(jù):文章內(nèi)容、文章發(fā)布時(shí)間、文章作者名、文章獲得的點(diǎn)贊數(shù)量、收藏?cái)?shù)量和評(píng)價(jià)條數(shù)等為動(dòng)態(tài)數(shù)據(jù),根據(jù)用戶的操作實(shí)時(shí)更新。2.4維護(hù)需求小程序的后期維護(hù)也是軟件開發(fā)過程中需著重考慮的一個(gè)環(huán)節(jié)。技術(shù)更新、修補(bǔ)漏洞,對(duì)代碼進(jìn)行不同層級(jí)的維護(hù)和修補(bǔ),對(duì)功能進(jìn)行不斷的改進(jìn)和維護(hù),時(shí)刻保持小程序良好的運(yùn)行狀態(tài),才能讓用戶對(duì)小程序有長期的使用性。3系統(tǒng)總體設(shè)計(jì)系統(tǒng)設(shè)計(jì)主要是根據(jù)以上的需求分析來對(duì)系統(tǒng)進(jìn)行一個(gè)總體的功能需求設(shè)計(jì),主要是系統(tǒng)框架設(shè)計(jì)、功能模塊設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)。在這個(gè)階段的設(shè)計(jì)為下一個(gè)階段的功能實(shí)現(xiàn)提供了強(qiáng)有力的支持。3.1系統(tǒng)框架設(shè)計(jì)系統(tǒng)構(gòu)架是對(duì)已確定的需求的技術(shù)實(shí)現(xiàn)構(gòu)架、作好規(guī)劃,運(yùn)用成套、完整的工具,在規(guī)劃的步驟下去完成任務(wù)。[13]系統(tǒng)框架設(shè)計(jì)是系統(tǒng)開發(fā)一個(gè)必要的過程。設(shè)計(jì)出一個(gè)好的框架才能讓開發(fā)人員對(duì)系統(tǒng)進(jìn)行開發(fā)。系統(tǒng)框架也直接涉及到系統(tǒng)的穩(wěn)定性和安全性,所以設(shè)計(jì)架構(gòu)是非常必要的。3.1.1系統(tǒng)架構(gòu)概述本系統(tǒng)客戶端基于‘MINA’框架開發(fā),采用wxml、wxss、js以及微信提供的豐富的API組件,來實(shí)現(xiàn)客戶端界面和功能。服務(wù)端采用微信云開發(fā)技術(shù),根據(jù)微信小程序提供的API來完成數(shù)據(jù)前后端的交互。[12]用戶可以通過微信小程序客戶端調(diào)用流浪數(shù)據(jù)庫中的文章信息,通過點(diǎn)贊、評(píng)論、收藏等業(yè)務(wù)邏輯的操作,來實(shí)現(xiàn)客戶端和服務(wù)端的數(shù)據(jù)請(qǐng)求和數(shù)據(jù)處理的關(guān)鍵部分。3.1.2系統(tǒng)靜態(tài)架構(gòu)設(shè)計(jì)系統(tǒng)的靜態(tài)架構(gòu)設(shè)計(jì)主要是用來描述系統(tǒng)需要的功能模塊圖。該系統(tǒng)的主要組件是發(fā)表文用戶的功能模塊、程序功能模塊。程序+文章分類+文章分級(jí)+熱門文章+登錄+登錄+發(fā)表文章+查看文章詳情+搜索文章+評(píng)價(jià)文章+點(diǎn)贊文章+收藏文章用戶圖3.1-1用戶分類圖3.1.3系統(tǒng)動(dòng)態(tài)架構(gòu)設(shè)計(jì)動(dòng)態(tài)架構(gòu)設(shè)計(jì)是描述系統(tǒng)需要完成哪些功能,從用戶登錄到用戶的退出需要進(jìn)行哪些功能操作。以下是用戶開始到結(jié)束的狀態(tài)圖:開始開始登錄用戶信息展示發(fā)表文章文章評(píng)級(jí)、點(diǎn)贊、收藏搜索文章退出登錄結(jié)束圖3.1-2用戶操作狀態(tài)圖3.2功能模塊設(shè)計(jì)3.2.1登錄模塊用戶使用微信號(hào)授權(quán)登錄。用戶進(jìn)入小程序后會(huì)彈出是否使用微信登錄的窗口,點(diǎn)擊確定小程序?qū)?duì)微信號(hào)進(jìn)行授權(quán),在我的頁面則展示用戶的信息。3.2.2發(fā)布文章模塊用戶通過發(fā)布按鈕進(jìn)入塊發(fā)布文章,填寫文章標(biāo)題、內(nèi)容,選擇標(biāo)簽,選擇圖片之后,點(diǎn)擊發(fā)布文章按鈕即可發(fā)布文章,發(fā)布的文章會(huì)展示在首頁的最新頁面。3.2.3文章詳情模塊用戶點(diǎn)擊文章進(jìn)入文章詳情頁查看文章詳情內(nèi)容,并且可對(duì)文章進(jìn)行點(diǎn)贊、評(píng)論、收藏的操作。點(diǎn)贊:用戶點(diǎn)擊一次,文章上的點(diǎn)贊數(shù)量就會(huì)增加一次,再次點(diǎn)擊則是取消點(diǎn)贊。收藏是和點(diǎn)贊一樣的操作過程。評(píng)論:用戶可對(duì)文章表達(dá)自己的想法。3.2.4搜索文章模塊用戶進(jìn)入搜索文章模塊之后,在搜索框輸入想要搜索文章的關(guān)鍵詞,點(diǎn)擊確定之后,小程序會(huì)根據(jù)關(guān)鍵詞查詢所有文章,符合條件的便展示到頁面上。3.2.5熱門推薦模塊小程序會(huì)根據(jù)點(diǎn)贊的多少來進(jìn)行熱門推薦,點(diǎn)贊超過500的文章會(huì)出現(xiàn)在熱門文章模塊。3.2.6文章分級(jí)模塊小程序會(huì)根據(jù)點(diǎn)贊的多少來對(duì)文章進(jìn)行分級(jí),分為初級(jí)、中級(jí)、高級(jí)。初級(jí)為0-100個(gè)贊,中級(jí)為100-500個(gè)贊,高級(jí)為500個(gè)贊以上。3.2.7文章分類模塊小程序在發(fā)布要選擇標(biāo)簽,發(fā)布成功之后小程序會(huì)根據(jù)文章的標(biāo)簽來對(duì)文章進(jìn)行分類,把相同標(biāo)簽的文章歸為一類。3.3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫是信息的載體,是系統(tǒng)的重要組成部分。[11]小程序采用微信小程序云開發(fā)自帶的云數(shù)據(jù)庫。根據(jù)功能分析在云數(shù)據(jù)庫里創(chuàng)建相關(guān)的集合,在集合里可自動(dòng)添加字段,也可以手動(dòng)添加字段。3.3.1數(shù)據(jù)概念結(jié)構(gòu)設(shè)計(jì)文章用戶發(fā)布點(diǎn)贊評(píng)論收藏分類搜索分級(jí)文章用戶發(fā)布點(diǎn)贊評(píng)論收藏分類搜索分級(jí)圖3.3-1系統(tǒng)E-R圖3.3.2數(shù)據(jù)庫表的設(shè)計(jì)本系統(tǒng)一共設(shè)計(jì)有5個(gè)表,以下表3-1就是設(shè)計(jì)所需要使用的表的匯總:表3-1本系統(tǒng)設(shè)計(jì)所有需要使用的表匯總表名描述作用wen文章表存放文章user用戶表存放用戶信息comment評(píng)論表存放用戶評(píng)論的表collect收藏表存放用戶收藏文章的表appreciate點(diǎn)贊表存放點(diǎn)贊文章的表wen(文章表)wen是存放已經(jīng)文章已發(fā)布成功的表,主要記錄文章的內(nèi)容、標(biāo)題、圖片、發(fā)布時(shí)間、點(diǎn)贊數(shù)量、收藏?cái)?shù)量、評(píng)論條數(shù)。該表的結(jié)構(gòu)如表3-2所示。表3-2wen(文章表-字段及類型)字段名稱數(shù)據(jù)類型字段描述_idstring記錄標(biāo)識(shí)appreciatenumber點(diǎn)贊數(shù)量collectNumnumber收藏?cái)?shù)量commentNumnumber評(píng)論條數(shù)contentstring文章內(nèi)容datetimedatatime文章發(fā)布時(shí)間openidstring用戶身份識(shí)別碼picture圖片titlestring文章標(biāo)題user(用戶表)user是存放用戶的標(biāo),主要存放用戶名、用戶頭像。該表的結(jié)構(gòu)如表3-3所示。表3-3user(用戶表-字段及類型)字段名稱數(shù)據(jù)類型字段描述_idstring記錄標(biāo)識(shí)openidstring用戶標(biāo)識(shí)nickNamenumber用戶名avatarUrlnumber用戶頭像comment(評(píng)論表)comment是存放評(píng)論的表,主要存放評(píng)論內(nèi)容、評(píng)論日期。該表的結(jié)構(gòu)如表3-4所示。表3-4comment(評(píng)論表-字段及類型)字段名稱數(shù)據(jù)類型字段描述_idstring記錄標(biāo)識(shí)openidstring用戶標(biāo)識(shí)blogidnumber文章idcommentdatenumber評(píng)論日期contentstring評(píng)論內(nèi)容collect(評(píng)論表)collect是存放收藏的表。該表的結(jié)構(gòu)如表3-5所示表3-5collect(收藏表-字段及類型)字段名稱數(shù)據(jù)類型字段描述_idstring記錄標(biāo)識(shí)openidstring用戶標(biāo)識(shí)blogidnumber文章idappreciate(評(píng)論表)appreciate是存放點(diǎn)贊的表。該表的結(jié)構(gòu)如表3-6所示表3-6appreciate(點(diǎn)贊表-字段及類型)字段名稱數(shù)據(jù)類型字段描述_idstring記錄標(biāo)識(shí)openidstring用戶標(biāo)識(shí)blogidnumber文章id4系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)界面設(shè)計(jì)根據(jù)用戶需求對(duì)系統(tǒng)功能進(jìn)行的了分析,并對(duì)界面進(jìn)行了設(shè)計(jì),界面布局采用了flex布局。微信小程序開發(fā)中,flex布局處于尤為重要的地位,所有頁面都依賴flex技術(shù)。[30]主要界面包括:首頁界面、文章詳情界面、發(fā)布文章界面、評(píng)級(jí)界面、熱門推薦界面、搜索界面、文章分類界面、我的界面。4.1.1首頁界面首頁展示兩個(gè)板塊,一個(gè)是最新,另一個(gè)是分類。最新板塊展示的是全部文章,分類板塊展示的是根據(jù)文章標(biāo)簽分類好的文章。還有發(fā)布按鈕,點(diǎn)擊發(fā)布按鈕可進(jìn)入發(fā)布文章界面。圖4.1-1首頁圖4.1.2文章詳情界面文章詳情展示了文章的標(biāo)題和內(nèi)容,還有發(fā)布文章時(shí)間、用戶名稱、用戶頭像、評(píng)論,還有點(diǎn)贊、評(píng)論、收藏,點(diǎn)擊對(duì)應(yīng)的按鈕可進(jìn)行相關(guān)操作。4.1.3發(fā)布文章界面發(fā)布文章是個(gè)表單界面,進(jìn)入界面要填寫文章標(biāo)題、文章內(nèi)容、選擇標(biāo)簽、圖片,最后點(diǎn)擊發(fā)布方可把文章發(fā)布出去。圖4.1-2發(fā)布圖4.1.4評(píng)級(jí)界面評(píng)級(jí)界面是對(duì)所有的文章按照文章所獲得的點(diǎn)贊數(shù)量來進(jìn)行一個(gè)評(píng)級(jí),分為初級(jí)(0-100)、中級(jí)(100-500)、高級(jí)(500以上),如果沒有則不顯示。4.1.5熱門推薦界面熱搜推薦界面是系統(tǒng)會(huì)對(duì)所有文章的點(diǎn)贊數(shù)量進(jìn)行一個(gè)查詢,點(diǎn)贊數(shù)量超過500的文章才會(huì)展示在熱搜推薦界面。4.1.6搜索界面搜索界面分為兩個(gè)部分,分別是搜索框和文章展示。在搜索框輸入相關(guān)文章的關(guān)鍵詞,點(diǎn)擊搜索下面就會(huì)展示跟關(guān)鍵詞有關(guān)的文章。圖4.1-3文章搜索圖4.1.7我的界面我的界面展示用戶頭像、用戶信息、用戶發(fā)布、收藏的文章。點(diǎn)擊進(jìn)入我的發(fā)布可對(duì)發(fā)布過的文章進(jìn)行刪除操作。4.2系統(tǒng)功能實(shí)現(xiàn)文章分享小程序主要的功能模塊包括:用戶登錄模塊、發(fā)布文章模塊、文章詳情模塊、熱門推薦模塊、文章分級(jí)模塊、文章搜索模塊、文章分類模塊等模塊功能的實(shí)現(xiàn)。4.2.1用戶登錄功能實(shí)現(xiàn)用戶使用微信授權(quán)登錄主要是使用login云函數(shù)。調(diào)用login函數(shù)之后獲得登錄權(quán)限,再去調(diào)用getUserProfile接口獲得用戶的信息。登錄模塊流程圖:進(jìn)入小程序開始微信授權(quán)登錄是結(jié)束進(jìn)入小程序開始微信授權(quán)登錄是結(jié)束圖4.2-1登錄流程圖微信授權(quán)關(guān)鍵代碼有兩個(gè)部分:const
wxContext
=
cloud.getWXContext()
return
{
event,
openid:
wxContext.OPENID,
appid:
wxContext.APPID,
unionid:
wxContext.UNIONID,
}wx.getUserProfile({
desc:
'用于用戶資料',
//
聲明獲取用戶個(gè)人信息
success:
(res)
=>
{
console.log(res)
this.setData({
userInfo:
res.userInfo,
hasUserInfo:
true,
logged:
true
})4.2.2發(fā)布文章功能實(shí)現(xiàn)發(fā)布文章通過調(diào)用云函數(shù)AddBlog向集合wen添加一條數(shù)據(jù),然后通過查詢wen集合里的數(shù)據(jù)展示出文章。發(fā)布文章模塊流程圖:首頁顯示文章發(fā)布文章填寫發(fā)布文章內(nèi)容開始結(jié)束首頁顯示文章發(fā)布文章填寫發(fā)布文章內(nèi)容開始結(jié)束圖4.2-2發(fā)布文章流程圖添加文章關(guān)鍵代碼:exports.main
=
async(event,
context)
=>
{
var
mycollectNum
=
0
var
mycommentNum
=
0
var
myappreciate=0
var
count=0
var
mydatetime
=
event.datetime
var
mycontent
=
event.content
var
myopenid
=
event.openid
var
mypicture
=
event.picture
var
mytitle
=
event.title
var
mysort=event.sort
try
{
return
await
db.collection('wen').add({
data:
{
collectNum:
mycollectNum,
commentNum:
mycommentNum,
appreciate:myappreciate,
count:count,
datetime:
mydatetime,
content:
mycontent,
openid:
myopenid,
picture:
mypicture,
title:
mytitle,
sort:mysort
}})
}
catch
(e)
{
console.log(e)
}}4.2.3文章詳情功能實(shí)現(xiàn)點(diǎn)擊進(jìn)入文章詳情頁用戶可對(duì)文章進(jìn)行點(diǎn)贊、評(píng)論、收藏的操作,并顯示文章的點(diǎn)贊數(shù)量、收藏?cái)?shù)量和評(píng)論。點(diǎn)贊:通過調(diào)用云函數(shù)addAppreciate,先去wen集合查詢appreciate字段的數(shù)量,如果appreciate字段為0,則向appreciate集合添加一條數(shù)據(jù)。收藏、評(píng)論同上操作。文章詳情流程圖:進(jìn)入文章詳情頁點(diǎn)贊、評(píng)論、收藏點(diǎn)擊文章開始進(jìn)入文章詳情頁點(diǎn)贊、評(píng)論、收藏點(diǎn)擊文章開始結(jié)束圖4.2-3文章詳情流程圖點(diǎn)贊關(guān)鍵代碼:const
countResult
=
await
db.collection('appreciate').where({
blogid:
myblogid,
openid:
myopenid
}).count()
const
num
=
countResult.total
if
(num
==
0)
{
const
_
=
mand
await
db.collection('wen').doc(myblogid).update({
data:
{
appreciate:
_.inc(1)
}
})
await
db.collection('appreciate').add({
data:
{
blogid:
myblogid,
openid:
myopenid
}
})評(píng)論關(guān)鍵代碼:await
db.collection('wen').doc(myblogid).update({
data:
{
commentNum:
_.inc(1)
}
})
await
db.collection('comment').add({
data:
{
blogid:
myblogid,
openid:
myopenid,
commentdate:
mycommentdate,
content:
mycontent
}
})收藏關(guān)鍵代碼:const
countResult
=
await
db.collection('collect').where({
blogid:
myblogid,
openid:
myopenid
}).count()
const
num
=
countResult.total
if
(num
==
0)
{
const
_
=
mand
await
db.collection('wen').doc(myblogid).update({
data:
{
collectNum:
_.inc(1)
}
})
await
db.collection('collect').add({
data:
{
blogid:
myblogid,
openid:
myopenid
}
})4.2.4熱門推薦功能實(shí)現(xiàn)根據(jù)用戶發(fā)布的文章的點(diǎn)贊數(shù)量來做熱門推薦,點(diǎn)贊數(shù)量超過500的就會(huì)出現(xiàn)在熱門推薦頁面。熱門文章是通過查詢wen集合里的appreciate字段,把a(bǔ)ppreciate作為查詢條件,appreciate大于500則把文章展示到熱門推薦頁面。熱門推薦模塊流程圖:開始開始系統(tǒng)查詢文章點(diǎn)贊數(shù)文章展示到熱門推薦模塊Appreciate大于500結(jié)束是圖4.2-4熱門推薦流程圖熱門推薦關(guān)鍵代碼:
db.collection('wen').where({
appreciate:_.gt(500)
}).get({
success:function(res){
that.setData({
obj:res.data
})
wx.cloud.callFunction({
name:'getwen',
data:{},
success:
function(res)
{
console.log(res)
wx.stopPullDownRefresh(),
wx.hideLoading(),
that.setData({
bloginfo:
res.result.bloginfo.data,
userinfo:
res.result.userinfo.data
})
}4.2.5文章分級(jí)功能實(shí)現(xiàn)給所有的文章劃分等級(jí),根據(jù)點(diǎn)贊數(shù)量來劃分,點(diǎn)贊數(shù)量0-100的是初級(jí),100-500的是中級(jí),500以上為高級(jí)。調(diào)用云函數(shù)getwen獲得用戶、文章的所有信息,再到j(luò)ibie.wxml頁面上用wx:if接口讓頁面顯示相關(guān)的數(shù)據(jù)。文章分級(jí)流程圖:開始系統(tǒng)查詢文章點(diǎn)贊數(shù)文章展示到分級(jí)模塊的初級(jí)0<開始系統(tǒng)查詢文章點(diǎn)贊數(shù)文章展示到分級(jí)模塊的初級(jí)0<Appreciate<100結(jié)束100<Appreciate<500Appreciate>500文章展示到分級(jí)模塊的中級(jí)文章展示到分級(jí)模塊的高級(jí)圖4.2-5文章分級(jí)流程圖文章分級(jí)關(guān)鍵代碼:wx.cloud.callFunction({
name:
'getwen',
data:
{},
success:
function(res)
{
console.log(res)
wx.stopPullDownRefresh()
wx.hideLoading()
self.setData({
bloginfo:
res.result.bloginfo.data,
userinfo:
res.result.userinfo.data
})
},
fail:
function(res)
{
wx.stopPullDownRefresh()
wx.hideLoading()
console.log(res.errMsg)
}
})4.2.6文章搜索功能實(shí)現(xiàn)在輸入框填入想要搜索的文章的關(guān)鍵詞,點(diǎn)擊確定就會(huì)出現(xiàn)有關(guān)鍵詞的文章。使用正則表達(dá)式帶完成模糊搜索。正則表達(dá)式為$regex:'.*'+text+'.*'。文章搜索流程圖:查詢相關(guān)文章搜索界面輸入關(guān)鍵詞開始結(jié)束查詢相關(guān)文章搜索界面輸入關(guān)鍵詞開始結(jié)束圖4.2-6文章搜索流程圖文章搜索關(guān)鍵代碼:db.collection('wen').where({
title:{
$regex:'.*'+text+'.*',
$options:'1'
}
}).get({
success:res=>{
console.log(res);
wx.cloud.callFunction({
name:
'getwen',
data:
{},
success:
function(res)
{
console.log(res)
that.setData({
bloginfo:
res.result.bloginfo.data,
userinfo:
res.result.userinfo.data
})
}
})4.2.7文章分類功能實(shí)現(xiàn)根據(jù)文章的類別對(duì)文章進(jìn)行歸類,方便用戶查看。通過調(diào)用云函數(shù)getwen獲取到用戶、文章的所有信息,再到index.wxml的分類模使用wx:if接口顯示相關(guān)數(shù)據(jù)。文章分類流程圖:開始結(jié)束文章分類界面開始結(jié)束文章分類界面根據(jù)文章標(biāo)簽查詢文章歸類圖4.2-7文章分類流程圖文章分類關(guān)鍵代碼:wx.cloud.callFunction({
name:
'getwen',
data:
{},
success:
function(res)
{
console.log(res)
wx.stopPullDownRefresh()
wx.hideLoading()
self.setData({
bloginfo:
res.result.bloginfo.data,
userinfo:
res.result.userinfo.data
})
},
fail:
function(res)
{
wx.stopPullDownRefresh()
wx.hideLoading()
console.log(res.errMsg)
}
})5系統(tǒng)測試5.1概述小程序測試是測試小程序是否能夠正常的運(yùn)行,小程序的功能有沒有出現(xiàn)漏洞,因?yàn)樵诰帉懘a中不可能確保每一步都是對(duì)的,所以在小程序開發(fā)出來時(shí),要對(duì)小程序進(jìn)行反復(fù)的測試,測試小程序的功能是否達(dá)到了當(dāng)時(shí)的預(yù)期。測試完成才能將小程序上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年輝南縣幼兒園教師招教考試備考題庫帶答案解析(奪冠)
- 2024年貴州交通職業(yè)大學(xué)馬克思主義基本原理概論期末考試題含答案解析(必刷)
- 2025年翁源縣幼兒園教師招教考試備考題庫及答案解析(奪冠)
- 2025年岳陽縣幼兒園教師招教考試備考題庫附答案解析
- 2024年灤南縣幼兒園教師招教考試備考題庫含答案解析(必刷)
- 2025年南方科技大學(xué)馬克思主義基本原理概論期末考試模擬題含答案解析(必刷)
- 2025年長治職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- 2025年重慶交通職業(yè)學(xué)院單招綜合素質(zhì)考試題庫帶答案解析
- 2025年鄭州亞歐交通職業(yè)學(xué)院中單招職業(yè)適應(yīng)性考試題庫帶答案解析
- 2025年松原職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫帶答案解析
- 2025年低空經(jīng)濟(jì)無人機(jī)災(zāi)害預(yù)警行業(yè)報(bào)告
- 2025年健康養(yǎng)生行業(yè)消費(fèi)者畫像與消費(fèi)需求研究報(bào)告
- 鍋爐班組級(jí)安全培訓(xùn)課件
- 安全生產(chǎn)明白人培訓(xùn)課件
- 襯膠施工方案
- 中國原發(fā)性閉角型青光眼診治方案專家共識(shí)(2025年)解讀
- 用戶界面設(shè)計(jì)規(guī)范及模板
- 2025年上海高考英語試卷及答案
- 黑龍江省大慶市2025年中考物理真題(含答案)
- (2025年標(biāo)準(zhǔn))代收款協(xié)議免責(zé)協(xié)議書
- 2024-2025學(xué)年山東省青島市市北區(qū)七年級(jí)(下)期末數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論