《基于微信小程序的閱讀社區(qū)設(shè)計(jì)與實(shí)現(xiàn)》13000字_第1頁(yè)
《基于微信小程序的閱讀社區(qū)設(shè)計(jì)與實(shí)現(xiàn)》13000字_第2頁(yè)
《基于微信小程序的閱讀社區(qū)設(shè)計(jì)與實(shí)現(xiàn)》13000字_第3頁(yè)
《基于微信小程序的閱讀社區(qū)設(shè)計(jì)與實(shí)現(xiàn)》13000字_第4頁(yè)
《基于微信小程序的閱讀社區(qū)設(shè)計(jì)與實(shí)現(xiàn)》13000字_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章緒論1.1研究背景2021年兩會(huì)期間發(fā)布的《政府工作報(bào)告》中指出,“推進(jìn)城鄉(xiāng)公共文化體系一體建設(shè),創(chuàng)新實(shí)施文化惠民工程,倡導(dǎo)全民閱讀[1]”。這說(shuō)明,“全民閱讀”已經(jīng)上升為國(guó)家戰(zhàn)略,成為培養(yǎng)文化自信、實(shí)現(xiàn)民族復(fù)興的精神索引。據(jù)《第十七次全國(guó)國(guó)民閱讀調(diào)查報(bào)告》可得知:2019年,我國(guó)18歲以上國(guó)民的綜合閱讀率達(dá)到了81.1%,其中數(shù)字化閱讀方式的接觸率較2018年的76.2%上升了3.1個(gè)百分點(diǎn),達(dá)到了79.3%。數(shù)字化閱讀正在不知不覺中改變著人們的閱讀習(xí)慣,它不僅可以降低了閱讀的門檻,還可以提高了閱讀時(shí)人們獲取知識(shí)的效率。而人們的閱讀也從以前的單人活動(dòng)變?yōu)橐环N社會(huì)化的行為,這種社會(huì)化閱讀行為是人與內(nèi)容、社交等因素相結(jié)合的,而不再是讀者單方面對(duì)知識(shí)進(jìn)行獲取。2017年,微信小程序正式上線,并受到了市場(chǎng)的熱烈追捧。據(jù)《2019微信數(shù)據(jù)報(bào)告》可得知,微信的月活躍賬戶數(shù)為11.51億,而微信小程序的活躍賬戶數(shù)則達(dá)到了3億。對(duì)于開發(fā)者而言,微信小程序的開發(fā)門檻較低,它有自己的獨(dú)立成熟的開發(fā)語(yǔ)法與開發(fā)工具,一方面節(jié)省了開發(fā)成本,另一方面也縮短了開發(fā)周期。對(duì)于用戶而言,微信小程序的使用也非常便易,只要在微信搜索欄中輸入小程序的名稱或是通過(guò)掃描微信小程序的二維碼,就可進(jìn)入小程序。因此,微信小程序無(wú)需下載就可使用的優(yōu)點(diǎn)以及微信龐大的用戶群體,都使得微信小程序在推廣運(yùn)營(yíng)和增加認(rèn)知度方面有著不可替代的獨(dú)特優(yōu)勢(shì)。目前,閱讀社交領(lǐng)域在微信小程序上的發(fā)展仍存在不足,筆者對(duì)微信上已經(jīng)發(fā)布運(yùn)營(yíng)的閱讀類小程序進(jìn)行了體驗(yàn)調(diào)查,以“微信讀書”、“QQ閱讀”、“咪咕閱讀”等為代表的小程序均不具備在平臺(tái)內(nèi)與其他讀者進(jìn)行互動(dòng)的功能,只能對(duì)書籍發(fā)表評(píng)論,社交屬性比較單一。因此,本文的研究?jī)?nèi)容是基于微信小程序的社會(huì)化閱讀社區(qū)設(shè)計(jì)與實(shí)現(xiàn)。該社區(qū)使用微信云開發(fā)技術(shù),結(jié)合社會(huì)化閱讀的特點(diǎn),為讀者提供一個(gè)滿足在閱讀的時(shí)候能和朋友交流分享的社交平臺(tái),為讀者營(yíng)造良好的閱讀社交氛圍,在交流中培養(yǎng)讀者閱讀的興趣。1.2文獻(xiàn)綜述1.2.1國(guó)外對(duì)社會(huì)化閱讀的研究現(xiàn)狀國(guó)外對(duì)于社會(huì)化閱讀的相關(guān)研究具有一些代表性觀點(diǎn):JohnJones[3]認(rèn)為閱讀都是從社交體驗(yàn)開始的,社交閱讀就是一種在社區(qū)內(nèi)分享閱讀經(jīng)驗(yàn)的行為,分享是閱讀過(guò)程中的一項(xiàng)重要行為。CarolTenopir[4]等在對(duì)以近2千名英國(guó)人作為研究對(duì)象進(jìn)行了深入觀察以后,他們認(rèn)為比起傳統(tǒng)的閱讀方式,社會(huì)化閱讀更受讀者的青睞,在社會(huì)化閱讀的社交屬性下,閱讀價(jià)值和效率通過(guò)讀者對(duì)自己的閱讀心得和感悟的分享的得以提升。NuriaRomero[5]認(rèn)為數(shù)字技術(shù)的發(fā)展使得讀者的閱讀方式更偏好于在線上進(jìn)行互動(dòng)和分享。HeikkilaH[6]認(rèn)為社會(huì)化閱讀在閱讀的過(guò)程中可以同時(shí)與不在同一空間中的多位讀者實(shí)現(xiàn)知識(shí)共享和交流等多種網(wǎng)絡(luò)溝通,這是社會(huì)化閱讀和傳統(tǒng)紙質(zhì)閱讀的區(qū)別。RomeroN[7]認(rèn)為來(lái)自朋友的推薦、分享、注釋、評(píng)論等社會(huì)化閱讀行為使得社會(huì)化閱讀能夠在智能終端下普及開來(lái),通過(guò)對(duì)讀者社會(huì)化交互行為的特征提取以及偏好挖掘,能夠?qū)崿F(xiàn)閱讀的精準(zhǔn)化推薦。1.2.2國(guó)內(nèi)對(duì)社會(huì)化閱讀的研究現(xiàn)狀筆者在中國(guó)知網(wǎng)期刊全文數(shù)據(jù)庫(kù)上,對(duì)“社交化閱讀or社會(huì)化閱讀”進(jìn)行主題詞的檢索,截至到2021年4月7日,共得到了相關(guān)的學(xué)術(shù)期刊490篇,學(xué)位論文72篇。雖然總數(shù)不多,但是自2011年之后,關(guān)于社會(huì)化閱讀的相關(guān)研究論文數(shù)量基本呈逐年增長(zhǎng)的趨勢(shì),可知社會(huì)化閱讀研究是當(dāng)前學(xué)術(shù)界關(guān)注的熱點(diǎn)話題。目前,國(guó)內(nèi)社會(huì)化閱讀研究?jī)?nèi)容主要集中在社會(huì)化閱讀行為分析、推廣路徑、理論探索,以及用戶滿意度等方面。李武等認(rèn)為社會(huì)化閱讀往往特指一種借助閱讀社區(qū)或者閱讀平臺(tái)開展的數(shù)字閱讀活動(dòng)[8]。畢秋敏等認(rèn)為社會(huì)化閱讀是一種以內(nèi)容為核心,以社交關(guān)系為紐帶,注重分享、交流和互動(dòng)的移動(dòng)閱讀新模式[9]。高雯雯認(rèn)為社會(huì)化閱讀是一種以內(nèi)容為核心、社交關(guān)系為紐帶的新型移動(dòng)閱讀模式,認(rèn)為讀者之間的分享、交流和互動(dòng)更重要。[10]。王海燕在其博士論文《移動(dòng)終端社會(huì)化閱讀研究》中介紹了在移動(dòng)終端廣為普及的社會(huì)背景下,社會(huì)化閱讀的快速發(fā)展的三大驅(qū)動(dòng)因素,對(duì)社會(huì)化閱讀的三種形式進(jìn)行了概括,并移動(dòng)終端社會(huì)化閱讀的核心特征——S(Sharing:分享)、I(Interaction:互動(dòng))、T(Transformation:轉(zhuǎn)化)進(jìn)行了清楚的論述和說(shuō)明[11]。李天澤在碩士論文《社會(huì)化閱讀的文化表征與意指實(shí)踐》中認(rèn)為社會(huì)化閱讀社會(huì)化閱讀不同于傳統(tǒng)閱讀活動(dòng)中知識(shí)單方向向讀者流動(dòng),認(rèn)為閱讀過(guò)程中的發(fā)生的讀者與讀者之間或讀者與平臺(tái)之間相互交流與互動(dòng)以及讀者身臨其境的感受更為重要,社會(huì)化閱讀的重點(diǎn)應(yīng)該在于挖掘和梳理讀者在閱讀活動(dòng)中產(chǎn)生的社交關(guān)系,并對(duì)社會(huì)化閱讀的文化表征與意指實(shí)踐進(jìn)行了詳細(xì)闡述。1.3研究目的和內(nèi)容本文希望通過(guò)基于微信小程序云開發(fā)的社會(huì)化閱讀交流社區(qū)的設(shè)計(jì)與實(shí)現(xiàn),給予一個(gè)以讀者為核心的閱讀交流社區(qū),為讀者營(yíng)造了一種適合社會(huì)化閱讀分享的環(huán)境,使得以往較為謹(jǐn)慎和乏味的閱讀變得更靈活和隨意,讀者的表達(dá)將不受時(shí)空約束,能夠在閱讀的同時(shí)進(jìn)行社會(huì)交往與交流。閱讀的價(jià)值在讀者的交互行為中得以增值,閱讀變得更有效率,讀者也可以在閱讀中建立新的社交關(guān)系。本文主要研究?jī)?nèi)容包括以下兩個(gè)方面:(1)設(shè)計(jì)。對(duì)微信小程序的設(shè)計(jì)原則進(jìn)行了闡述,同時(shí)對(duì)小程序的需求進(jìn)行了詳細(xì)分析,確定微信小程序的功能模塊,擬設(shè)置了“用戶登錄功能”、“好書推薦功能”、“書籍錄入功能”、“收藏功能”、“發(fā)布功能”、“展示功能”、“互動(dòng)功能”、“搜索功能”、“消息中心功能”、“個(gè)人中心功能”等10個(gè)主要功能。(2)開發(fā)。對(duì)微信小程序開發(fā)過(guò)程中的準(zhǔn)備工作做了詳細(xì)的介紹,特別是開通萬(wàn)維易源網(wǎng)書籍查詢接口服務(wù)。同時(shí),詳細(xì)的闡述了主要功能的核心實(shí)現(xiàn)。1.4論文結(jié)構(gòu)本文以詳細(xì)地介紹了開發(fā)社會(huì)化閱讀交流社區(qū)的相關(guān)理論和所用到的技相關(guān)術(shù),完成了基于微信小程序的社會(huì)化閱讀交流社區(qū)的開發(fā)流程,包括對(duì)微信小程序的需求分析、設(shè)計(jì)、開發(fā)與測(cè)試,實(shí)現(xiàn)了為讀者提供瀏覽書籍錄入、瀏覽他人發(fā)布的讀書心得、上傳自己的讀書體會(huì)等功能。全文共有五個(gè)章節(jié),分別是:第一章,緒論。本章對(duì)本文的項(xiàng)目背景、國(guó)內(nèi)外對(duì)社會(huì)化閱讀的研究、本文的研究目的與研究?jī)?nèi)容等方面進(jìn)行了闡述。第二章,相關(guān)理論與技術(shù)介紹。本章主要詳細(xì)介紹了社會(huì)化閱讀的相關(guān)理論,以及基于微信小程序的社會(huì)化閱讀交流社區(qū)開發(fā)過(guò)程中所使用的相關(guān)技術(shù)。第三章,小程序需求分析與設(shè)計(jì)。本章詳細(xì)介紹了基于微信小程序的社會(huì)化閱讀交流社區(qū)開發(fā)的可行性分析、系統(tǒng)的功能需求和設(shè)備需求,以及微信小程序云開發(fā)功能相關(guān)設(shè)計(jì)和功能設(shè)計(jì)。第四章,小程序開發(fā)與測(cè)試。本章詳細(xì)介紹了系統(tǒng)開發(fā)前的準(zhǔn)備工作以及主要功能的核心代碼,并且展示了微信小程序的測(cè)試結(jié)果??偨Y(jié)與展望。本章對(duì)整個(gè)開發(fā)流程作出總結(jié)并展望未來(lái)。

