周明月,鹿玲,呂婉婷,盛茹茗,田樹煒,陶伊豪
(遼寧科技大學計算機與軟件工程學院,遼寧 鞍山 114051)
在大學校園里,學生所學的專業各有不同,相同專業相同年級的學生會有許多不同的班級,在同一時間段時,有的學生有課有的學生可能沒有課。需要有一種聯系媒介將認識的、不認識的、想要認識的以及僅僅想要有償求助需要代領快遞的學生們聯系到一起。在當今這個信息時代,每位大學生都有各自的微信號,微信號的身份識別也都是唯一的,這就為開發這種讓學生之間廣為聯系的大學生互助微信小程序奠定了基礎。
服務端的開發框架可以采用SSM 框架、Spring Boot框架或者ASP.Net框架等框架均可[1],這個小程序系統采用的是SSM 框架。用于服務端開發的流行平臺也有多種,例如Eclipes、MyEclipse 和InteliJ IDEA等,該系統采用的工具是InteliJ IDEA。SSM 框架是指Spring、SpringMVC 和MyBatis 三個開源框架[2-4]。MySQL 數據庫是一種關系型數據庫,適用于中小型Web網站開發,完全滿足小程序的后端數據庫要求[5]。訪問操作數據庫的訪問接口可以通過騰訊提供的API即wx.request(object)來實現,這需要在服務端創建能返回JSON格式數據的各種訪問接口。
大學生互助微信小程序的功能分幾個部分,如發布尋物啟事、查詢失物招領、二手物品交易、拼車出行、結識同學、互助信息發布以及快遞信息發布與接單等功能。
微信小程序是基于微信的可以使用微信提供的各種原生功能接口,如讀取手機當前位置等一些功能接口。微信小程序的開發是前后端分離的,好處是一個后端可以對應多個前端,前后端之間的交互是通過JSON格式數據完成的。必備開發工具是微信開發者工具,微信開發者工具的使用需要先進入微信公眾平臺進行注冊申請小程序賬號,可以注冊的主體類型包括個人、企業、政府、媒體以及其他組織。
小程序前端開發框架采用的是MINA(Miniapp Is Not App)框架[5],微信的MINA框架將頁面和邏輯這兩部分組合成了一個響應式的數據綁定系統,當數據有變化時頁面會自動隨之變化,其內部實現細節是由MINA框架負責的。小程序前端開發框架分為視圖層(View)和邏輯層(App Service)兩部分,每一個小程序頁面都是由存在于pages目錄下面的一個文件夾里的四個文件構成[6],該文件夾里面的這四個文件的主文件名相同但擴展名不同。第一個文件是擴展名為.wxml 后綴的WXML(WeiXin Markup Language)模板文件,模板文件內容主要是標簽,也就是框架設計的一套標簽語言構成的標簽,.wxml 文件結合基礎組件和事件系統就可以構建出頁面結構[7]。第二個文件是.wxss 后綴的WXSS(WeiXin Style Sheet)樣式文件.wxss 樣式文件用于描述頁面的樣式,樣式文件的特性與CSS 大部分特性相同,只是WXSS 對CSS 進行了擴充以及部分修改。上述兩種類型文件WXXML和WXSS構成了視圖層。第三個文件是以.js 為后綴的JS 腳本邏輯文件,即Java Script 文件,這個文件是屬于邏輯層的文件,實現的是邏輯控制功能。第四個文件是以.json 為后綴的JSON 格式的配置文件[8]。在微信小程序里面不能直接訪問外部鏈接,但是騰訊為開發者封裝好了一個名為wx.request(object)的API,微信小程序通過wx.request(object)API 來訪問接口文件,再由該接口文件來訪問數據庫以獲取數據。小程序的一個模塊實現的是拼車出行功能,該模塊用到了地理位置,通過調用騰訊地圖WebService API 提供的一系列服務接口可以實現,使用getApiKey、coord2label、ipLocation 等方法實現騰訊地圖服務接入,調用wx.getLocation API接口獲取當前的地理位置[9-10]。
微信開發者工具提供了對云開發的支持,可使用云數據庫、云存儲、云函數和云托管等全部云能力。具體的數據庫可以使用微信開發者工具提供的微信宿主的云資源MongoDB非關系數據庫,也可以直接借助云函數來訪問互聯網上部署的其他各種數據庫資源。數據庫、服務端以及小程序要訪問的訪問接口都可以部署在任何通過互聯網能夠訪問到的服務器上。
本系統采用的開發工具是InteliJ IDEA,系統開發使用的框架是SSM框架,管理端Web系統和數據庫都是部署在阿里云服務器ECS 上。開發者可以自己搭建服務端之外,像阿里、百度、騰訊、華為等公司都可以提供相應的后端云服務。微信小程序的系統架構圖如圖1所示。

