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

        ?

        基于微信小程序的學業(yè)互助平臺研究與實現(xiàn)*

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

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

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

        1 引 言

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

        2 技術框架

        2.1 功能設計

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

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

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

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

        表1 User 表

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

        表2 Competition 表

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

        表3 Plan 表

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

        表4 Essay 表

        2.3 MINA 框架

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

        圖2 MINA 層次架構圖

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

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

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

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

        2.4 模糊搜索算法

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

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

        圖3 模糊搜索代碼

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

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

        圖4 推薦算法示例

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

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

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

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

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

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

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

        3.2 實際使用方法

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

        圖7 首頁模塊界面

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

        圖8 搜索模塊界面

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

        圖9 論壇模塊界面

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

        圖10 個人中心模塊界面

        4 結 束 語

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

        猜你喜歡
        頁面程序數(shù)據(jù)庫
        大狗熊在睡覺
        刷新生活的頁面
        試論我國未決羈押程序的立法完善
        人大建設(2019年12期)2019-05-21 02:55:44
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        創(chuàng)衛(wèi)暗訪程序有待改進
        久久天堂av色综合| 高潮抽搐潮喷毛片在线播放| 亚洲国产精品无码专区影院| 伊伊人成亚洲综合人网7777 | 青青草好吊色在线观看| 久久久久久av无码免费网站下载| 伊人久久大香线蕉综合网站| 亚洲三级黄色| 扒下语文老师的丝袜美腿| 久久精品女同亚洲女同| 潮喷大喷水系列无码久久精品| 色窝窝免费播放视频在线| 久久精品国产72国产精福利| 久久国产精品国语对白| 狠狠色丁香婷婷久久综合| 女同性黄网aaaaa片| 男人天堂av在线成人av| 亚洲人妻御姐中文字幕| 无码国产精品一区二区免费式芒果| 人人狠狠综合久久亚洲| 国产成人亚洲合集青青草原精品| 午夜桃色视频在线观看| 少妇被又大又粗又爽毛片| 亚洲美国产亚洲av| 激情综合网缴情五月天| 亚洲一区二区三区国产| 国产成人久久精品一区二区三区| 日本一本久道| 亚洲不卡毛片在线观看| 五月色丁香婷婷网蜜臀av| 亚洲精品久久国产高清情趣图文| 啊v在线视频| 麻婆视频在线免费观看| 欧美午夜刺激影院| 亚洲AV成人片色在线观看高潮| 亚洲天堂av中文字幕| 99久久无色码中文字幕人妻蜜柚 | 国产免费av手机在线观看片| 欧美大肥婆大肥bbbbb| 亚洲av日韩片在线观看| 免费人成黄页网站在线一区二区|