第2章相關(guān)理論與技術(shù)介紹2.1社會(huì)化閱讀2.1.1社會(huì)化閱讀的概念到目前為止,學(xué)術(shù)界對(duì)“社會(huì)化閱讀”的概念并沒有一個(gè)較為統(tǒng)一的定論。本文認(rèn)為,社會(huì)化閱讀以讀者為核心,強(qiáng)調(diào)分享、互動(dòng)、傳播的全新閱讀模式,相對(duì)于傳統(tǒng)的以書為核心、以內(nèi)容為主的閱讀模式,它更加注重人本身[13]。社會(huì)化閱讀會(huì)給予閱讀過(guò)程中的社交活動(dòng)和關(guān)系一定的重視,倡導(dǎo)用戶生成內(nèi)容、共同傳播和共同贏利,在多方位的互動(dòng)基礎(chǔ)上,無(wú)限放大閱讀的價(jià)值[14]。社會(huì)化閱讀打破了時(shí)間與空間的限制,使得閱讀互動(dòng)不再是知識(shí)單方面流向讀者,而是一種讀者基于自身的閱讀興趣進(jìn)而產(chǎn)生交流和互動(dòng)的社會(huì)行為,有助于對(duì)“全文閱讀”活動(dòng)的發(fā)展產(chǎn)生推動(dòng)作用。2.1.2社會(huì)化閱讀的發(fā)展其實(shí),社會(huì)化閱讀并不是一個(gè)新鮮事物,曾經(jīng)興盛于17世紀(jì)的讀書沙龍和傳統(tǒng)的讀書俱樂部,都是社會(huì)化閱讀的一種,讀者在這些活動(dòng)中對(duì)閱讀內(nèi)容進(jìn)行互動(dòng)和分享。不過(guò),隨著近些年互聯(lián)技術(shù)的發(fā)展,社會(huì)化閱讀才獲得了實(shí)質(zhì)性的進(jìn)展,閱讀的場(chǎng)景、行為、體驗(yàn)都發(fā)生了巨大的改變。首先,讀者可以隨時(shí)隨地地開展閱讀行為,而不用受到時(shí)間和空間的限制;其次,讀者可以通過(guò)網(wǎng)絡(luò)社交媒體來(lái)閱讀好友分享和推薦過(guò)來(lái)的內(nèi)容,社交關(guān)系因閱讀而延伸,同時(shí)讀者與閱讀之間的黏性更大;最后,讀者的閱讀內(nèi)容也不再僅局限于文本文字,閱讀變得更有趣,而且由于媒介技術(shù)的進(jìn)步,讀者獲取內(nèi)容的能力也在增強(qiáng),閱讀變得有效率和便捷。社會(huì)化閱讀不再是內(nèi)容單方面流向讀者,而是讀者生成內(nèi)容與基于讀者的閱讀偏好和社交關(guān)系形成的閱讀社交群體之間的分享交互行為。社會(huì)化閱讀改變了讀者獲取閱讀內(nèi)容的方式,構(gòu)建了一種新型的閱讀模式。2.1.3社會(huì)化閱讀的基本特征1.社會(huì)化閱讀的分享特征繼共享單車火爆后,共享汽車、共享充電寶、共享籃球、共享雨傘等類似的“共享行為”層出不窮,這說(shuō)明,全民共享的時(shí)代已經(jīng)到來(lái)。分享是移動(dòng)互聯(lián)網(wǎng)時(shí)代的重要特征,人們?cè)谶M(jìn)行網(wǎng)絡(luò)活動(dòng)時(shí),免不了發(fā)生分享行為。而社會(huì)閱讀中的分享行為則是讀者對(duì)自身生成內(nèi)容的分享,可以是單純的分享喜好,也可以是對(duì)自身閱讀體會(huì)的分享。通過(guò)讀者對(duì)社會(huì)交流和分享的欲望來(lái)激發(fā)對(duì)閱讀交互的興趣。個(gè)人精神需求的滿足是讀者閱讀時(shí)發(fā)生分享行為的關(guān)鍵。社會(huì)化閱讀的分享行為有兩種類型。第一種是“原創(chuàng)分享”,即讀者在社會(huì)化閱讀社區(qū)中與其他讀者分享自己的閱讀感受。第二種個(gè)是“轉(zhuǎn)發(fā)分享”,即讀者通過(guò)轉(zhuǎn)發(fā)給好友來(lái)表示自己對(duì)內(nèi)容的認(rèn)同。讀者的自身形象可以通過(guò)分享交流與互動(dòng)來(lái)得以構(gòu)建,并且還可以加深與對(duì)相似閱讀感興趣的朋友的關(guān)系。2.社會(huì)化閱讀的互動(dòng)特征互動(dòng)也是移動(dòng)互聯(lián)網(wǎng)時(shí)代的一個(gè)重要特征,在進(jìn)行網(wǎng)絡(luò)活動(dòng)的過(guò)程中,人們免不了與他人發(fā)生互動(dòng),可以說(shuō),人們的網(wǎng)絡(luò)活動(dòng)都是基于互動(dòng)行為產(chǎn)生的。社會(huì)化閱讀中互動(dòng)特征主要指的是讀者與讀者之間、讀者與作者之間、作者與作者之間的關(guān)于閱讀內(nèi)容的多輪次的交流和溝通。。社會(huì)化閱讀的互動(dòng)行為有三種不同的形式,第一種是興趣型互動(dòng),讀者出于自身的閱讀興趣愛好進(jìn)行互動(dòng);第二種是問題型互動(dòng),讀者在閱讀過(guò)程中針對(duì)某內(nèi)容產(chǎn)生了困惑,進(jìn)而在社區(qū)中提出問題,讀者與回答問題的讀者或作者進(jìn)行互動(dòng)交流;第三種是交往型互動(dòng),讀者的第一需求是進(jìn)行社交。在移動(dòng)互聯(lián)網(wǎng)平臺(tái)上,讀者是通過(guò)評(píng)論與回復(fù)來(lái)展開互動(dòng)和社交的,讀者可以就自己的想法和問題來(lái)表達(dá)觀點(diǎn),形成社交關(guān)系,并在互動(dòng)交流的過(guò)程中產(chǎn)生新的觀點(diǎn)、問題和社交關(guān)系。2.1.4社會(huì)化閱讀的常見場(chǎng)景1.傳統(tǒng)的社會(huì)化閱讀場(chǎng)景“讀書會(huì)”是傳統(tǒng)的社會(huì)化閱讀形式的最佳代表?!白x書俱樂部”、“書友會(huì)”、“讀書沙龍”等都是讀書會(huì)的一種,其核心都是為讀者提供一個(gè)可以進(jìn)行社交的場(chǎng)所。隨著互聯(lián)網(wǎng)與媒體技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)讀書會(huì)的產(chǎn)生也是水到渠成。網(wǎng)絡(luò)讀書會(huì)的含義有狹義和廣義之分。狹義上的網(wǎng)絡(luò)讀書會(huì)僅指一種線上的虛擬閱讀社群,而廣義的網(wǎng)絡(luò)讀書會(huì)指在開展線上讀書會(huì)的同時(shí),定期也會(huì)同步開展線下活動(dòng)[15]。讀者在參與網(wǎng)絡(luò)讀書會(huì)的過(guò)程中,往往閱讀相同的內(nèi)容,然后進(jìn)行讀書感悟的分享和思想的交流,在交流中精進(jìn),拓寬自己的視野。2.基于在線網(wǎng)站的社會(huì)化閱讀場(chǎng)景在“新浪新聞”、“今日頭條”等在線網(wǎng)站閱讀新聞信息已經(jīng)人們生活中習(xí)以為常的閱讀活動(dòng),除此之外,在“起點(diǎn)中文網(wǎng)”、“晉江文學(xué)城”等網(wǎng)絡(luò)文學(xué)網(wǎng)站瀏覽文學(xué)作品也成為常態(tài)。這些在線閱讀網(wǎng)站通常會(huì)為讀者提供分享和互動(dòng)的機(jī)會(huì),發(fā)揮讀者主動(dòng)參與交流的能力,滿足讀者的個(gè)性化需求。閱文集團(tuán)旗下的起點(diǎn)中文網(wǎng)是典型的基于在線網(wǎng)站的社會(huì)化閱讀平臺(tái),是國(guó)內(nèi)最大文學(xué)閱讀與寫作平臺(tái)之一。起點(diǎn)中文網(wǎng)的內(nèi)容基本以網(wǎng)絡(luò)原創(chuàng)文學(xué)為主,并為讀者提供了可以進(jìn)行社交的專區(qū),如編輯推薦、粉絲排行、作家專區(qū)等。3.基于社交媒體的社會(huì)化閱讀場(chǎng)景基于社交媒體的社會(huì)化閱讀是將閱讀與社交媒體相結(jié)合,社交媒體的社交屬性得到了充分的發(fā)揮。在微信公眾號(hào)進(jìn)行閱讀就是典型的基于社交媒體的社會(huì)化閱讀形式,讀者關(guān)注微信公眾號(hào)并閱讀其文章基本是受到自身興趣愛好的影響,讀者可以對(duì)微信公眾號(hào)的文章進(jìn)行評(píng)論或轉(zhuǎn)發(fā)到微信朋友圈。優(yōu)質(zhì)內(nèi)容的分享可以形成口碑效應(yīng),同時(shí)增加了讀者的黏性,增進(jìn)讀者對(duì)內(nèi)容的深入理解。讀者關(guān)注微信公眾號(hào)并閱讀其文章基本是受到自身興趣愛好的影響。2.2微信小程序框架介紹MINA框架是小程序開發(fā)所使用的獨(dú)有框架,其目標(biāo)是通過(guò)盡可能簡(jiǎn)單、高效的方式讓開發(fā)者可以在微信中開發(fā)具有原生APP體驗(yàn)的服務(wù)[16]。MINA框架的具體結(jié)構(gòu)如圖2-1所示,共包含三個(gè)部分,即JSON配置、邏輯層和視圖層。圖2-1小程序架構(gòu)(MINA架構(gòu))JSON配置的作用是對(duì)小程序進(jìn)行全局配置。邏輯層由JavaScript完成,其作用是實(shí)現(xiàn)事件響應(yīng),請(qǐng)求數(shù)據(jù)與服務(wù)器交互。視圖層由兩種微信提供的描述語(yǔ)言WXML和WXSS完成,WXML的作用是根據(jù)JSON配置和邏輯代碼展示相應(yīng)的數(shù)據(jù)和內(nèi)容,WXSS的作用是對(duì)頁(yè)面布局的樣式進(jìn)行設(shè)置。MINA框架提供了一套基礎(chǔ)的組件和豐富的微信原生接口,組件自帶微信風(fēng)格的樣式以及特殊的邏輯,而這些API可以直接對(duì)微信提供的能力進(jìn)行調(diào)用。第3章小程序需求分析與設(shè)計(jì)3.1可行性分析1.經(jīng)濟(jì)可行性本項(xiàng)目的開發(fā)和維護(hù)的成本較低。由于微信小程序只能通過(guò)微信來(lái)訪問,因此開發(fā)者在進(jìn)行微信小程序的開發(fā)時(shí)不需要考慮去適應(yīng)不同移動(dòng)智能終端的操作系統(tǒng),也就不用像App一樣需要開發(fā)多種不同的版本。本項(xiàng)目的學(xué)習(xí)成本也較低。這是因?yàn)槲⑿判〕绦蚴褂玫氖瞧涮赜械腗INA框架來(lái)進(jìn)行開發(fā),該框架的特點(diǎn)就是開發(fā)者只需專注于小程序業(yè)務(wù)邏輯的設(shè)計(jì)即可。從編程語(yǔ)言來(lái)看,無(wú)論是標(biāo)記語(yǔ)言WXML和WXSS,還是Javascript語(yǔ)言,都是適用范圍較廣的語(yǔ)言。2.技術(shù)可行性本項(xiàng)目所涉及的功能開發(fā)技術(shù)都能夠?qū)崿F(xiàn),從目前已有的微信小程序以及微信小程序開發(fā)者工具提供的API和組件來(lái)看,微信小程序支持用戶授權(quán)登錄,支持條形二維碼的掃描,支持用戶上傳資源,支持用戶分享頁(yè)面,支持用戶評(píng)論和回復(fù)。3.社會(huì)環(huán)境可行性隨著技術(shù)的進(jìn)步,移動(dòng)閱讀、數(shù)字閱讀、碎片化學(xué)習(xí)等理念已經(jīng)深入人心。同時(shí),人們希望通過(guò)碎片化的知識(shí)交流,個(gè)性化的閱讀推薦,和社交化的閱讀互動(dòng)來(lái)滿足了更有效率,更有價(jià)值,更具社交性的閱讀需求。3.2小程序需求分析3.2.1功能需求本社會(huì)化閱讀交流社區(qū)的目的是打造一個(gè)讀書心得交流平臺(tái),用戶可以在平臺(tái)上發(fā)表自己關(guān)于某本書的讀書心得或讀書筆記。對(duì)于讀書心得或讀書筆記,用戶可以進(jìn)行點(diǎn)贊、轉(zhuǎn)發(fā)和評(píng)論等互動(dòng)。本社會(huì)化閱讀交流社區(qū)的需求主要包括以下幾點(diǎn):用戶登錄。每日好書推薦。掃描書籍的條碼獲取書籍信息。可以對(duì)書籍進(jìn)行收藏。發(fā)布讀書心得或讀書筆記。對(duì)所有用戶發(fā)布的讀書心得或讀書筆記進(jìn)行展示??梢詫?duì)他人發(fā)布的讀書心得或讀書筆記進(jìn)行互動(dòng)??梢詫?duì)發(fā)布的讀書心得或讀書筆記進(jìn)行關(guān)鍵詞搜索??梢蕴嵝延脩粲衅渌脩魧?duì)自己發(fā)布內(nèi)容的互動(dòng)情況。可以對(duì)用戶自己發(fā)布過(guò)的讀書心得以及評(píng)論進(jìn)行查看。上面列舉了本社會(huì)化閱讀交流社區(qū)應(yīng)用中核心的10個(gè)需求,其中第三項(xiàng)書籍錄入功能需要借助第三方接口服務(wù)來(lái)實(shí)現(xiàn),其他功能可以通過(guò)云開發(fā)技術(shù)來(lái)完成。3.2.2設(shè)備需求在開發(fā)基于微信小程序的社會(huì)化閱讀交流社區(qū)的過(guò)程中,需要使用到的設(shè)備主要是個(gè)人計(jì)算機(jī)設(shè)備和智能移動(dòng)終端設(shè)備。1.個(gè)人計(jì)算機(jī)設(shè)備個(gè)人計(jì)算機(jī)設(shè)備主要是用來(lái)下載微信小程序開發(fā)者工具,并進(jìn)行代碼的編寫。除此之外,本項(xiàng)目的開發(fā)還用到了微信小程序的云開發(fā)功能,因?yàn)閭€(gè)人計(jì)算機(jī)設(shè)備還需要用來(lái)配置云端信息以及對(duì)云端資源進(jìn)行管理。個(gè)人計(jì)算機(jī)的操作系統(tǒng)可以是Windows系統(tǒng)也可以是iOS系統(tǒng),需要注意的是,如果個(gè)人計(jì)算機(jī)的操作系統(tǒng)是Windows系統(tǒng),那么系統(tǒng)的版本必須是Windows7以上,方可運(yùn)行微信小程序開發(fā)者工具。2.智能移動(dòng)終端設(shè)備智能移動(dòng)終端主要是用來(lái)安裝微信軟件,在微信小程序的開發(fā)過(guò)程中進(jìn)行真機(jī)測(cè)試。由于微信小程序是微信的內(nèi)置小程序,因此只要智能移動(dòng)終端各功能良好,可以安裝微信軟件,并能夠打開掃一掃,以及可以進(jìn)行良好的操作體驗(yàn)即可。3.3小程序設(shè)計(jì)3.3.1云開發(fā)功能相關(guān)設(shè)計(jì)1.云函數(shù)設(shè)計(jì)云函數(shù)指的是在云端環(huán)境中運(yùn)行的一組程序代碼。云函數(shù)功能通過(guò)在云端創(chuàng)建云函數(shù)實(shí)例來(lái)幫助開發(fā)者完成復(fù)雜的業(yè)務(wù)。本文共定義了7個(gè)云函數(shù)來(lái)配合小程序的功能調(diào)用。如表3-1所示為云函數(shù)列表。2.云存儲(chǔ)設(shè)計(jì)云存儲(chǔ)功能提供了上傳文件資源到云端、帶權(quán)限管理的云端下載能力,開發(fā)者可以通過(guò)調(diào)用接口wx.cloud.uploadFile和wx.cloud.downloadFile在小程序端實(shí)現(xiàn)對(duì)文件資源的上傳和下載。除此之外,開發(fā)者還可以直接打開云開發(fā)控制臺(tái)進(jìn)行上傳和下載的操作。讀者在社會(huì)化閱讀交流社區(qū)進(jìn)行交互時(shí),有時(shí)需要上傳圖片資源,而圖片資源會(huì)占據(jù)大量的存儲(chǔ)空間,因此本微信小程序在云存儲(chǔ)中創(chuàng)建了一個(gè)文件ss_img來(lái)存儲(chǔ)用戶上傳的圖片資源,如圖3-1所示。表3-1云函數(shù)列表名稱運(yùn)行環(huán)境功能checkImgNodejs10.15對(duì)上傳圖片進(jìn)行審核checkStrNodejs10.15對(duì)上傳文本進(jìn)行審核deleteNodejs10.15用戶刪除自己的收藏、發(fā)布、評(píng)論信息dianzanNodejs10.15用戶點(diǎn)贊行為fbplNodejs10.15用戶發(fā)布評(píng)論行為jubaoNodejs10.15用戶舉報(bào)行為loginNodejs10.15用戶登錄looksNodejs10.15用戶瀏覽行為圖3-1云存儲(chǔ)文件ss_img3.云數(shù)據(jù)庫(kù)設(shè)計(jì)若開發(fā)者使用微信小程序的云開發(fā)技術(shù)則不需要自建數(shù)據(jù)庫(kù),云開發(fā)提供了一個(gè)JSON格式的數(shù)據(jù)庫(kù),不同于關(guān)系型數(shù)據(jù)庫(kù),微信小程序的云數(shù)據(jù)庫(kù)以集合的形式存儲(chǔ),集合就相當(dāng)于關(guān)系型數(shù)據(jù)中的表。開發(fā)者可以對(duì)云數(shù)據(jù)庫(kù)中的集合數(shù)據(jù)進(jìn)行帶權(quán)限管理的增刪改查。本文中的微信小程序共創(chuàng)建了4個(gè)集合,分別為用戶集合users,書籍集合books,讀書心得或筆記集合ss和系統(tǒng)集合system。用戶集合users存儲(chǔ)的是微信小程序的用戶信息,users集合記錄數(shù)據(jù)表如表3-2所示。當(dāng)有新用戶登錄時(shí),小程序獲取到用戶信息之后,利用setData將用戶信息存儲(chǔ)到云數(shù)據(jù)庫(kù)的users集合中,便于其他頁(yè)面調(diào)用用戶信息。書籍集合book存儲(chǔ)的是通過(guò)ISBN是掃描得到的書籍信息,book集合記錄數(shù)據(jù)表如表3-3所示。用戶通過(guò)微信小程序的書籍錄入功能進(jìn)行書籍信息的請(qǐng)求,請(qǐng)求完成后再對(duì)云數(shù)據(jù)庫(kù)中的book集合進(jìn)行查詢,如果云數(shù)據(jù)庫(kù)中沒有此書籍的信息,則將此書籍的數(shù)據(jù)插入到book集合中。表3-2users集合數(shù)據(jù)表字段標(biāo)識(shí)符數(shù)據(jù)類型說(shuō)明_id√string用戶idopenid-string用戶openidallow-bollean是否授權(quán)ban-bollean賬號(hào)是否被封book-object收藏的書籍信息message-array消息情況online-boolean是否在線nglunguo-array發(fā)布的評(píng)論消息userinfo-object用戶信息weiguinb-number內(nèi)容被舉報(bào)次數(shù)wenzhang-array發(fā)布的文章信息表3-3book集合數(shù)據(jù)表字段標(biāo)識(shí)符數(shù)據(jù)類型說(shuō)明_id√string書籍idtitle-string書籍名author-string書籍作者image-string書籍圖片地址detail-object書籍詳細(xì)信息intro-string書籍簡(jiǎn)介plinfo-array書籍的評(píng)論信息讀書心得或筆記集合ss存儲(chǔ)的是用戶發(fā)布的讀書心得或筆記的詳細(xì)信息,包括與其他用戶的互動(dòng)詳細(xì)信息,ss集合記錄數(shù)據(jù)表如表3-4所示。當(dāng)用戶對(duì)錄入的書籍進(jìn)行讀書心得或筆記發(fā)布后,該讀書心得或筆記信息就會(huì)添加到ss集合中,當(dāng)其他用戶對(duì)該讀書心得或筆記進(jìn)行點(diǎn)贊評(píng)論等互動(dòng)交流行為時(shí),相應(yīng)的信息也會(huì)同步更新到ss集合中。系統(tǒng)集合system中存儲(chǔ)了兩個(gè)文檔,文檔001存儲(chǔ)的是管理員的id信息,文檔002存儲(chǔ)的是開發(fā)者的微信、郵箱等信息,便于用戶與開發(fā)者進(jìn)行聯(lián)系溝通,開發(fā)者也可及時(shí)獲得用戶的使用反饋。表3-4system集合數(shù)據(jù)表字段標(biāo)識(shí)符數(shù)據(jù)類型說(shuō)明_id√string內(nèi)容idopenid-string發(fā)布者idss_xx-object讀書心得或筆記互動(dòng)詳細(xì)信息time-number讀書心得或筆記發(fā)布時(shí)間bookinfo-object所評(píng)論的書籍信息3.3.2小程序功能設(shè)計(jì)基于以上可行性分析和需求分析的研究,對(duì)小程序的功能及其頁(yè)面結(jié)構(gòu)進(jìn)行介紹:1.用戶登錄功能用戶授權(quán)登錄是小程序的主要功能之一,用戶點(diǎn)擊登錄按鈕,小程序界面會(huì)彈出彈窗詢問用戶是否同意授權(quán)使得微信小程序獲得用戶的微信信息。若同意,則跳轉(zhuǎn)到個(gè)人中心界面。2.好書推薦功能開發(fā)者通過(guò)后臺(tái)操作,將要推薦的好書宣傳海報(bào)植入到微信小程序的輪播器中。用戶可以通過(guò)點(diǎn)擊相應(yīng)的海報(bào),進(jìn)入好書推薦的文章頁(yè)面進(jìn)行瀏覽和互動(dòng)。3.書籍錄入功能書籍錄入功能是本微信小程序的一大核心功能,用戶可以通過(guò)掃描書籍的條形碼獲取書籍詳情,并查看其他用戶發(fā)布的該書籍的讀書心得和評(píng)論。4.收藏功能當(dāng)用戶對(duì)書籍的條形碼進(jìn)行掃描獲取詳情后,可以對(duì)書籍進(jìn)行收藏,便于查看。5.發(fā)布功能當(dāng)用戶對(duì)書籍的條形碼進(jìn)行掃描獲取詳情后,可以對(duì)該書籍發(fā)布自己的讀書心得或筆記,發(fā)布內(nèi)容可以選擇文本形式以及圖片形式。6.展示功能所有用戶發(fā)布的讀書心得或筆記會(huì)即時(shí)地展示在微信小程序首頁(yè),便于用戶進(jìn)行瀏覽和互動(dòng)。讀書心得和讀書筆記的展示有兩種排序方式,一種是通過(guò)時(shí)間順序進(jìn)行展示,另一種是通過(guò)一周內(nèi)的熱度進(jìn)行展示。7.互動(dòng)功能互動(dòng)功能是本微信小程序的另一大核心功能,用戶對(duì)其他用戶發(fā)布的讀書心得或筆記進(jìn)行互動(dòng),互動(dòng)操作包括點(diǎn)贊、轉(zhuǎn)發(fā)、評(píng)論和舉報(bào)。當(dāng)用戶退出當(dāng)前發(fā)布內(nèi)容后,將在首頁(yè)顯示更新后的互動(dòng)狀態(tài)。8.搜索功能用戶通過(guò)在首頁(yè)搜索框中輸入想要搜索的內(nèi)容關(guān)鍵字,就會(huì)顯示出搜索結(jié)果。9.消息中心功能當(dāng)有其他用戶進(jìn)行互動(dòng)評(píng)論時(shí),手機(jī)會(huì)震動(dòng)提醒用戶查看未讀消息,在消息的圖標(biāo)處也會(huì)刷新出消息紅點(diǎn)。當(dāng)用戶點(diǎn)擊消息做出回應(yīng)后,已讀消息不再出現(xiàn)于消息界面,紅點(diǎn)也會(huì)消失。消息可以通過(guò)向左滑動(dòng)刪除。10.個(gè)人中心功能登陸后,用戶可以在個(gè)人中心界面看到自己的頭像和用戶名。此外,用戶還可以查看或刪除自己收藏的書籍、已發(fā)的讀書心得或筆記以及評(píng)論信息,用戶還可以查看開發(fā)者微信、郵箱和自己的用戶id。3.3.3小程序頁(yè)面布局設(shè)計(jì)小程序運(yùn)用了較為溫和的色系,頁(yè)面較為精簡(jiǎn)大方的設(shè)計(jì),底部導(dǎo)航欄設(shè)置了四個(gè)tab頁(yè)來(lái)進(jìn)行主要頁(yè)面的切換,旨在為讀者營(yíng)造更加舒適的用戶體驗(yàn)。1.首頁(yè)首頁(yè)是微信小程序的核心頁(yè)面之一,大部分主要功能都在首頁(yè)進(jìn)行觸發(fā)。如圖3-2所示,用戶進(jìn)入小程序后即可看到首頁(yè)界面,此頁(yè)面由搜索框、書籍推薦區(qū)、讀書心得或筆記展示區(qū)三部分組成,在相關(guān)區(qū)域進(jìn)行操作,即可實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn)或是功能的實(shí)現(xiàn)。2.讀書心得或筆記發(fā)布頁(yè)面當(dāng)用戶錄入書籍獲得書籍信息后,可以選擇對(duì)該書籍進(jìn)行讀書心得或筆記的發(fā)布。用戶可以選擇發(fā)布純文本評(píng)論或添加圖片。該頁(yè)面由書籍信息區(qū)、文本編輯區(qū)、圖片添加區(qū)和發(fā)布按鈕四部分組成,如圖3-3所示。3.消息中心頁(yè)面當(dāng)有其他用戶對(duì)讀者發(fā)布的讀書心得或筆記或留言進(jìn)行評(píng)論回復(fù)或舉報(bào)時(shí),如圖3-4所示,消息中心會(huì)在底部導(dǎo)航欄的圖標(biāo)上顯示消息數(shù)量的標(biāo)志,在頁(yè)面上會(huì)顯示出相關(guān)的信息以便用戶快速作出回應(yīng)。4.個(gè)人中心頁(yè)面?zhèn)€人中心頁(yè)面由用戶基礎(chǔ)信息區(qū)和用戶詳細(xì)信息區(qū)兩部分構(gòu)成。如圖3-5所示,當(dāng)用戶授權(quán)登錄微信小程序后,可以在個(gè)人中心頁(yè)面看到自己的頭像和昵稱,出于美觀考慮,該區(qū)域的背景圖片設(shè)置為用戶頭像的虛化放大版。用戶可以在該界面點(diǎn)擊相應(yīng)的區(qū)域查看自己的詳細(xì)信息。圖3-2首頁(yè)頁(yè)面結(jié)構(gòu)圖3-3發(fā)布頁(yè)面結(jié)構(gòu)圖3-4消息中心頁(yè)面結(jié)構(gòu)圖3-5個(gè)人中心頁(yè)面結(jié)構(gòu)第4章小程序?qū)崿F(xiàn)與測(cè)試4.1小程序的準(zhǔn)備工作4.1.1小程序賬號(hào)注冊(cè)注冊(cè)小程序賬號(hào)是開發(fā)微信小程序的第一步。首先進(jìn)入微信公眾社區(qū)官網(wǎng),在賬號(hào)分類中選擇小程序進(jìn)行注冊(cè)。然后填寫郵箱和密碼,并激活郵箱,最后選擇主體類型、完善主體信息和管理員信息,如圖4-1所示。本微信小程序因不具備其他組織機(jī)構(gòu)類型的條件,因此選擇“個(gè)人”主體類型進(jìn)行注冊(cè)。。圖4-1微信小程序賬號(hào)注冊(cè)頁(yè)4.1.2小程序開發(fā)環(huán)境配置1.微信開發(fā)者工具微信官方提供了微信開發(fā)者工具專門用來(lái)開發(fā)微信小程序,開發(fā)者可以開發(fā)調(diào)試微信小程序頁(yè)面,查看和編輯程序代碼,對(duì)小程序進(jìn)行預(yù)覽,還可以發(fā)布微信小程序?;诖?,本文選擇使用微信開發(fā)者工具來(lái)完成開發(fā)工作。微信官方提供了適用于Windows和iOS兩個(gè)不同版本操作系統(tǒng)的微信開發(fā)者工具,如圖4-2所示。本微信小程序根據(jù)個(gè)人計(jì)算機(jī)設(shè)備的操作系統(tǒng)選擇“穩(wěn)定版StableBuild(1.05.2103200)”的64位版本進(jìn)行下載開發(fā)。圖4-2微信小程序開發(fā)者工具2.云開發(fā)微信小程序的云開發(fā)功能是微信團(tuán)隊(duì)聯(lián)合騰訊云推出的專業(yè)的小程序開發(fā)服務(wù)。其優(yōu)勢(shì)有:無(wú)需搭建服務(wù)器,直接使用平臺(tái)提供的API進(jìn)行快速開發(fā)業(yè)務(wù);免登錄、免鑒權(quán),保證業(yè)務(wù)安全性;支持環(huán)境共享,統(tǒng)一開發(fā)多端應(yīng)用,便捷復(fù)用業(yè)務(wù)代碼與數(shù)據(jù);不限開發(fā)語(yǔ)言和框架;按量計(jì)費(fèi),成本更低。微信小程序的云開發(fā)功能使得開發(fā)者可以專注于小程序業(yè)務(wù)邏輯的設(shè)計(jì),服務(wù)器的設(shè)計(jì)與維護(hù)的成本較低?;诖?,本文選擇開通微信小程序的云開發(fā)功能來(lái)進(jìn)行小程序業(yè)務(wù)的開發(fā)。打開微信開發(fā)者工具,在菜單欄中選擇“云開發(fā)”進(jìn)行云開發(fā)功能的開通,如圖4-3所示。圖4-3微信小程序云開發(fā)4.1.3開通萬(wàn)維易源網(wǎng)的書籍查詢接口服務(wù)每一本上市的書籍都擁有一個(gè)ISBN,即通常印刷在書籍封底的條形碼。如果掃描這個(gè)條形碼會(huì)得到一串10位或13位的字符串,通過(guò)這串字符串可以查詢當(dāng)前書籍的詳細(xì)信息。在萬(wàn)維易源網(wǎng)可以通過(guò)ISBN獲取書籍詳情的接口,這個(gè)接口需要付費(fèi)使用,但每個(gè)用戶最初有10次的免費(fèi)測(cè)試機(jī)會(huì)。在網(wǎng)站首頁(yè)的搜索欄中輸入ISBN可以查詢到需要的接口,得到的結(jié)果如圖4-4所示。使用萬(wàn)維易源網(wǎng)提供的接口服務(wù),需要先注冊(cè)為網(wǎng)站的會(huì)員。圖4-4萬(wàn)維易源網(wǎng)搜索ISBN查詢接口服務(wù)信息填寫完成后即可成為會(huì)員。本文選擇使用“ISBN查詢書籍?dāng)?shù)據(jù)-專業(yè)版”作為本微信小程序接口服務(wù)。該接口為萬(wàn)為易源與專業(yè)書商合作推出的數(shù)據(jù)接口,對(duì)一些冷門書籍有較高查得率,可查得出版物的中圖法分類、cip等專業(yè)信息。在“ISBN查詢書籍?dāng)?shù)據(jù)-專業(yè)版”接口的詳情頁(yè)中可以選擇套餐,在萬(wàn)維易源會(huì)員后臺(tái)的“單獨(dú)接口資源包”中可以查看生效的套餐與套餐余量,如圖4-5所示。之后還需要在萬(wàn)維易源后臺(tái)創(chuàng)建一個(gè)應(yīng)用程序,在“我的應(yīng)用”欄目中可以進(jìn)行應(yīng)用程序的創(chuàng)建,如圖4-6所示。圖4-5查看生效的套餐詳情圖4-6創(chuàng)建的應(yīng)用程序在創(chuàng)建應(yīng)用程序時(shí),要選擇此應(yīng)用程序可以調(diào)用的接口服務(wù)。應(yīng)用程序創(chuàng)建完成后,萬(wàn)維易源后臺(tái)會(huì)自動(dòng)為這個(gè)應(yīng)用程序分配一個(gè)appId和密鑰,通過(guò)appId和密鑰可以進(jìn)行接口服務(wù)的訪問。4.2小程序主要功能實(shí)現(xiàn)4.2.1用戶授權(quán)登錄功能的實(shí)現(xiàn)圖4-7微信小程序登錄過(guò)程用戶登錄功能通過(guò)云函數(shù)實(shí)現(xiàn),便于反復(fù)調(diào)用。登錄過(guò)程中小程序首先需要獲得臨時(shí)登錄憑證code,此步驟通過(guò)wx.cloud.callfunctiono調(diào)用云函數(shù)login()實(shí)現(xiàn)。登錄憑證的有效期為5min,并將憑證發(fā)送到服務(wù)端,開發(fā)者需要在開發(fā)者服務(wù)器后臺(tái)調(diào)用api,使用code交換取用戶標(biāo)識(shí)(openid)和會(huì)話密鑰(session_key),session_key可以對(duì)用戶數(shù)據(jù)的通信進(jìn)行加密和解密。開發(fā)者服務(wù)器會(huì)生成用戶信息并存儲(chǔ)和加密,同時(shí)設(shè)置登錄狀態(tài)過(guò)期時(shí)間并向微信小程序返回業(yè)務(wù)數(shù)據(jù),同時(shí)微信小程序調(diào)用接口getUserProfile方法獲取用戶頭像、昵稱等基本信息,完成登錄。整個(gè)登錄過(guò)程如圖4-7所示。4.2.2書籍錄入功能的實(shí)現(xiàn)該功能需要借助第三方接口服務(wù)即萬(wàn)維易源網(wǎng)的書籍查詢接口服務(wù)來(lái)完成。在書籍錄入界面,用戶通過(guò)點(diǎn)擊掃描按鈕進(jìn)入掃描,小程序通過(guò)調(diào)用接口wx.scanCode方法直接彈出為微信系統(tǒng)的掃描條碼界面,將scanType參數(shù)設(shè)置為EAN_13后,則只會(huì)對(duì)條形碼進(jìn)行識(shí)別,而不會(huì)被其他二維碼等條碼干擾。如果掃描成功,則調(diào)用請(qǐng)求方法進(jìn)行書籍信息的請(qǐng)求。通過(guò)書籍的ISBN進(jìn)行書籍信息的請(qǐng)求,請(qǐng)求完成后再對(duì)云數(shù)據(jù)庫(kù)進(jìn)行查詢,如果云數(shù)據(jù)庫(kù)中沒有此書籍的信息,則將此書籍的數(shù)據(jù)插入云數(shù)據(jù)庫(kù)中。具體代碼實(shí)現(xiàn)如下:var

