亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于微信小程序的學(xué)業(yè)互助平臺(tái)研究與實(shí)現(xiàn)*

        2023-11-07 06:04:04劉明華王樂樂武思涵
        微處理機(jī) 2023年5期
        關(guān)鍵詞:頁面程序數(shù)據(jù)庫

        劉明華,王樂樂,葛 恒,武思涵,李 涵

        (北京信息科技大學(xué)理學(xué)院,北京 100192)

        1 引 言

        隨著信息科技的迅猛發(fā)展和上網(wǎng)人群規(guī)模的日趨壯大[1],越來越多的軟、硬件工具被開發(fā)出來,為人們的學(xué)習(xí)和娛樂提供便利。在這當(dāng)中,移動(dòng)端應(yīng)用普及度高,但存在硬件資源要求高、占用存儲(chǔ)空間大等缺陷。針對(duì)此類缺陷,輕應(yīng)用(Light App)[2]產(chǎn)品在2013 年由百度公司首先提出,但在社會(huì)中并未獲得廣泛應(yīng)用。而于2017 年提出的微信小程序(WeChat Applet),卻受到人們的喜愛,迅速形成龐大的用戶人群,越來越多的微信用戶熟悉和適應(yīng)了這種無需下載就可使用、打開速度快、不過多占用存儲(chǔ)空間的微型程序[3-4]。對(duì)于開發(fā)者而言,微信小程序的前端代碼都存儲(chǔ)在騰訊云服務(wù)器上,其因響應(yīng)速度快、開發(fā)成本低等優(yōu)點(diǎn)也受到青睞。本研究嘗試設(shè)計(jì)實(shí)現(xiàn)一款基于微信小程序的學(xué)業(yè)互助平臺(tái),運(yùn)用MINA 框架、JSON 數(shù)據(jù)庫進(jìn)行開發(fā),以豐富便利的功能為廣大學(xué)生群體的學(xué)習(xí)和生活提供幫助。

        2 技術(shù)框架

        2.1 功能設(shè)計(jì)

        所設(shè)計(jì)的學(xué)業(yè)互助平臺(tái)分為四個(gè)模塊,分別為:個(gè)人中心模塊、論壇模塊、首頁模塊和搜索模塊,如圖1 所示。在個(gè)人中心模塊,有“注冊(cè)”和“我的標(biāo)簽”兩個(gè)功能。標(biāo)簽內(nèi)容包括學(xué)生個(gè)人專業(yè)信息及年級(jí)。在首頁模塊中,學(xué)生可以查看自己的專業(yè)介紹和培養(yǎng)計(jì)劃。小程序也會(huì)根據(jù)學(xué)生在個(gè)人中心選擇的標(biāo)簽,推薦學(xué)生可能感興趣的文章。在搜索模塊中,小程序會(huì)給出最近的搜索熱詞,并使用模糊搜索完成信息檢索工作。在論壇模塊,學(xué)生可以發(fā)布文章、上傳和下載圖片,文章會(huì)附帶發(fā)布者的標(biāo)簽信息。同時(shí)小程序還有“監(jiān)控審核”功能,后臺(tái)管理員會(huì)把論壇中不合適的帖子或圖片刪除。

        2.2 數(shù)據(jù)庫設(shè)計(jì)

        在開發(fā)過程中,小程序需要讀取構(gòu)建頁面所需要的圖片和文字信息,并在發(fā)布后存儲(chǔ)用戶信息和用戶發(fā)布的內(nèi)容。為此選用JSON(JavaScript Object Notation)[5]設(shè)計(jì)和創(chuàng)建數(shù)據(jù)庫表。JSON 數(shù)據(jù)庫是一種非關(guān)系型數(shù)據(jù)庫,用于存儲(chǔ)和查詢JSON 格式數(shù)據(jù)。在此一共為數(shù)據(jù)庫設(shè)計(jì)四張表,分別是User(用戶表)、Competition(競(jìng)賽信息表)、Essay(文章表)、Plan(培養(yǎng)計(jì)劃表),用來記錄數(shù)據(jù)。

        用戶表如表1 所示。它用來保存注冊(cè)用戶的基本信息和用戶勾選的標(biāo)簽信息。其中,Id 是記錄唯一標(biāo)識(shí),使用了String 類型,用于在表中編號(hào),由數(shù)據(jù)庫表自動(dòng)分配,且不可更改;_openid 是微信用戶識(shí)別的唯一標(biāo)識(shí),使用了String 類型,這個(gè)標(biāo)識(shí)只對(duì)當(dāng)前的小程序有效;Major、Nianji 是用戶在標(biāo)簽頁面選擇的專業(yè)、年級(jí),使用了String 類型,根據(jù)用戶選擇的不同按鈕進(jìn)行賦值;Name 是用戶昵稱,使用了String 類型,是用戶授權(quán)微信身份的名稱;Submit 是用戶發(fā)布的文章數(shù)組,使用了Array 類型,數(shù)組內(nèi)部是String 類型的文章Id。

        表1 User 表

        競(jìng)賽表如表2 所示。它用來存儲(chǔ)首頁頁面中的競(jìng)賽信息。其中,Id 是記錄唯一標(biāo)識(shí),使用了String類型,用于在表中編號(hào),由數(shù)據(jù)庫表自動(dòng)分配且不可更改;Title 是競(jìng)賽名稱,使用了String 類型,存放了記錄競(jìng)賽的簡(jiǎn)稱;Images 是圖片地址數(shù)組,使用了Array 類型,內(nèi)部包含String 類型的圖片存儲(chǔ)地址;Index 是競(jìng)賽索引,使用了Number 類型,用來在數(shù)據(jù)庫表中排序。

        表2 Competition 表

        培養(yǎng)計(jì)劃表如表3 所示。它用來存儲(chǔ)不同專業(yè)的培養(yǎng)計(jì)劃數(shù)據(jù)。其中,Id 是記錄唯一標(biāo)識(shí),使用了String 類型,用于在表中編號(hào),由數(shù)據(jù)庫表自動(dòng)分配,不可更改;Image 是培養(yǎng)計(jì)劃圖片地址,使用String類型,存放圖片在云存儲(chǔ)的存儲(chǔ)地址;Major 是專業(yè)標(biāo)識(shí),使用String 類型,存放了培養(yǎng)計(jì)劃圖所屬專業(yè)。

        表3 Plan 表

        文章表如表4 所示。它用來記錄論壇模塊中學(xué)生發(fā)布的文章數(shù)據(jù)。其中,Id 是記錄唯一標(biāo)識(shí),使用了String 類型,用于在表中編號(hào),由數(shù)據(jù)庫表自動(dòng)分配且不可更改;_openid 是微信用戶識(shí)別的唯一標(biāo)識(shí),使用了String 類型,作為唯一標(biāo)識(shí)用來檢索用戶表中的信息;Avatar 是作者頭像地址,使用String 類型,是微信為每一個(gè)微信用戶提供的頭像網(wǎng)絡(luò)地址;Body 是文章文字的主體,使用了String 類型,存放用戶在文章中編輯的文字內(nèi)容;Images 是文章圖片地址數(shù)組,使用了Array 類型,內(nèi)部是String 類型的云存儲(chǔ)中圖片地址;Major、Nianji 是作者的專業(yè)、年級(jí),使用了String 類型,是在用戶發(fā)布后復(fù)制的用戶表中發(fā)布者的信息;Time 是文章發(fā)布時(shí)間,使用了Date 類型,方便文章在展示過程中排序;Title 是文章標(biāo)題,使用String 類型,是搜索頁面模糊查詢的搜索源;Writer 是作者名稱,使用了String 類型,以便在論壇頁面直接顯示作者名稱;Comments 是用戶評(píng)論數(shù)組,使用了Array 類型,內(nèi)部是Object 類型的對(duì)象,包含String 類型的Name(評(píng)論者名稱)、String 類型的Avatar(評(píng)論者頭像地址)、String 類型的Image(評(píng)論圖片)、String 類型的Body(評(píng)論內(nèi)容)。

        表4 Essay 表

        2.3 MINA 框架

        本小程序采用了騰訊官方提供的微信開發(fā)者工具,以MINA(MINA IS NOT APP)為小程序開發(fā)框架,進(jìn)行簡(jiǎn)潔高效的開發(fā)。整個(gè)小程序系統(tǒng)可分為應(yīng)用層、視圖層(Viewer)、邏輯層(App Service)[6]和存儲(chǔ)層四層,如圖2 所示。

        圖2 MINA 層次架構(gòu)圖

        其中,存儲(chǔ)層是整個(gè)系統(tǒng)的云端環(huán)境。設(shè)計(jì)使用了騰訊云提供的JSON 數(shù)據(jù)庫和云存儲(chǔ)來存儲(chǔ)用戶信息數(shù)據(jù)和用戶上傳的圖片。

        邏輯層為整個(gè)系統(tǒng)提供服務(wù)。使用JavaScript[7]來編寫頁面的交互邏輯、網(wǎng)絡(luò)請(qǐng)求、數(shù)據(jù)處理;使用JSON[8]編寫頁面交互邏輯,實(shí)現(xiàn)處理數(shù)據(jù)和網(wǎng)絡(luò)請(qǐng)求,用來配置系統(tǒng)文件,同時(shí)與存儲(chǔ)層JSON 數(shù)據(jù)庫連接。

        視圖層是實(shí)現(xiàn)數(shù)據(jù)交換和數(shù)據(jù)顯示的試題頁面。用WXML(WeiXin Markup Language)[9]和WXSS(WeiXin Style Sheet)編寫,并由組件展示。WXML 用于搭建小程序頁面的基本結(jié)構(gòu),是一種類似HTML的文本標(biāo)記語言;WXSS 則與CSS 類似,用來渲染頁面的表現(xiàn)形式。MINA 框架為頁面組件提供了一些事件監(jiān)聽相關(guān)的屬性,通過事件處理函數(shù)可以將視圖層和邏輯層綁定在一起。當(dāng)更改邏輯層中的數(shù)據(jù)時(shí),視圖層也會(huì)隨之改變。

        應(yīng)用層是系統(tǒng)與用戶操作的核心部分。微信小程序可以在PC 端的微信軟件和移動(dòng)手機(jī)端的微信APP 上使用,本設(shè)計(jì)小程序同樣也可跨平臺(tái)使用。

        2.4 模糊搜索算法

        在搜索頁面中,采用模糊搜索[10]對(duì)學(xué)生輸入的詞語或語句進(jìn)行檢索。模糊搜索是用戶搜索意向不明確或者檢索詞較少時(shí)想要返回更多查詢結(jié)果的情況下使用的方法。模糊搜索的核心思想是將用戶輸入的字符串拆分成多個(gè)長(zhǎng)度較小的字符串,與待搜索的數(shù)組的每一項(xiàng)做匹配,把符合要求的數(shù)據(jù)保存下來。在本小程序中,模糊搜索的應(yīng)用場(chǎng)景是在數(shù)據(jù)庫表中尋找與檢索詞類似的結(jié)果。拆分檢索詞的過程需要用到正則表達(dá)式,如要查詢標(biāo)題與“數(shù)學(xué)”相關(guān)的文章時(shí),后臺(tái)代碼會(huì)將字符串“數(shù)學(xué)”分為“%數(shù)%學(xué)%”并完成查詢。

        設(shè)計(jì)使用db.RegExp 完成模糊搜索。它是官方提供的模糊查詢API,代碼情況具體如圖3 所示。首先通過查找語句訪問數(shù)據(jù)庫表'essay',確定查詢域是表中每條數(shù)據(jù)的title;然后使用db.RegExp 將用戶輸入內(nèi)容content 分詞,并且當(dāng)用戶輸入英文查詢查詢時(shí),內(nèi)容不區(qū)分大小寫;最后使用get 函數(shù)獲取查詢結(jié)果。

        圖3 模糊搜索代碼

        2.5 基于內(nèi)容的推薦算法

        首頁模塊中包含向?qū)W生推薦感興趣文章的功能。推薦功能的實(shí)現(xiàn)需要使用基于內(nèi)容的推薦算法(Content-Based Recommendations)[11-12],該算法是基于標(biāo)的物相關(guān)信息、用戶相關(guān)信息為用戶提供推薦服務(wù)的。具體來說,算法首先獲取用戶選擇的專業(yè)和年級(jí)標(biāo)簽,然后從文章庫中找出所有包含這些標(biāo)簽的文章。文章的標(biāo)簽可以是人工標(biāo)定的,也可以是從作者自己設(shè)置的標(biāo)簽中提取的。應(yīng)用推薦算法的一個(gè)實(shí)例如圖4 所示。本小程序可以為大一學(xué)生推薦新生入學(xué)指南,向大二學(xué)生推薦各自專業(yè)的競(jìng)賽經(jīng)驗(yàn),針對(duì)大三同學(xué)推薦考研經(jīng)驗(yàn),等等。

        圖4 推薦算法示例

        基于內(nèi)容推薦的實(shí)現(xiàn)代碼如圖5 所示。首先使用微信小程序API 接口獲取用戶基本信息,然后在User 表中查找與用戶昵稱相同的數(shù)據(jù)并用變量admin 存儲(chǔ);接下來查詢數(shù)據(jù)庫表Essay,尋找專業(yè)和年級(jí)標(biāo)簽與用戶相同的文章,并將這些文章按時(shí)間降序排序存入全局變量passages 中。

        圖5 實(shí)現(xiàn)基于內(nèi)容推薦的代碼

        3 系統(tǒng)實(shí)現(xiàn)

        3.1 系統(tǒng)搭建與調(diào)試

        小程序基于騰訊云服務(wù)器搭建,使用的云服務(wù)器配置為4 核CPU、8G 內(nèi)存、10M 帶寬,此外還包括1500 GB 月流量;系統(tǒng)盤選取100 GB SSD;10 M公網(wǎng)帶寬下載速度峰值為1280kB/s。所設(shè)計(jì)的小程序被應(yīng)用于北京信息科技大學(xué)理學(xué)院,為信息與計(jì)算科學(xué)、電子信息科學(xué)與技術(shù)、應(yīng)用統(tǒng)計(jì)學(xué)三個(gè)專業(yè)的學(xué)生提供服務(wù)。目前理學(xué)院在校本科生共579 人。小程序于2022 年8 月21 日發(fā)布試用版進(jìn)行內(nèi)測(cè),經(jīng)過10 天的建議采納,進(jìn)行了修改優(yōu)化,于8 月31日發(fā)布正式版。從正式發(fā)布到2023 年3 月1 日,在7 個(gè)月的時(shí)間內(nèi)累計(jì)訪問用戶593 人次。小程序用戶訪問曲線如圖6 所示。

        圖6 小程序用戶訪問統(tǒng)計(jì)曲線

        對(duì)于圖6 中的數(shù)據(jù)變化趨勢(shì)可作如下分析解釋:2022 年8 月到9 月期間小程序訪問用戶人數(shù)較高,這一時(shí)期適逢開學(xué),學(xué)生需要對(duì)新學(xué)期課程提前加以了解,并做出相應(yīng)學(xué)業(yè)規(guī)劃;2023 年1 月開始,該學(xué)期臨近結(jié)束,學(xué)生陸續(xù)進(jìn)入寒假狀態(tài),對(duì)課程信息的需求減少,因此用戶訪問量較少。

        3.2 實(shí)際使用方法

        小程序的首頁模塊的各個(gè)頁面如圖7 所示。進(jìn)入首頁后,可以看到學(xué)校海報(bào)的輪播圖、競(jìng)賽公告、培養(yǎng)計(jì)劃和文章推薦等,如圖7(a)所示;點(diǎn)擊培養(yǎng)計(jì)劃按鈕,小程序會(huì)根據(jù)學(xué)生的專業(yè)信息,展示相應(yīng)專業(yè)的學(xué)分修讀計(jì)劃,如圖7(b)所示;如果想更深入了解自己的專業(yè),可以選擇相應(yīng)的專業(yè)簡(jiǎn)稱,查看專業(yè)特色介紹和與各學(xué)期的課程安排,如圖7(c)所示;在競(jìng)賽公告一欄,會(huì)列出最近三個(gè)適合學(xué)生參加的學(xué)科競(jìng)賽,點(diǎn)擊則可查看詳情介紹,如圖7(d)所示。在首頁的最下面,通過基于內(nèi)容的推薦算法,會(huì)根據(jù)學(xué)生選擇信息進(jìn)行推薦。

        圖7 首頁模塊界面

        點(diǎn)擊放大鏡圖標(biāo)即可轉(zhuǎn)入搜索模塊。在搜索欄中輸入文字,可通過模糊查詢獲取檢索內(nèi)容,具體示例如圖8 所示。在頂部文本輸入框中輸入“數(shù)學(xué)”,點(diǎn)擊搜索按鈕就可以看到在數(shù)據(jù)庫中檢索到有關(guān)數(shù)學(xué)的內(nèi)容。搜索結(jié)果包括數(shù)學(xué)建模(信計(jì))期末考試、期末考試-數(shù)學(xué)分析1、期末考試-數(shù)學(xué)分析3 等。

        圖8 搜索模塊界面

        論壇模塊的各個(gè)頁面如圖9 所示。在圖9(a)中,頂端是發(fā)布文章按鈕,點(diǎn)擊即可進(jìn)入發(fā)布界面,如圖9(b);發(fā)布按鈕下面,按時(shí)間倒序展示發(fā)布的文章,展示內(nèi)容包括文章標(biāo)題、作者、時(shí)間,以便學(xué)生快速定位自己感興趣的文章,點(diǎn)擊標(biāo)題即進(jìn)入文章詳情頁面,頁面如圖9(c)所示,點(diǎn)擊圖片可以放大查看也可以下載,如圖9(d)所示。在發(fā)布界面,學(xué)生可以編輯標(biāo)題、正文和上傳圖片,圖片的數(shù)量最多不超過9 張。在閱讀文章的最后提供評(píng)論功能,輸入文字上傳圖片點(diǎn)擊發(fā)表即可完成評(píng)論。與文章展示順序相反,評(píng)論信息將按時(shí)間正序排列。

        圖9 論壇模塊界面

        個(gè)人中心模塊的各個(gè)頁面如圖10 所示。學(xué)生可以自由選擇是否登錄來實(shí)現(xiàn)對(duì)自己的隱私保護(hù)。登錄后,小程序會(huì)獲取學(xué)生的微信頭像和昵稱,在個(gè)人中心頁面顯示。在頭像和昵稱下方,提供了方便學(xué)生尋找自己發(fā)布內(nèi)容的“我的發(fā)布”,以及為首頁推薦和文章標(biāo)簽提供信息的“我的標(biāo)簽”。標(biāo)簽在專業(yè)一欄可以選擇“信計(jì)”、“電技”和“統(tǒng)計(jì)”等不同專業(yè)。年級(jí)一欄可選擇“大一”、“大二”、“大三”和“大四”。除此之外,還可在“關(guān)于程序”當(dāng)中查看小程序介紹和小程序開發(fā)者信息,為學(xué)生定制化信息和提出修改建議也提供了便利。

        圖10 個(gè)人中心模塊界面

        4 結(jié) 束 語

        本小程序的開發(fā)工作,從功能需求選擇、數(shù)據(jù)庫環(huán)境搭建、小程序頁面實(shí)際開發(fā),到小程序上線和發(fā)布、后臺(tái)監(jiān)管和檢測(cè),都是在對(duì)現(xiàn)有微信小程序開發(fā)經(jīng)驗(yàn)進(jìn)行梳理和運(yùn)用的基礎(chǔ)上,與大學(xué)生的學(xué)習(xí)生活需要相結(jié)合而完成的。在互助平臺(tái)的構(gòu)建中,融入了模糊搜索算法和基于內(nèi)容的推薦算法,對(duì)小程序的搜索功能及個(gè)性化推薦功能實(shí)現(xiàn)優(yōu)化和改善。設(shè)計(jì)實(shí)現(xiàn)的互助平臺(tái),不僅能幫助大學(xué)生全面認(rèn)識(shí)各專業(yè),更可輔助學(xué)生做出合理學(xué)業(yè)規(guī)劃,讓學(xué)生在課堂之外體驗(yàn)合作學(xué)習(xí)的樂趣。目前小程序也存在一些不足,比如隨著時(shí)間的推移,學(xué)生發(fā)布在小程序上面的內(nèi)容會(huì)越來越多,屆時(shí)騰訊云開發(fā)所使用的數(shù)據(jù)庫和存儲(chǔ)容量都將需要擴(kuò)增,購買云服務(wù)器和數(shù)據(jù)庫來增大存儲(chǔ)和網(wǎng)絡(luò)帶寬,將作為一個(gè)讓小程序運(yùn)行更流暢的不可避免的選擇。后續(xù)研究將繼續(xù)跟進(jìn),進(jìn)一步修改、優(yōu)化代碼,提供更好的服務(wù)。

        猜你喜歡
        頁面程序數(shù)據(jù)庫
        大狗熊在睡覺
        刷新生活的頁面
        試論我國未決羈押程序的立法完善
        “程序猿”的生活什么樣
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        人妻丰满熟妇AV无码区HD| 国产自拍视频免费在线| 国产三级c片在线观看| 亚洲av专区国产一区| 亚洲日韩精品一区二区三区无码| 少妇人妻综合久久中文字幕| 97精品人妻一区二区三区香蕉| 又爆又大又粗又硬又黄的a片| 国产第一草草影院| 亚洲色拍拍噜噜噜最新网站| 视频一区二区三区中文字幕狠狠| 人妻色中文字幕免费视频| 精品国产一区二区三广区| 美女草逼视频免费播放| 伊人青青草综合在线视频免费播放| 亚洲国产色婷婷久久精品| 又粗又黄又猛又爽大片app| 377p日本欧洲亚洲大胆张筱雨| 亚洲欧美激情在线一区| 亚洲国产成人久久一区www妖精| 亚洲国产成人aⅴ毛片大全| 国产av精选一区二区| 久久一区二区国产精品| 一区二区三区国产精品乱码| 亚洲国产精品成人精品无码区在线| 免费人成年激情视频在线观看| 国产婷婷色综合av蜜臀av| 久久中文精品无码中文字幕 | 国产在线视频一区二区天美蜜桃| 超碰97资源站| 亚洲av无码av日韩av网站| 日韩欧美在线播放视频| av免费在线观看在线观看| 在线看亚洲一区二区三区| 亚洲av免费不卡在线观看| 国产成人91久久麻豆视频| 亚洲精品无码av人在线播放| 婷婷四房播播| 亚洲韩国在线| 亚洲国产不卡免费视频| 人妻一区二区三区在线看|