圖1 微信小程序的系統架構圖
大學生互助平臺微信小程序是純粹的大學生之間的一個互動與溝通的平臺,是大學生之間的無任何約束、自愿使用及自愿傳播的一款微信小程序。該微信小程序平臺能幫助在校大學生更好地解決一些生活與學習中遇到的困難,能夠提高學生的生活學習質量,能夠促進學生間的交流與合作,有助于提升學生的相互幫助意識。
這款小程序主要應該實現的功能有幾個方面。通過小程序,學生之間無論認識與否,都可以有償代取快遞;相互間出售或者購買學過的二手書籍、筆記、其他學習資料和其他物品等,學生之間能夠通過小程序實現信息交流與共享,實現相互間的相關學術咨詢等。學生可以通過小程序下單想要的商品,由賣方學生把想要出售的二手商品放到指定的固定位置,在每個固定位置都約定了一些交易物品暫存的課余時間段,并在該時間段內設置由學生擔任的管理員負責管理,該管理員的薪水由平臺收益獲得的利潤中支出。取物品時需要向管理員出示單號才可以領取物品。
基于微信小程序的大學生互助平臺分為服務器端和客戶端兩部分。服務器端實現的功能包括網站的后臺管理以及小程序的數據提供接口等;客戶端實現的功能主要是用戶通過手機端自由登錄客戶端平臺進行小程序提供的各種功能的使用。
服務器端也就是管理端,實現的管理員管理功能包括十一項。個人中心模塊:該模塊的功能是使得管理員可以修改自己的登錄密碼,修改自己的基本信息。用戶管理模塊:通過用戶管理模塊,管理員可以對其他用戶信息進行增加、刪除、修改和查詢等相應的管理操作。尋物啟事管理模塊:管理員可以對尋物啟事信息進行管理,可以查看評論。物品分類管理模塊:管理員可以對物品分類信息進行管理。失物招領管理模塊:管理員可以對失物招領信息進行管理,可以查看評論。結識同學管理模塊:管理員可以對全部的結識同學信息進行管理,可以查看評論。互助信息發布與接單管理模塊:管理員可以對全部互助信息與接單信息進行管理,可以查看評論。二手交易管理模塊:管理員可以對全部的二手交易信息進行管理,可以查看評論。交易類型管理模塊:管理員可以對交易類型信息進行管理。拼車出行管理模塊:管理員可以對全部的拼車出行信息進行管理,可以查看評論。系統管理模塊:管理員可以回復信息,可以對輪播圖信息進行查看或修改。
客戶端也就是用戶可操作端,客戶端模塊主要功能包括九項。用戶注冊登錄:該模塊實現用戶的注冊和登錄功能。尋物啟事:該模塊實現了尋物信息的列表顯示功能,在該模塊中,可以添加尋物信息,可以查看尋物信息詳情,可以對某條尋物信息進行收藏或評論。失物招領:該模塊實現失物招領的列表顯示,點擊某一條可以查看失物招領詳情,可以收藏或評論。結識同學:該模塊實現結識同學的列表顯示功能,在該模塊里,可以添加想要結識的新同學的相關信息,可以查看全部結識同學詳情,可以收藏、點贊或評論。互助信息發布與接單:該模塊實現互助信息發布與接單的列表顯示功能,可以查看互助信息發布與接單的詳情,可以發表評論,可以下載文件。二手交易:該模塊實現二手交易的列表顯示,點擊某一條可以查看二手交易詳情,可以發表評論,可以下載文件。拼車出行:該模塊實現拼車出行的列表顯示功能,在該模塊中,用戶可以查看拼車出行詳情,可以發表評論。吐槽模塊:該模塊實現了吐槽功能,用戶可以發表自己的意見,對一些欠文明、欠優雅以及一些不吐不快的事情進行文字描述,暢所欲言。我的信息管理模塊:用戶登錄后可以進入個人后臺,在個人后臺可以修改自己的信息,可以對尋物信息進行收藏或評論,可以對招領信息進行收藏或評論,可以對結識同學信息進行收藏、點贊或評論,可以對互助信息發布與接單信息進行評論并且可以下載文件,對二手交易信息進行評論并且可以下載文件,可以對拼車出行信息進行評論,可以查看或刪除自己的收藏,可以發送信息。通過需求分析,確定系統功能如圖2所示。

圖2 系統功能結構圖
數據庫使用MySQL。系統使用Navicat 作為數據庫的管理軟件。在數據庫中設計了多張數據表,其中的主要數據表包括如下幾張:結識同學、輪播圖、二手交易、失物招領、互助信息發布、接單、物品分類、尋物啟事、用戶、拼車出行等。以拼車出行為例,它的主要字段有主鍵id、添加時間、主題、空位置數、出發時間、出發地點、人均價格、發起人、聯系方式、發布時間、備注、圖片、點擊時間、用戶id、經度、緯度和地址全稱。它的數據表結構如表1所示。由于字段較多,在表中只列出了部分字段。

表1 拼車出行數據表
訪問數據庫是通過一個持久層框架MyBatis來完成的,MyBatis 對jdbc 操作數據庫的技術進行了封裝,使操作數據庫變得更加簡單。服務管理端包含了個人中心、用戶管理、尋物啟事管理、物品分類管理、失物招領管理、結識同學管理、互助信息發布與接單管理、二手交易管理、交易類型管理、拼車出行管理以及系統管理等功能。
前臺的用戶端的功能模塊有登錄模塊、尋物啟事模塊、二手交易模塊、結識同學模塊以及用戶自己的信息管理模塊等。以二手交易模塊為例,在該模塊中,實現了二手交易的列表顯示功能,點擊某條則可以查看該二手交易詳情,可以針對該物品發表評論。手機端的物品分類、查詢以及服務端管理操作界面如圖3所示。

圖3 手機端的物品分類、查詢以及服務端的管理操作
該款大學生互助平臺小程序對于在校大學生具有一定的實際意義,可以幫助沒有時間取快遞的同學在當天取到快遞,可以幫助想要結識的同學們相互認識,可以賣出自己的不再使用的物品,也可以買到本校學生的二手書籍等東西。還有許多其他功能也都是在校大學生們在生活與學習過程中涉及的一些功能,符合大學生們之間有償或者無償幫助的倡議,是一款純粹的大學生們自己的小程序。