network

=

{

getBookData:

function

(isbn){

return

new

Promise

((resolve,

reject)

=>

{

wx.request({

url:

'/1626-1',

method:

'GET',

dataType:

'json',

data:{

”showapi_timestamp”:date(),

”showapi_appid”:

'639206',

”showapi_sign”:

'48a049ef64704a07ae9964ea2d231a7e',

”isbn”:

isbn

},

success:

function(res){

var

book

=

res.data.showapi_res_body.data;

db.insertBook(book).then(()

=>

{

resolve(book);

}).catch((error)

=>

{

wx.showToast({

title:'查詢失敗',

})

});

},

fail:

function

(error){

reject(error);

}

});

});

},};addBook:function(){

wx.scanCode({

scanTType:'EAN_13',

success:function(res){

network.getBookData(res.result).then(()

=>

{

wx.showToast({

title:'成功',

})

}).catch((error)=>{

wx.showToast({

title:'沒有關(guān)于此書的信息'

})

});

},

})}4.2.3發(fā)布功能的實(shí)現(xiàn)發(fā)布讀書心得或筆記功能的前提是用戶已登錄,當(dāng)用戶點(diǎn)擊添加讀書心得或筆記時(shí),首先需要對(duì)用戶是否登錄進(jìn)行驗(yàn)證,如未登錄小程序則跳出彈窗提醒用戶在用戶登錄頁(yè)面進(jìn)行登錄。小程序使用wx.chooseImage接口將本地相冊(cè)中的圖片文件進(jìn)行添加。用戶完成輸入后點(diǎn)擊發(fā)布按鈕。小程序調(diào)用云函數(shù)checkStr和checkImg對(duì)要發(fā)布的文本和圖片進(jìn)行合法性檢測(cè),如若沒有問題,則通過(guò)審核。調(diào)用uploadfile接口上傳數(shù)據(jù)到數(shù)據(jù)庫(kù),圖片資源解析出地址后存入云存儲(chǔ)文件中。發(fā)布功能的核心代碼如下:

