微信平臺(tái)下的個(gè)人知識(shí)庫(kù)_第1頁(yè)
微信平臺(tái)下的個(gè)人知識(shí)庫(kù)_第2頁(yè)
微信平臺(tái)下的個(gè)人知識(shí)庫(kù)_第3頁(yè)
微信平臺(tái)下的個(gè)人知識(shí)庫(kù)_第4頁(yè)
微信平臺(tái)下的個(gè)人知識(shí)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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)介

基于微信小程序個(gè)人知識(shí)管理系統(tǒng)設(shè)想及達(dá)成目錄緒論 1論文研究的背景、意義及目的 1國(guó)內(nèi)外研究現(xiàn)狀 1本文研究的主要內(nèi)容 2系統(tǒng)分析與設(shè)計(jì) 個(gè)人知識(shí)管理概念與流程 2總體需求分析 3系統(tǒng)功能設(shè)計(jì) 3系統(tǒng)UI設(shè)計(jì) 4系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 5系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù) 6微信小程序相關(guān)技術(shù) 6Egg.js 7服務(wù)器部署 8docker介紹 73簡(jiǎn)介 7Mongodb 9Web端相關(guān)技術(shù) 8 8 83.4.3Yup與react-hook-form 9系統(tǒng)實(shí)現(xiàn) 9登錄注冊(cè)模塊實(shí)現(xiàn) 9登錄成功首頁(yè)實(shí)現(xiàn) 知識(shí)庫(kù)模塊實(shí)現(xiàn) 文字編輯器實(shí)現(xiàn) 復(fù)習(xí)模塊的實(shí)現(xiàn) 5系統(tǒng)測(cè)試 測(cè)試分析 12測(cè)試方案 測(cè)試結(jié)果 總結(jié) 附錄: 參考文獻(xiàn) 致 謝 PAGE\*ROMANPAGE\*ROMANIII基于微信小程序個(gè)人知識(shí)管理系統(tǒng)設(shè)想及達(dá)成摘 要在學(xué)生的學(xué)習(xí)和研究中,需要不斷吸收具有意義的新知識(shí),將互聯(lián)網(wǎng)碎片化的知識(shí)進(jìn)行整合意味著以一種復(fù)雜的方式創(chuàng)造、儲(chǔ)存、分享和使用知識(shí)來(lái)提高自我效能,以此來(lái)協(xié)調(diào)未來(lái)在特定任務(wù)上的表現(xiàn)。自我效能有三個(gè)關(guān)鍵特征。第一點(diǎn),自我效能是一個(gè)人對(duì)自己產(chǎn)生結(jié)果的能力的信念,而不是對(duì)結(jié)果影響的評(píng)估。第二點(diǎn),自我效能關(guān)注的是整體結(jié)果。最后,自我效能是對(duì)一個(gè)人未來(lái)能做什么的判斷,而不是對(duì)一個(gè)人過(guò)去做過(guò)什么的評(píng)估。所以有效的整合知識(shí)為個(gè)人自我效能的提升具有很大影響。本文借助華為云服務(wù)器完成數(shù)據(jù)的云交互,讓大學(xué)生隨心所欲的建立和管理個(gè)人知識(shí),使其有序化,并不斷把新知識(shí)融入到個(gè)人知識(shí)體系當(dāng)中,在解決問(wèn)題時(shí),可以有效利用和提取相應(yīng)的專業(yè)知識(shí),優(yōu)化自身的自我效能,提升自己的知識(shí)構(gòu)建【關(guān)鍵詞】微信小程序個(gè)人知識(shí)庫(kù)PAGE1PAGE11緒論論文研究的背景、意義及目的國(guó)內(nèi)外研究現(xiàn)狀在如今知識(shí)庫(kù)大概分為:博客類,通過(guò)編寫(xiě)日志按照時(shí)間順序發(fā)布到網(wǎng)上,其他用戶也可以利用評(píng)論進(jìn)行經(jīng)驗(yàn)交流,如國(guó)外的WordPress,Tumblr,Medium等,國(guó)內(nèi)的博客園,掘金之類,雖然其整體信息量相比搜索引擎會(huì)比較小,但是會(huì)過(guò)濾很多無(wú)用信息以及和發(fā)布人互動(dòng),更有實(shí)用價(jià)值;筆記類,國(guó)外有oneNote,StickyNotesbyUkiv,Ideanote,Simplenote,NimbusNote,Encryptic,GoogleKeep,RoamResearch,Notion,Notejoy。國(guó)內(nèi)有語(yǔ)雀,印象筆記之類。數(shù)字化筆記可以方便大家把信息和想法記錄下來(lái),并以自己的理解將其分類以便有所遺忘時(shí)進(jìn)行翻看,它們共同的特點(diǎn)是:支持多種輸入形式(文字,照片,視頻),支持云端同步,支持知識(shí)共享,支持標(biāo)簽分類,讓筆者和讀者都可以快速關(guān)心標(biāo)簽以內(nèi)的內(nèi)容;導(dǎo)圖和地圖類,國(guó)外有openknowledgemaps,mindmanager,xmind等,國(guó)內(nèi)有百度腦圖之類,導(dǎo)圖是把信息可視化,通常圍繞單個(gè)概念知識(shí),地圖則是知識(shí)之間的聯(lián)系和導(dǎo)航,幫助使用者將知識(shí)匯聚成知識(shí)網(wǎng);數(shù)字圖書(shū)館類分為兩類,官方的數(shù)字圖書(shū)館,如各大高校的數(shù)字圖書(shū)館能提供專業(yè)的信息資源,而個(gè)人圖書(shū)館能把看到的文章收藏到自我的知識(shí)庫(kù)內(nèi),兼顧了信息管理和個(gè)人知識(shí)管理。整合現(xiàn)有的知識(shí)庫(kù)工具,可以得知知識(shí)庫(kù)的管理過(guò)程包括檢索獲取,分類命名,整理存儲(chǔ)這些功能。無(wú)論是國(guó)內(nèi)外,知識(shí)庫(kù)工具都已經(jīng)變得十分重要,在國(guó)內(nèi)的團(tuán)隊(duì)辦公軟件中,釘釘和飛書(shū)都具有知識(shí)庫(kù)構(gòu)建的功能。本文研究的主要內(nèi)容方案設(shè)計(jì)及選擇圖1.1知識(shí)管理微觀模型總體需求分析在本次的設(shè)計(jì)中,用戶的體驗(yàn)流程為結(jié)構(gòu)如圖所示:用戶注冊(cè)登錄用戶注冊(cè)登錄查看操作查看操作查看查看操作查看查看操作查看查看知識(shí)庫(kù)復(fù)習(xí)題文章更新指數(shù)待辦學(xué)習(xí)任務(wù)知識(shí)庫(kù)復(fù)習(xí)題文章更新指數(shù)待辦學(xué)習(xí)任務(wù)圖1.2宏觀需求流程圖在本次的設(shè)計(jì)中,用戶先要進(jìn)行賬戶的登錄,如果后端數(shù)據(jù)庫(kù)沒(méi)有查詢到匹配的數(shù)據(jù),則需要用戶進(jìn)行注冊(cè),將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,在用戶登錄之后可以看見(jiàn)自己的文章更新指數(shù)來(lái)查看最近每天的學(xué)習(xí)狀態(tài),也可以查看自己預(yù)定的學(xué)習(xí)任務(wù),這個(gè)任務(wù)可以不完成,是給學(xué)習(xí)者的一個(gè)提醒,及時(shí)判斷自己的學(xué)習(xí)狀態(tài)并進(jìn)行自我調(diào)整。最重要的是創(chuàng)建知識(shí)庫(kù),在登錄之后可以隨意創(chuàng)建自己的知識(shí)合計(jì)庫(kù)然后新建文章,這個(gè)需要學(xué)者有一定的判別歸納能力,知道自己學(xué)習(xí)的東西是歸為哪一類別,這也是在待辦學(xué)習(xí)任務(wù)中隱式提示學(xué)者需要考慮的事情。在文章的功能中,用戶可以用文字加粗/斜體等功能來(lái)提醒自己最關(guān)鍵的文章的信息。在添加知識(shí)庫(kù)之后,用戶可以根據(jù)知識(shí)庫(kù)來(lái)增加復(fù)習(xí)題,對(duì)于知識(shí)的回顧也是非常重要的一件事,德國(guó)心理學(xué)家艾賓浩斯對(duì)記憶遺忘規(guī)律作過(guò)相應(yīng)的研究,以此證明了遺忘過(guò)程是不均衡的,它隨時(shí)間的遞進(jìn)而有所不同,在學(xué)習(xí)到一個(gè)知識(shí)點(diǎn)后最初遺忘得比較快,而以后便逐漸緩慢下來(lái)。俄國(guó)教育家烏申斯基原則也說(shuō)明了及時(shí)復(fù)習(xí)的重要性,他表示與其借助復(fù)習(xí)去恢復(fù)記憶,不如借助復(fù)習(xí)去防止遺忘。這兩位學(xué)者的理論都不約而同證明了在學(xué)習(xí)中我們應(yīng)當(dāng)去“鞏固建筑物”,而不是“修補(bǔ)已經(jīng)倒塌的建筑物”。系統(tǒng)功能設(shè)計(jì)2.3.1待辦學(xué)習(xí)任務(wù)設(shè)計(jì)在待辦學(xué)習(xí)任務(wù)這種todolist的列表當(dāng)中,應(yīng)該擁有添加學(xué)習(xí)計(jì)劃,刪除學(xué)習(xí)計(jì)劃和修改學(xué)習(xí)計(jì)劃的功能,而因?yàn)檫@種代辦學(xué)習(xí)任務(wù)是服務(wù)于知識(shí)庫(kù)的,所以在添加學(xué)習(xí)任務(wù)時(shí),把其設(shè)計(jì)為預(yù)計(jì)更新的知識(shí)庫(kù)章節(jié),使用者可以自行添加對(duì)應(yīng)的知識(shí)庫(kù)。具體流程如下圖:添加所屬知識(shí)庫(kù)(可選)具體知識(shí)點(diǎn)/文章標(biāo)題新建學(xué)習(xí)計(jì)劃添加所屬知識(shí)庫(kù)(可選)具體知識(shí)點(diǎn)/文章標(biāo)題新建學(xué)習(xí)計(jì)劃添加添加修改刪除修改刪除選擇近五日日期與優(yōu)先級(jí)顯示學(xué)習(xí)計(jì)劃用戶選擇近五日日期與優(yōu)先級(jí)顯示學(xué)習(xí)計(jì)劃用戶圖1.3學(xué)習(xí)計(jì)劃模塊流程圖用戶在添加學(xué)習(xí)計(jì)劃時(shí),需要寫(xiě)上具體的知識(shí)點(diǎn)或者文章標(biāo)題,再填寫(xiě)上所屬于的知識(shí)庫(kù),選擇日期,比起長(zhǎng)期的計(jì)劃,短期計(jì)劃更加能夠堅(jiān)持完成,所以再本次的設(shè)計(jì)中,只設(shè)計(jì)了短期計(jì)劃的添加,當(dāng)填寫(xiě)完這些信息后用戶可以去對(duì)每個(gè)學(xué)習(xí)計(jì)劃進(jìn)行修改刪除或查看。2.3.2知識(shí)庫(kù)設(shè)計(jì)知識(shí)庫(kù)的建立,文章的增刪改查,文章更新自動(dòng)更新用戶更新指數(shù)功能,具體流程如下圖所示:PAGEPAGE20系統(tǒng)自動(dòng)修改,刪除系統(tǒng)自動(dòng)修改,刪除新建文章新建知識(shí)庫(kù)更新文章指數(shù)用戶新建文章新建知識(shí)庫(kù)更新文章指數(shù)用戶、圖1.4知識(shí)庫(kù)與文章模塊流程圖用戶在新建了知識(shí)庫(kù)之后可以在知識(shí)庫(kù)中隨意添加文章之后系統(tǒng)會(huì)自動(dòng)將其算在文章更新指數(shù)之中,在添加文章時(shí),為了方便用戶查閱,也會(huì)自動(dòng)同步用戶增加/更改文章的時(shí)間,在文章編輯的功能中,主要實(shí)現(xiàn)以下幾點(diǎn):2.3.1復(fù)習(xí)題模塊設(shè)計(jì)復(fù)習(xí)題目,復(fù)習(xí)內(nèi)容新增復(fù)習(xí)題選擇知識(shí)庫(kù)用戶在用戶增加復(fù)習(xí)題時(shí),應(yīng)該選擇相應(yīng)的知識(shí)庫(kù)來(lái)辨別所要復(fù)習(xí)的類別,方便用戶在碎片時(shí)間中選擇自己需要構(gòu)建維護(hù)的學(xué)習(xí)建筑物。復(fù)習(xí)題目,復(fù)習(xí)內(nèi)容新增復(fù)習(xí)題選擇知識(shí)庫(kù)用戶查看選擇知識(shí)庫(kù)查看復(fù)習(xí)題查看選擇知識(shí)庫(kù)查看復(fù)習(xí)題圖1.5復(fù)習(xí)題模塊流程圖系統(tǒng)UI設(shè)計(jì)UI界面實(shí)現(xiàn)了人與系統(tǒng)之間的有效互動(dòng),好的UI設(shè)計(jì)可以讓用戶在系統(tǒng)之間進(jìn)行自然的交流互動(dòng)操作,同時(shí)利用色彩與心理的間接反應(yīng),帶給使用者好的感受。圖1.6色彩對(duì)心理影響的分類(圖源:毛艷艷)在本次的設(shè)計(jì)中,主要的色調(diào)是藍(lán),藍(lán)色給人一種沉穩(wěn)的感覺(jué),而在知識(shí)學(xué)習(xí)的過(guò)程中,學(xué)者需要沉靜下來(lái),這符合了這一設(shè)計(jì)的最基本要求,在許多學(xué)術(shù)界面中,也都是使用的藍(lán)色,比如知網(wǎng),全球?qū)W術(shù)快報(bào),在團(tuán)隊(duì)工作軟件中,也有許多以藍(lán)色為基調(diào)的APP設(shè)計(jì),比如騰訊會(huì)議,飛書(shū),這些都是因?yàn)樗{(lán)色對(duì)于人的心理暗示為沉靜與安穩(wěn)。在首頁(yè)登錄的背景選擇中,本次選擇了巴西插畫(huà)家paolaSaliby的作品,在其美麗又敏感的作品中,她表示其繪制的角色大多是在經(jīng)歷孤獨(dú),都是在自己的內(nèi)心世界中進(jìn)行個(gè)人旅行。在攀登知識(shí)這座大山的時(shí)候,我們每個(gè)人也都相當(dāng)于是在孤獨(dú)的在追求知識(shí)的旅途,所以paolaSaliby的作品也與本次設(shè)計(jì)的作品不謀而合。系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)當(dāng)用戶注冊(cè)之后,在數(shù)據(jù)庫(kù)中會(huì)單獨(dú)為用戶開(kāi)一條數(shù)據(jù),為用戶開(kāi)一個(gè)獨(dú)有的id,然后通過(guò)傳遞這個(gè)獨(dú)特的id和一些字段來(lái)進(jìn)行數(shù)據(jù)處理,所以只需要考慮功能接口需要的數(shù)據(jù)準(zhǔn)備,不用面向特定功能模塊進(jìn)行數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),這里簡(jiǎn)單列出一些字段:用戶信息字段字段名稱數(shù)據(jù)類型約束條件字段說(shuō)明_idstring唯一用戶唯一IDuaernamestring非空用戶名suerpassstring非空用戶密碼updateindexarray可為空更新指數(shù)todolistarray可為空學(xué)習(xí)計(jì)劃repositoryarray可為空知識(shí)庫(kù)allarticlearray可為空所有文章表中描述了每行數(shù)據(jù)中的主要字段,具體知識(shí)庫(kù)庫(kù)中的字段如下表:知識(shí)庫(kù)字段字段名稱數(shù)據(jù)類型約束條件字段說(shuō)明namestring非空知識(shí)庫(kù)名稱briefstring可為空知識(shí)庫(kù)簡(jiǎn)介privacyBoolean非空知識(shí)庫(kù)是否公開(kāi)listidstring唯一知識(shí)庫(kù)唯一IDwritingsnum非空學(xué)習(xí)計(jì)劃articlearray可為空文章集合具體文章中的字段如下表文章字段字段名稱數(shù)據(jù)類型約束條件字段說(shuō)明htmlstring非空文章內(nèi)容titlestring可為空文章標(biāo)題articleidBoolean非空文章唯一IDdaystring唯一文章創(chuàng)建/修改日期momentnum非空文章創(chuàng)建/修改時(shí)刻系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)微信小程序相關(guān)技術(shù)微信小程序的設(shè)計(jì)模式是MVC模式,即模型、視圖和控制器的縮寫(xiě)。MVC是一種流行的代碼組織方式。MVC背后的思想是,代碼的每一部分都有一個(gè)目的,而這些目的是不同的。一些代碼保存應(yīng)用的數(shù)據(jù),一些代碼讓?xiě)?yīng)用看起來(lái)更漂亮,一些代碼控制應(yīng)用的功能。MVC是一種將代碼的核心功能組織成它們自己的、組織整齊的模型方法。你在思考你的應(yīng)用程序,重新訪問(wèn)你的應(yīng)用程序,或與他人分享你的應(yīng)用程序時(shí)更容易和干凈。模型:模型代碼是你需要的代碼封裝。視圖:視圖代碼是由所有直接與用戶交互的功能。這就是使你的應(yīng)用看起來(lái)很漂亮的代碼,來(lái)定義你的用戶看到和與它交互。控制器:控制器代碼充當(dāng)模型和視圖之間的聯(lián)絡(luò)人,接收用戶輸入并決定如何處理它。它是應(yīng)用程序的大腦,將模型和視圖聯(lián)系在一起。這有點(diǎn)像做飯,你有一個(gè)裝滿食物的冰箱,就像Model一樣。冰箱(Model)里有我們準(zhǔn)備做晚餐的原材料。你可能也有一兩個(gè)食譜。食譜規(guī)定了你要在冰箱里取出哪些食物,如何將它們組合在一起,以及你需要烹飪多長(zhǎng)時(shí)間。然后,你有餐具,銀器等,這是你的饑餓的朋友和家人用來(lái)吃晚餐。桌面項(xiàng)類似于視圖。它們?cè)试S您的用戶與您的模型和控制器的創(chuàng)建進(jìn)行交互。在微信小程序整個(gè)程序中,pages目錄里每一個(gè)目錄文件夾都是小程序的一個(gè)頁(yè)面,每一個(gè)頁(yè)面由js、json、wxml、wxss四部分組成;image目錄,存放頁(yè)面上用到的圖片;app.js負(fù)責(zé)整體邏輯交互;app.json是全局配置;app.wxss是整體樣式。除了對(duì)目錄的把控,還需要了解微信小程序的生命周期:微信小程序生命周期onLoad生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載onReady生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面初次渲染完成onShow生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面顯示onHide生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面隱藏onUnload生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面卸載同時(shí)在微信小程序的開(kāi)發(fā)中必須了解API接口與組件的思想。應(yīng)用程序編程接口(api)使應(yīng)用程序能夠輕松安全地交換數(shù)據(jù)和功能,從而簡(jiǎn)化了軟件開(kāi)發(fā)和創(chuàng)新。應(yīng)用程序編程接口使公司能夠向外部第三方開(kāi)發(fā)人員、業(yè)務(wù)合作伙伴和公司內(nèi)部部門開(kāi)放其應(yīng)用程序的數(shù)據(jù)和功能。這允許服務(wù)和產(chǎn)品通過(guò)文檔化的接口相互通信,并利用彼此的數(shù)據(jù)和功能。開(kāi)發(fā)人員不需要知道API是如何實(shí)現(xiàn)的;他們只是使用接口與其他產(chǎn)品和服務(wù)進(jìn)行通信。在本次的設(shè)計(jì)中,所用到的微信生態(tài)提供的API就有:微信小程序APIwx.switchTab跳轉(zhuǎn)到tabBar頁(yè)面,并關(guān)閉其他所有非tabBar頁(yè)面wx.navigateTo保留當(dāng)前頁(yè)面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面wx.navigateBack關(guān)閉當(dāng)前頁(yè)面,返回上一頁(yè)面或多級(jí)頁(yè)面wx.showModal顯示模態(tài)對(duì)話框wx.setNavigationBarTitle動(dòng)態(tài)設(shè)置當(dāng)前頁(yè)面的標(biāo)題wx.setStorageSync將數(shù)據(jù)存儲(chǔ)在本地緩存中指定的key中wx.setNavigationBarColor設(shè)置頁(yè)面導(dǎo)航條顏色組件,在編程和工程學(xué)科中,組件是更大的程序或結(jié)構(gòu)的可識(shí)別部分。通常,組件提供一個(gè)特定的函數(shù)或一組相關(guān)的函數(shù)。在程序設(shè)計(jì)中,系統(tǒng)被劃分為多個(gè)組件,這些組件經(jīng)常由多個(gè)模塊組成。在面向?qū)ο缶幊毯头植际綄?duì)象技術(shù)中會(huì)有很多組件,組件是一種可重用的程序構(gòu)件,它可以與分布式網(wǎng)絡(luò)中同一計(jì)算機(jī)或其他計(jì)算機(jī)中的其他組件組合在一起形成應(yīng)用程序。組件的例子包括:圖形用戶界面中的單個(gè)按鈕、小型計(jì)算器、數(shù)據(jù)庫(kù)管理器的界面。在有很多重復(fù)UI的時(shí)候,我們都可以封裝組件進(jìn)行復(fù)用。Egg.jsEgg.js是由Node.js和Koa.js發(fā)展而來(lái)的,Node.js的官方API支持的異步編程模型都是回調(diào)形式,因此帶來(lái)很多回調(diào)地獄的問(wèn)題。說(shuō)到回調(diào)地獄,是因?yàn)橥絁avascript中,當(dāng)我們運(yùn)行代碼時(shí),瀏覽器會(huì)立即返回結(jié)果。一次只能發(fā)生一個(gè)操作,因?yàn)樗菃尉€程的。因此,在執(zhí)行操作時(shí),所有其他進(jìn)程都被擱置。因?yàn)橐恍┖瘮?shù)的響應(yīng)不是立即的。這需要一些時(shí)間,下次操作不能立即開(kāi)始。它必須等待函數(shù)在后臺(tái)完成。由于完成這些操作需要時(shí)間,在完成回調(diào)函數(shù)之前不能繼續(xù)到下一行,因?yàn)樗赡軙?huì)拋出一個(gè)表示不可用的錯(cuò)誤,但是也不能立即暫停程序。在回調(diào)函數(shù)嵌套回調(diào)函數(shù)這種方式下,代碼結(jié)構(gòu)看起來(lái)像一個(gè)金字塔,使其難以閱讀和維護(hù)。此外,如果一個(gè)函數(shù)中存在錯(cuò)誤,那么所有其他函數(shù)都會(huì)受到影響。Koa.js應(yīng)運(yùn)而生,Koa.js的官方網(wǎng)站提到Koa.js是一個(gè)更小,更有表現(xiàn)力,更健壯的web應(yīng)用程序和api的基礎(chǔ)。Koa消除了回調(diào),增加了洋蔥模型的使用方式,如圖1.7,在洋蔥模型中,每一層相當(dāng)于一個(gè)中間件,用來(lái)處理特定的功能,比如錯(cuò)誤處理、Session處理等等。其處理方式先是Request,從外層到內(nèi)層,然后執(zhí)行下一步函數(shù),之后是執(zhí)行函數(shù)后的Response,從內(nèi)層到外層,也就是說(shuō)每一個(gè)中間件都有兩次處理時(shí)機(jī)。并且該框架內(nèi)置的錯(cuò)誤包羅萬(wàn)象可幫助開(kāi)發(fā)人員避免網(wǎng)站崩潰。即使不編寫(xiě)額外的代碼,程序員也可以使用簡(jiǎn)單的“try/catch”命令報(bào)告錯(cuò)誤。開(kāi)發(fā)者也可以通過(guò)簡(jiǎn)單地修改默認(rèn)設(shè)置在Koa.js中配置錯(cuò)誤處理。它基于ES6規(guī)范構(gòu)建。通過(guò)擁有許多新的類和模塊,ES6可以更輕松地構(gòu)建任何復(fù)雜的程序。Koa.js還幫助開(kāi)發(fā)者使用Context來(lái)封裝普通的響應(yīng)和請(qǐng)求對(duì)象到一個(gè)單獨(dú)的對(duì)象中。這個(gè)統(tǒng)一的對(duì)象通過(guò)包含大量有用的方法和評(píng)估器,這樣開(kāi)發(fā)人員會(huì)更容易創(chuàng)建web的應(yīng)用程序和api。圖1.7koa.js洋蔥模型而Egg.js是為構(gòu)建企業(yè)應(yīng)用和框架而誕生的,目的是在追求明確規(guī)范和合作的過(guò)程中求同存異,專注于為Web開(kāi)發(fā)提供核心特性,提供靈活的、可擴(kuò)展的插件機(jī)制,而不是常見(jiàn)Web框架中流行的市場(chǎng)模式(集成了數(shù)據(jù)庫(kù)、模板引擎、前端框架等功能)。不會(huì)進(jìn)行技術(shù)選擇,因?yàn)槟J(rèn)的技術(shù)選擇使得框架的可伸縮性太差,無(wú)法滿足各種定制需求。在Egg.js的幫助下使用者可以很容易地基于現(xiàn)有的技術(shù)堆棧構(gòu)建適合他們業(yè)務(wù)場(chǎng)景的框架。Egg的插件機(jī)制是非??蓴U(kuò)展的,聚合插件并根據(jù)它們自己的業(yè)務(wù)場(chǎng)景定制配置,極大地降低了開(kāi)發(fā)成本。當(dāng)然它本身只集成插件的可能性,而不是提供插件。容器化技術(shù)和dockerDocker是Moby項(xiàng)目的一個(gè)子集,是一個(gè)用于在服務(wù)器和云上構(gòu)建、運(yùn)行和管理容器的軟件框架。術(shù)語(yǔ)“docker”可以指工具(命令和守護(hù)進(jìn)程),也可以指Dockerfile文件格式。過(guò)去,當(dāng)你想要運(yùn)行一個(gè)web應(yīng)用程序,您買了一個(gè)服務(wù)器,Linux安裝,設(shè)置堆棧,運(yùn)行應(yīng)用程序。然而,時(shí)代已經(jīng)變了,互聯(lián)網(wǎng)不再專注于單個(gè)服務(wù)器,而是建立在一個(gè)通常被稱為“云”的系統(tǒng)中相互依賴、冗余的服務(wù)器陣列之上。Docker引擎對(duì)于需要輕量級(jí)、干凈的測(cè)試環(huán)境,但不需要復(fù)雜編配的獨(dú)立開(kāi)發(fā)人員來(lái)說(shuō)非常有用,服務(wù)器的概念可以從硬件的限制中解脫出來(lái),而從本質(zhì)上成為一個(gè)軟件。這些基于軟件的服務(wù)器稱為容器,它們是它們所運(yùn)行的Linux操作系統(tǒng)加上超本地化運(yùn)行時(shí)環(huán)境(容器的內(nèi)容)的混合。MongodbWeb端相關(guān)技術(shù)Next.js優(yōu)點(diǎn)系統(tǒng)實(shí)現(xiàn)登錄注冊(cè)模塊實(shí)現(xiàn)圖4.1登錄注冊(cè)界面登錄成功首頁(yè)實(shí)現(xiàn)圖4.2添加計(jì)劃界面知識(shí)庫(kù)模塊實(shí)現(xiàn)圖4.3知識(shí)庫(kù)界面文字編輯器實(shí)現(xiàn)圖4.4文章編輯界面及最近文檔界面復(fù)習(xí)模塊的實(shí)現(xiàn)圖4.4復(fù)習(xí)界面系統(tǒng)測(cè)試測(cè)試分析測(cè)試分為系統(tǒng)測(cè)試合集成測(cè)試,系統(tǒng)測(cè)試是一個(gè)測(cè)試級(jí)別,在這個(gè)級(jí)別中執(zhí)行測(cè)試,以了解一個(gè)完整的構(gòu)建是否符合為其制定的功能性和非功能性需求。相反,集成測(cè)試是同時(shí)連接和測(cè)試兩個(gè)或多個(gè)軟件單元的測(cè)試階段。系統(tǒng)測(cè)試檢查每個(gè)軟件單元,以確保它們作為一個(gè)整體或組合構(gòu)建的熟練程度。通常在單元測(cè)試和集成測(cè)試之后進(jìn)行系統(tǒng)測(cè)試。測(cè)試方案在本次的設(shè)計(jì)中先是使用單元測(cè)試再進(jìn)行系統(tǒng)測(cè)試,在本地開(kāi)發(fā)時(shí),每完成一個(gè)功能,先不連接數(shù)據(jù)庫(kù),就在微信開(kāi)發(fā)者工具中進(jìn)行單元測(cè)試。在系統(tǒng)整體開(kāi)發(fā)完畢后,在本地把egg.js運(yùn)行起來(lái),鏈接到華為云上的mongodb進(jìn)行整體流程的測(cè)試,注冊(cè)登錄的功能是否完善,登陸后是否跳轉(zhuǎn)到首頁(yè),首頁(yè)顯示的時(shí)候功能是否齊全,在添加完文章之后是否顯示正確,進(jìn)行修改時(shí)是否會(huì)有錯(cuò)誤,在復(fù)習(xí)系統(tǒng)中答案與題目是否匹配等等測(cè)試結(jié)果在本次個(gè)人知識(shí)庫(kù)小程序中的測(cè)試比較順利,成功完成了登錄注冊(cè)的功能,計(jì)劃的添加更改功能,知識(shí)庫(kù)的構(gòu)建與文章填寫(xiě)修改功能,復(fù)習(xí)題的增加查看功能,每個(gè)模塊的功能都達(dá)到了基本的預(yù)期,這次的測(cè)試也比較順利??偨Y(jié)在這次的設(shè)計(jì)中,我借鑒的是語(yǔ)雀的功能模塊,最初的設(shè)計(jì)也是因?yàn)槲医?jīng)常在語(yǔ)雀上做筆記然后有這樣的靈感,在長(zhǎng)達(dá)幾個(gè)月的實(shí)踐中,從有一些懵懂到做出這些功能,中間也花費(fèi)了大量的學(xué)習(xí)時(shí)間與成本,很多問(wèn)題都需要去自己研究解決,在stackoverflow,github,掘金網(wǎng)站上有很多優(yōu)質(zhì)的答案,也讓我逐漸成長(zhǎng)了起來(lái)。在開(kāi)發(fā)的期間需要不斷的思考,也讓對(duì)整體的流程架構(gòu)有一定的理解,從而鍛煉自己得到了提升。在這次的設(shè)計(jì)中我接觸到微信小程序領(lǐng)域和Egg.js領(lǐng)域,一個(gè)軟件數(shù)據(jù)的交互從無(wú)到有我終于有了具體的認(rèn)知,對(duì)于mogodb的命令使用和在華為云上部署linux我也是第一次接觸,讓我對(duì)運(yùn)維也有了一定的認(rèn)識(shí)。雖然目前只是一名大四學(xué)生,在做這個(gè)項(xiàng)目的時(shí)候還有一定挑戰(zhàn),但是經(jīng)過(guò)自我的查詢問(wèn)題能力解決了開(kāi)發(fā)中的問(wèn)題,完成了這個(gè)項(xiàng)目,也是心里感覺(jué)舒服,挑戰(zhàn)了自我還達(dá)成了目的。但是我的腳步不會(huì)止步于此,我會(huì)繼續(xù)向前,繼續(xù)完善我的技術(shù),努力提高自己讓自己變得優(yōu)秀起來(lái)。參考文獻(xiàn)[1].葉俊.符合人全面發(fā)展的知識(shí)結(jié)構(gòu)的塑造[J].哲學(xué)進(jìn)展,2020,9(4):175-179.[2].袁芳,許文.基于微信小

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論