王 麗,羅平娟,龍和妹,姚敦黔,邱蘇洋
(1.興義民族師范學院,畢節(jié) 552100;2.興義民族師范學院,興義 562400;3.興義民族師范學院,凱里 556000)
微信之父張小龍曾公開表態(tài):“小程序未來能取代百分之八十的APP”,小程序是一種不需要安裝即可使用的應用,用戶掃一掃或搜一下就可以打開應用。隨著2017年微信小程序的興起,各種各樣的小程序應運而生,小程序開發(fā)者大多認為小程序簡單、易開發(fā)、bug少、流暢度高,而且開發(fā)成本比APP低。當然,把大學生的生活與小程序相結合也是人們關注的熱點之一。“校之助”就是將二者相結合的產物,它為在校學生建立了一個二手交易以及信息發(fā)布平臺。
在大數(shù)據(jù)時代的今天,我們深切地感受到手機內存不夠用,各種軟件應用鋪天蓋地,內存即將暴走。在此情況下,小程序的優(yōu)勢漸漸凸顯。“小程序”,顧名思義,小、占用運行內存小、使用快捷?!靶V逼脚_從二手交易平臺、電腦知識科普、兼職信息三個方面入手,打造一個令大學生稱心的小程序。校之助小程序可以幫助同學們提高找兼職、了解電腦、掌握生活技巧和處理二手物品的效率,并且提供的平臺簡潔、使用方便,不需要下載浪費時間,也不需要占用手機運行內存。
要開發(fā)這樣一個小程序需要一個過程,其簡單開發(fā)流程如下:
(1)通過分發(fā)問卷,公開提問調查,對需要開發(fā)的功能進行商討,例如有多少同學是需要出售或者購買二手物品,有多少同學需要校內兼職,以及校內兼職的種類等,以及各個專業(yè)的同學對電腦小知識的需求度等相關問題;對調查結果進行分析,總結。
(2)深入學習微信小程序的相關知識,構建微信小程序“校之助”的基本框架和建立云數(shù)據(jù)庫;分析、解決如何建立云數(shù)據(jù)庫,如何上傳圖片到云存儲中,選取組件庫等相關問題。
(3)功能開發(fā)的實現(xiàn),解決一系列開發(fā)技術問題。如何實現(xiàn)前后端交互,如何提取數(shù)據(jù)庫中的數(shù)據(jù)到前端頁面,如何將商品圖片存儲在云存儲中,以方便需要時便捷提取,以及如何排版使得頁面美觀等。
(4)內部測試,測試功能是否可用,是否完善。本平臺在前期開發(fā)階段測試人員只涉及本小組成員,隨著程序不斷完善,開始加入更多測試人員,幫助小程序逐漸完善。
“校之助”小程序使用微信小程序所自帶的云數(shù)據(jù)庫,云開發(fā)提供了一個JSON數(shù)據(jù)庫,每一條記錄是一個JSON格式的對象,用到增、刪、改、查功能。在app.js中定義相關函數(shù),在需要頁面進行引用。
上傳相關圖片時需要云存儲,云存儲依賴于云開發(fā),微信為開發(fā)者提供了一塊存儲空間,可以將圖片、文件上傳到云端,主要是用兩個API來對云儲存進行相關操作wx.cloud.uploadFile。獲取的用戶信息存儲在緩存中,主要用wx.setStorage進行存儲再緩存,使用wx.getStorage取出相應的數(shù)據(jù)。
為了小程序的美觀,引用ColorUI組件庫。ColorUI組件庫擁有鮮亮的高飽和色彩,專注于視覺的小程序組件庫,引入后,可以直接采用原本的樣式,也可以適當?shù)匦薷?。本小程序的底部導航欄,豎直導航欄,輪播圖等就是采用ColorUI的樣式。
開發(fā)此小程序存在如何分離前后端、一個用戶怎樣實現(xiàn)既可以發(fā)表物品出售又可以發(fā)表兼職信息以及怎樣判斷發(fā)布內容是否審核通過等問題?!靶V焙笈_從“我的”頁面進入,建立一個管理員Openid數(shù)組,獲取當前用戶的用戶Openid并判斷是否在該數(shù)組中,如果在數(shù)組中,“我的”頁面會出現(xiàn)后臺管理按鈕,進入后臺執(zhí)行相關操作,如果不在數(shù)組中,就不會展示,關鍵代碼如下:
that.setData({
openid:openid,
isAdmin:that.data.adiminArr.indexOf(openid)
})
發(fā)布是一個頁面,發(fā)布類型有三個,要做到發(fā)布分離,“校之助”采用了選項卡,給不同選項卡里的內容添加不同事件,將用戶填的內容存儲到相應的數(shù)據(jù)表中,選項卡部分代碼如下:
<view class=′tapCard′>
<view class= "addCard1{{cardNum===1?′tapOn′:′tapOff′}}"bindtap=′tapTo1′>申請出售</view>
<view class= "addCard2{{cardNum===2?′tapOn′:′tapOff′}}"bindtap=′tapTo2′>兼職信息</view>
<view class= "addCard3{{cardNum===3?′tapOn′:′tapOff′}}"bindtap=′tapTo3′>生活技巧</view>
</view>
審核是一個重要的環(huán)節(jié),用戶申請內容一開始應是未審核狀態(tài),除了自己和后臺人員,其他用戶是看不到的,后臺人員審核通過后才可以展現(xiàn)在相應頁面,所以將采用一個字段去控制審核狀態(tài),后臺人員通過修改該字段的值來達到審核,“我的”頁面中的發(fā)表狀態(tài)也對應該字段的值,部分代碼如下:
app.getInfoWhere(′thing′,{check:1},
e=>{
getCurrentPages()["0"].setData({
shopInfo:e.data,
isShow:true
})
wx.hideLoading()
}
)
“校之助”小程序分為兩大部分,前端和后臺。前端包括“首頁”、“兼職”、“小知識科普”、“我的”以及“發(fā)布”模塊;后臺包括“訂單管理”以及“審核管理”模塊。審核模塊又分為三種,分別為“二手物品審核”、“兼職信息審核”和“小知識審核”。具體模塊功能如下:
(1)“首頁”模塊:是二手物品的一個頁面,主要內容包括一個搜索框,可以搜索出關于關鍵字的物品;商品列表即展示所出售的物品,當選中其中一個物品時會跳轉到商品詳情頁,方便進行購買。
(2)“兼職”頁模塊:本頁面有一個搜索框可以查詢出相對應類型的兼職,兼職列表可以任意點擊一個進入兼職詳情頁查看兼職的主要內容和兼職環(huán)境以及招聘人的相關聯(lián)系方式等。
(3)“小知識科普”模塊:可以輸入自己所遇到相關問題的關鍵字查詢相應的知識。例如,搜索“電腦”,便有相應的電腦知識點排列在頁面,也可以查看失物招領、生活技巧這些信息。
(4)“我的”模塊:有地址信息欄需要完善,填寫好自己姓名、聯(lián)系電話等信息,還可以看到自己購買物品的訂單。
(5)“發(fā)布”模塊:發(fā)布分為三類,分別為二手物品出售的申請,兼職信息的申請以及小知識的申請,用戶填好相關信息后,需等待管理員審核,在我的頁面中的我的發(fā)布欄下可以看到審核狀態(tài),用戶第一次進入發(fā)布頁面需要授權登錄,將用戶信息存到緩存中。發(fā)布管理是指可以查看到自己發(fā)布的信息當前狀態(tài),還可以刪除信息。
(6)“訂單管理”模塊:對所有訂單進行管理、刪除、修改、查找。
(7)“二手物品管理”模塊:查看申請發(fā)布的二手物品并審核,刪除相應物品信息,還可以查詢某個物品,并進行刪除或者審核。
(8)“兼職信息管理”模塊:查看申請發(fā)布的兼職信息并審核,刪除相應兼職信息,還可以查詢某個兼職,并進行刪除或者審核。
(9)“小知識科普管理”模塊:查看申請發(fā)布的科普知識并審核,刪除相應科普內容,還可以查詢某個內容,并進行刪除或者審核。
首頁頁面屬于上中下結構,上面是搜索框和輪番圖,中間部分是豎直導航欄和對應的商品列表,下面就是底部導航欄;發(fā)布頁面主要分為申請出售二手物品、發(fā)布兼職的申請、發(fā)布小知識的申請;我的頁面如果該用戶屬于管理員會有一個后臺管理按鈕,從此處進入后臺,后臺分別為審核管理和訂單管理,“校之助”首頁效果如圖1所示,“校之助”后臺頁面展示效果如圖2所示。
圖1 首頁效果圖
圖2 后臺管理頁面效果圖
大四學生會產生二手物品的同時也會需要二手物品,實習時大多數(shù)同學會選擇租房,但是實習時間僅四個多月,過多添置物品較為浪費,“校之助”在實現(xiàn)校內二手交易的基礎上,可以考慮擴展到校外,建立大四實習生和租房周圍的二手交易平臺,當大四學生實習結束后又可以將物品再次出售。發(fā)布的兼職信息也可以擴展到校外周圍的兼職,這對于課特別少的同學,可以提前到校外鍛煉。還有一些畢業(yè)但還沒正式工作的人,也可能會做一些臨時的工作,租房子需要購買二手物品,找到正式工作的時候就會需要出售二手物品,所以“校之助”對于校外需要出售和購買二手物品以及找兼職的人也同樣適用。
采用“校之助”能給大學生帶來良好的體驗,本程序用JSON格式作為數(shù)據(jù)傳輸,凸顯程序的高效性、穩(wěn)定性以及安全性。一個好的程序除了功能完善,頁面肯定也需要美觀,“校之助”采用ColorUI的相關CSS組件樣式,使用亮麗的色彩吸引人的眼球,亮麗的顏色也符合大學生活潑好動的形象。采用微信小程序自帶的云數(shù)據(jù)庫能帶來很大的便利,云數(shù)據(jù)庫存取比較方便,也容易開通、好學。將二手交易、兼職信息、小知識科普相結合是該小程序的亮點,也是難點,如何將它們通過用戶銜接起來是需要進一步解決的問題。在保障每個用戶享有發(fā)表兼職、科普知識的權利的同時,后臺管理員認真審核每條申請,以確保用戶使用小程序過程中的美好體驗。