if(zs!=0){

wx.showLoading({

title:

'就快好了...',

mask:true

})

var

fileID=[]

var

js=0

for(var

i=0;i<zs;i++){

//取圖片的大小進(jìn)行判斷

var

path=ss_img[i];//取當(dāng)前圖片路徑

var

size=await

this.qudaxiao(path)

console.log(”圖片的大小是”,size)

if(size>=1048576){

//超過(guò)1M需要進(jìn)行壓縮?。?/p>

path=await

this.yasuo(path,0.92,800)

}

var

time=new

Date().getTime()

//直接拼接出云路徑

fileID[i]=”cloud://cloud1-1gemxb3z9d15b479.636c-cloud1-1gemxb3z9d15b479-1305648722/ss_img/”

+time.toString()+”.jpg”

wx.cloud.uploadFile({

cloudPath:

”ss_img/”+time+”.jpg”,

//

上傳至云端的路徑

filePath:

path,

//

小程序臨時(shí)文件路徑

success:

res

=>

{

js++//記錄成功獲取云儲(chǔ)存路徑的圖片數(shù)量

if(js==zs){

ss_xx.tp=fileID

this.post(ss_xx)

}

},

})

}

}else{

this.post(ss_xx)

}4.2.4互動(dòng)功能的實(shí)現(xiàn)用戶間的互動(dòng)行為是本微信小程序的重要功能組成,包括瀏覽、點(diǎn)贊、評(píng)論回復(fù)、舉報(bào)。這些互動(dòng)由于在用戶使用小程序中被頻繁使用,因此通過(guò)云函數(shù)的調(diào)用來(lái)實(shí)現(xiàn)。 實(shí)現(xiàn)瀏覽量計(jì)算功能的云函數(shù)的核心代碼如下:exports.main

=

async

(event,

context)

=>

{

var

id=event.id

var

type=event.type

if(type=='ss'){

cloud.database().collection('ss').doc(id).update({

data:{

'ss_xx.look':cloud.database().command.inc(1)

}

})

}else{

cloud.database().collection('tj').doc(id).update({

data:{

'look':cloud.database().command.inc(1)

}

})

}}實(shí)現(xiàn)點(diǎn)贊量計(jì)算功能的云函數(shù)的核心代碼如下:exports.main

=

async

(event,

context)

=>

{

var

dzrid=event.dzrid

const

db=cloud.database()

const

_

=

mand

if(dzrid==null||dzrid==undefined||dzrid==””){

return

}

db.collection(”ss”).doc(event.id).get().then((res)=>{

var

dianzanid=res.data.ss_xx.dianzanid

var

yn=dianzanid.indexOf(dzrid)

if(yn==-1){

db.collection(”ss”).doc(event.id).update({

data:{

”ss_xx.dianzanid”:_.push(dzrid),

”ss_xx.dianzannb”:_.inc(1)

}

})

return

}else{

db.collection(”ss”).doc(event.id).update({

data:{

”ss_xx.dianzanid”:_.pull(dzrid.toString()),

”ss_xx.dianzannb”:_.inc(-1)

}

})

return

}

})}實(shí)現(xiàn)舉報(bào)功能的云函數(shù)的核心代碼如下:exports.main

=

async

(event,

context)

=>

{

var

jbrid=event.jbrid

const

db=cloud.database()

const

_

=

mand

//先看數(shù)據(jù)庫(kù)中舉報(bào)數(shù)加完是否達(dá)到

db.collection(”ss”).doc(event.id).get().then((res)=>{

var

total=res.data.ss_xx.jubao[1]

var

lzid=res.data.ss_xx.lzid

if(total>9){

return

}

if(total<=8){

//加完小于等于九,可以直接加

db.collection(”ss”).doc(event.id).update({

data:{

”ss_xx.jubao.0”:_.push(jbrid),

”ss_xx.jubao.1”:_.inc(1)

}

})

return

}else{

db.collection(”ss”).doc(event.id).update({

data:{

”ss_xx.jubao.0”:_.push(jbrid),

”ss_xx.jubao.1”:_.inc(1),

//清空評(píng)論

'ss_xx.huifunr':[],

'ss_xx.huifunb':0

}

})}}4.2.5推薦功能的實(shí)現(xiàn)推薦功能通過(guò)小程序首頁(yè)的輪播器展示。當(dāng)用戶在輪播器區(qū)域點(diǎn)擊相應(yīng)的推薦文章的海報(bào)時(shí),小程序通過(guò)使用navigator組件使頁(yè)面跳轉(zhuǎn)進(jìn)入相應(yīng)的推薦文章頁(yè)以便用戶進(jìn)行瀏覽,推薦文章可以通過(guò)與微信小程序關(guān)聯(lián)的微信公眾號(hào)文章的鏈接進(jìn)行展示。4.3小程序測(cè)試小程序開發(fā)完成后,可以對(duì)其進(jìn)行測(cè)試,保證小程序上線后可以穩(wěn)定運(yùn)行。微信開發(fā)者工具自備體驗(yàn)評(píng)分工具,可以在小程序運(yùn)行時(shí)進(jìn)行實(shí)時(shí)的檢查,分析出體驗(yàn)不好的地方,并作出評(píng)分和建議。在測(cè)試時(shí),首先需在詳情里切換基礎(chǔ)庫(kù)到2.2.0或以上版本。然后在調(diào)試器區(qū)域切換到Audits面板。點(diǎn)擊”開始“按鈕,在模擬器區(qū)域?qū)π〕绦虻慕缑孢M(jìn)行操作。如圖4-8所示,該社會(huì)化閱讀交流社區(qū)的微信小程序的體驗(yàn)評(píng)分為95分,具體為性能100分、體驗(yàn)83分、最佳實(shí)踐90分,體驗(yàn)結(jié)果為良好,可以考慮上線運(yùn)行。圖4-8小程序體驗(yàn)評(píng)分

結(jié)論與展望1.研究結(jié)論本文通過(guò)對(duì)社會(huì)化閱讀的相關(guān)研究進(jìn)行整理,結(jié)合移動(dòng)互聯(lián)網(wǎng)時(shí)代背景下數(shù)字化閱讀的特點(diǎn),針對(duì)當(dāng)前基于微信小程序的社會(huì)化閱讀交流社區(qū)開發(fā)較少的問題,本文希望通過(guò)基于微信小程序云開發(fā)的社會(huì)化閱讀交流社區(qū)的設(shè)計(jì)與實(shí)現(xiàn),完成一個(gè)以讀者為核心的社會(huì)化閱讀交流社區(qū),小程序?qū)崿F(xiàn)了用戶授權(quán)登錄、書籍錄入、讀者互動(dòng)、書籍推薦等功能,并對(duì)微信小程序進(jìn)行了測(cè)試,評(píng)分為95分。目前由于該社會(huì)化閱讀交流社區(qū)系統(tǒng)目前還處于試運(yùn)行階段,開發(fā)調(diào)試工具還不完備,并沒有正式上線運(yùn)營(yíng),因此用戶使用評(píng)價(jià)有待提升。2.研究展望隨著現(xiàn)代技術(shù)的進(jìn)步與發(fā)展,微信小程序的功能會(huì)日益強(qiáng)大,其在閱讀領(lǐng)域的應(yīng)用也會(huì)越來(lái)越廣泛。同時(shí),伴隨著生活節(jié)奏的加快,使用移動(dòng)智能設(shè)備開展社會(huì)化閱讀活動(dòng),會(huì)成為未來(lái)閱讀的趨勢(shì)。未來(lái)微信小程序在社會(huì)化閱讀分享交流領(lǐng)域的研究可以從以下兩個(gè)方面探索:引導(dǎo)建立新型的閱讀社群。目前的社會(huì)化閱讀交流中,讀者出于評(píng)論和回復(fù)的篇幅限制,不能進(jìn)行更廣泛的自我表達(dá)。因此,引導(dǎo)建立新型閱讀社群即在原有社交網(wǎng)絡(luò)的基礎(chǔ)上創(chuàng)造更加開放、多元、自由的討論平臺(tái),使得讀者可以進(jìn)行更深層次的交流和探討。提供更好的閱讀推廣服務(wù)。利用微信小程序可以和微信公眾平臺(tái)相結(jié)合的特點(diǎn),吸引更多的讀者,引導(dǎo)讀者養(yǎng)成良好的鬩讀習(xí)慣和提高學(xué)習(xí)與思考的能力,提供更好的閱讀推廣服務(wù)。

參考文獻(xiàn)[1]國(guó)際在線.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論