摘要:高校頻繁出現(xiàn)丟件、漏件和錯(cuò)件的現(xiàn)象。為滿足用戶對(duì)隨時(shí)隨地進(jìn)行預(yù)約取件,預(yù)約寄件及查詢預(yù)約情況的需求,實(shí)現(xiàn)了一種基于微信小程序的快遞取寄系統(tǒng)。系統(tǒng)以云開發(fā)低代碼和云函數(shù)為載體,由后臺(tái)的云數(shù)據(jù)管理系統(tǒng)和前端面向用戶的小程序組成,便于廣大師生在保證個(gè)人信息安全的同時(shí),使用小程序?qū)崿F(xiàn)一系列快遞服務(wù)需求。系統(tǒng)可以提高快遞站點(diǎn)的服務(wù)效率,節(jié)省人力物力財(cái)力,且成本低,易于維護(hù)管理,具有一定的實(shí)用價(jià)值。
關(guān)鍵詞:微信小程序;快遞服務(wù);云開發(fā);系統(tǒng)設(shè)計(jì);管理系統(tǒng)
中圖分類號(hào):TP311.56" " " 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)33-0051-04
1 引言
隨著我國數(shù)據(jù)物流領(lǐng)域的快速發(fā)展,大部分高校享受到了其帶來的智能與便利[1]。然而,中國大部分高校的快遞站點(diǎn)空間有限,人群流量大,容易出現(xiàn)漏件、錯(cuò)件及丟件的現(xiàn)象,“如何解決人群擁堵”和“如何在最低成本的前提下提高取件效率”早已成為熱議的話題[2]。如何在保證服務(wù)質(zhì)量的前提下,高效地進(jìn)行取件寄件也成為必須解決的問題之一,此時(shí)開發(fā)一款服務(wù)于師生的智能快遞系統(tǒng)便顯得尤為重要。大數(shù)據(jù)時(shí)代,萬物互聯(lián)與數(shù)字化已成為現(xiàn)實(shí),取件服務(wù)也必將朝著智能化、數(shù)字化的方向進(jìn)步,這對(duì)于快遞行業(yè)發(fā)展有著重要意義[3]。
2 系統(tǒng)設(shè)計(jì)概述
2.1 系統(tǒng)介紹
系統(tǒng)名為“遞幫幫快遞取寄系統(tǒng)”,由小程序部分和云數(shù)據(jù)管理系統(tǒng)(Cloud Data Management System,CDMS)組成。遞幫幫微信小程序含義為:讓廣大師生通過使用便捷的小程序功能便可以隨時(shí)隨地實(shí)現(xiàn)自助預(yù)約取件、預(yù)約寄件、查詢預(yù)約數(shù)據(jù)、管理預(yù)約記錄等功能。有助于填補(bǔ)“面向高校師生的快遞取寄系統(tǒng)”這一服務(wù)類小程序的空缺。
系統(tǒng)將與校內(nèi)菜鳥裹裹等快遞站點(diǎn)合作,通過云開發(fā)平臺(tái)為管理人員提供CDMS便于校內(nèi)快遞的統(tǒng)一管理,為師生提供微信小程序用于實(shí)現(xiàn)一系列快遞預(yù)約服務(wù)。
2.2 數(shù)據(jù)模型設(shè)計(jì)
系統(tǒng)數(shù)據(jù)庫所使用的關(guān)系模型如表1所示。
2.3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
通過對(duì)系統(tǒng)的功能需求分析,得出遞幫幫小程序的系統(tǒng)結(jié)構(gòu)圖,如圖1所示。
1)登錄功能
無須設(shè)置賬號(hào)密碼,用戶點(diǎn)擊“使用微信登錄”完成登錄過程,后臺(tái)通過獲取專屬openid完成與CDMS的綁定,通過獲取用戶微信頭像與昵稱完成個(gè)性化設(shè)置。
2)預(yù)約功能
用戶可以通過主頁選擇取件或寄件,在詳情頁填寫并提交表單即可完成預(yù)約,后臺(tái)會(huì)收到信息,隨后安排快遞工作人員通過小程序方式及短信方式通知用戶,也可以自行查詢預(yù)約記錄。
取件記錄和寄件記錄分開存儲(chǔ),用戶可以點(diǎn)擊相應(yīng)TAB欄切換以查詢訂單詳情。
3)個(gè)人中心及工具服務(wù)
除了主打的預(yù)約功能外,小程序內(nèi)置了使用手冊(cè)、數(shù)據(jù)分析、滿意調(diào)研、通知公告、我的位置、常用信息、文檔中心等工具服務(wù)版塊,用戶可以點(diǎn)擊底部TAB欄切換到個(gè)人中心查看使用。
2.4 具體功能設(shè)計(jì)
1)預(yù)約與查詢功能
提交表單后系統(tǒng)將通過核對(duì)數(shù)據(jù)類型、長度、枚舉等指標(biāo)進(jìn)行表單驗(yàn)證。若核對(duì)未通過則無法提交。當(dāng)數(shù)據(jù)與約束條件核對(duì)無誤后,允許提交表單,系統(tǒng)彈出提示,并將訂單信息錄入CDMS。
提交查詢記錄請(qǐng)求后系統(tǒng)將查詢CDMS中與用戶openid一致的訂單數(shù)據(jù)。若未查詢到訂單,則顯示空白頁,用戶需要先提交訂單。當(dāng)查詢到訂單后,系統(tǒng)將通過用戶提交的查詢條件是“取件”或“寄件”將數(shù)據(jù)分開展示。小程序預(yù)約寄件及預(yù)約記錄頁如圖2~圖3所示。
2)工具與服務(wù)功能
系統(tǒng)內(nèi)置了十個(gè)用于提升用戶使用體驗(yàn)的版塊,涉及表單驗(yàn)證、記錄存在驗(yàn)證及權(quán)限認(rèn)證。
3)CDMS
系統(tǒng)內(nèi)置了CDMS用于后臺(tái)管理??爝f站點(diǎn)工作人員和客服人員通過使用賬號(hào)密碼登入CDMS,可對(duì)系統(tǒng)運(yùn)行情況、預(yù)約訂單、滿意調(diào)研記錄和常用信息頁面進(jìn)行數(shù)據(jù)查詢、修改等操作。超級(jí)管理員登入CDMS后,除了上述操作,還可對(duì)數(shù)據(jù)展示、通知公告、文檔中心等頁面進(jìn)行數(shù)據(jù)修改、新建等操作。
管理員使用CDMS可以便捷管理訂單信息、更新信息等,在小程序端展示,保證信息的即時(shí)性和穩(wěn)定性。
2.5 系統(tǒng)創(chuàng)新設(shè)計(jì)
交互設(shè)計(jì)方面,登錄頁布局簡約,方便用戶直接登錄。主頁和個(gè)人中心頁呈網(wǎng)格狀排版,整齊排列,獨(dú)立圖標(biāo),美觀UI設(shè)計(jì),指引明確,操作便捷,方便用戶尋找功能。功能頁設(shè)計(jì)簡約,內(nèi)容清晰,易于使用。小程序主頁面如圖4所示。
系統(tǒng)可以一鍵生成訂單信息,相較于傳統(tǒng)的手動(dòng)數(shù)據(jù)庫模式錄入更加智能便捷。通過綁定openid的方式,用戶可以安全地訪問個(gè)人數(shù)據(jù),不會(huì)出現(xiàn)信息泄露的情況。
數(shù)據(jù)展示頁面使用可視化的方式內(nèi)置了26個(gè)數(shù)據(jù)窗口用于詳細(xì)且有價(jià)值的數(shù)據(jù)展示,用戶可以選擇相應(yīng)類別查看,也可以對(duì)可視化圖表進(jìn)行點(diǎn)擊,提高互動(dòng)感。數(shù)據(jù)展示頁面結(jié)構(gòu)圖如圖5所示。
3 重點(diǎn)功能實(shí)現(xiàn)
3.1 低代碼
系統(tǒng)使用騰訊云微搭低代碼進(jìn)行開發(fā),低代碼是一種通過可視化進(jìn)行應(yīng)用程序開發(fā)的方法,使用拖拽組件和模型驅(qū)動(dòng)的邏輯來創(chuàng)建頁面和搭建應(yīng)用。低代碼開發(fā)平臺(tái)允許多名開發(fā)人員同步創(chuàng)建、編輯和操作應(yīng)用程序,花費(fèi)的時(shí)間比傳統(tǒng)方式更少。
低代碼具有一定的靈活性,能夠解決開發(fā)周期較長這一問題,使用低代碼可以減少設(shè)計(jì)人員和開發(fā)人員間的溝通成本,降低出錯(cuò)的概率,當(dāng)應(yīng)用程序出現(xiàn)錯(cuò)誤時(shí)能夠快速地找到問題并解決。其次,低代碼能夠大幅度降低開發(fā)成本,具有跨平臺(tái)性,可以有效提高軟件開發(fā)的效率,并保證其邏輯質(zhì)量[4]。
3.2 云開發(fā)與云函數(shù)
系統(tǒng)使用了云開發(fā)和云函數(shù)服務(wù),用于進(jìn)一步減輕開發(fā)難度,降低開發(fā)成本。
云開發(fā)采用Serverless架構(gòu),免去了小程序應(yīng)用構(gòu)建中煩瑣的服務(wù)器搭建和運(yùn)維,使用靜態(tài)托管、命令行工具(Command Line Interface,CLI)、Flutter SDK等能力可以有效降低應(yīng)用開發(fā)的門檻[5]?;谠崎_發(fā)構(gòu)建的小程序,能夠彌補(bǔ)傳統(tǒng)開發(fā)模式的“效率低、耗時(shí)多、依賴后臺(tái)、不夠靈活”等問題,并更快響應(yīng)業(yè)務(wù)需求[6]。
云函數(shù)通過托管用戶代碼使用用戶配置的觸發(fā)器,根據(jù)觸發(fā)器的觸發(fā)事件自動(dòng)執(zhí)行用戶應(yīng)用,提供Function as a Service類型服務(wù),用戶只需使用JS腳本語言編寫核心代碼并設(shè)置代碼運(yùn)行的條件,即可彈性、安全地運(yùn)行。騰訊云完全管理底層計(jì)算資源,包括服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)和其他配置,且代碼按需運(yùn)行,空閑時(shí)不收費(fèi)。云函數(shù)起到邏輯編寫的重要作用,具體功能如下。
1)實(shí)現(xiàn)一鍵登錄功能
系統(tǒng)通過調(diào)用云函數(shù)前端API的app.utils函數(shù)內(nèi)的getWXContext方法獲取用戶的openid信息,用于存入CDMS進(jìn)行后期身份核對(duì)。關(guān)鍵代碼如下:
CONST cloud = require('wx-server-sdk');
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,}) //初始化環(huán)境
module.exports = ASYNC FUNCTION (params, context) {
CONST wxContext = cloud.getWXContext() //獲取openid
RETURN {
openid: wxContext.OPENID}
}
2)實(shí)現(xiàn)個(gè)性化昵稱與頭像展示功能
系統(tǒng)通過調(diào)用云函數(shù)前端API的wx.getUserProfile函數(shù)獲取用戶的微信昵稱和頭像,并賦值給全局變量,隨后通過對(duì)展示組件進(jìn)行數(shù)據(jù)綁定實(shí)現(xiàn)個(gè)性化展示。關(guān)鍵代碼如下:
export default function ({event, data}) {
wx.getUserProfile({
desc: '用于完善用戶信息',
success: (res) =gt; {
app.dataset.state.username = res.userInfo.nickName; //微信名稱賦值給全局變量
app.dataset.state.usericon = res.userInfo.avatarUrl; //用戶頭像賦值給全局變量
}})
}
3)實(shí)現(xiàn)表單信息驗(yàn)證功能
系統(tǒng)通過使用微搭平臺(tái)提供的表單驗(yàn)證方法,通過判斷約束條件核對(duì)信息,以實(shí)現(xiàn)表單信息驗(yàn)證功能。關(guān)鍵代碼如下:
{
\"eventName\": \"submit\",
\"type\": \"dataSource\",
\"handler\": {
\"name\": \"dataSource\",
\"module\": \"dataSource\",
\"params\": {
\"dataSourceName\": \"CP_89bhnri\",
\"methodName\": \"wedaCreate\",
\"options\": {
\"showToast\": FALSE,
\"showLoading\": FALSE
},\":params\": \"'create' === 'edit' ? event.detail : event.detail \"
}
4)實(shí)現(xiàn)定位功能展示
系統(tǒng)通過調(diào)用騰訊地圖WebService API提供的一系列服務(wù)接口,使用getApiKey、coord2label、ipLocation等方法實(shí)現(xiàn)騰訊地圖服務(wù)接入[7]。根據(jù)微信小程序開發(fā)要求,系統(tǒng)還調(diào)取了wx.getLocation接口以獲取當(dāng)前的地理位置、速度。關(guān)鍵代碼如下:
{
\"fit\": \"cover\",
\"home\": true,
\"iconTheme\": \"black\",
\"imgPreview\": \"\",
\"label\": \"\",
\"layout\": \"vertical\",
\"lazyLoad\": \"\",
\"locationRange\": 100,
\"locationType\": 2,
\"maskClosable\": true,
\"mode\": \"scaleToFill\",
\"requiredFlag\": \"\",
\"showMap\": true,
\"showMenuByLongpress\": \"\",
\"value\": {
\"address\": \"\",
\"geopoint\": {
\"type\": \"Point\",
\"coordinates\": [,]}}
}
3.3 企業(yè)工作臺(tái)
系統(tǒng)內(nèi)置了基于企業(yè)工作臺(tái),由數(shù)據(jù)模型搭建而成的遞幫幫_CDMS用于后臺(tái)數(shù)據(jù)訂單的管理,支持多角色、多用戶登錄。UI對(duì)多種登錄環(huán)境如電腦端和H5端進(jìn)行適配,以保證頁面的完整性。功能設(shè)計(jì)明確,方便進(jìn)行導(dǎo)出、修改、刪除等一系列操作,不需要額外的配置就能保證功能的正常使用,開發(fā)效率高,易維護(hù),成本低廉[8]。H5端頁面如圖6所示。
4 結(jié)束語
基于微信小程序的快遞取寄系統(tǒng)利用低代碼完成了數(shù)據(jù)模型設(shè)計(jì)、邏輯設(shè)計(jì)和整體的UI設(shè)計(jì)。系統(tǒng)從實(shí)際需求出發(fā),幫助廣大師生提供快遞預(yù)約服務(wù)及各類輔助工具。區(qū)別于傳統(tǒng)的開發(fā)模式,系統(tǒng)使用云環(huán)境進(jìn)行開發(fā),專注于系統(tǒng)本身的邏輯和UI創(chuàng)新,無須手動(dòng)搭建服務(wù)器,具有更高效、更穩(wěn)定、易維護(hù)的特性。小程序和CDMS目前已成功上線,能夠穩(wěn)定、長時(shí)間的運(yùn)行。
參考文獻(xiàn):
[1] 齊晗.對(duì)高??爝f中心運(yùn)營中若干問題優(yōu)化研究[J].物流工程與管理,2019,41(8):86,127-128.
[2] 劉海燕.高??爝f末端配送的問題與對(duì)策探究[J].營銷界,2021(33):54-55.
[3] 任曉翠.面向快遞終端的物流配送服務(wù)系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2020(1):101-104.
[4] Woo M.無/低代碼軟件開發(fā)的興起——無需經(jīng)驗(yàn)?[J].工程(英文),2020(9):1083-1085.
[5] 黎雪,王芳.基于亞馬遜云的云開發(fā)課程設(shè)計(jì)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2021,47(13):42-43.
[6] 陳健,羅曉云.通信云平臺(tái)系統(tǒng)研究與應(yīng)用[J].機(jī)電信息,2019(2):38-39.
[7] 宋鶯,謝小玲,余文婷,等.智慧校園微信小程序云服務(wù)開發(fā)與構(gòu)建[J].長江信息通信,2022,35(4):174-176.
[8] 徐宇帆,余秋明,柴政.基于微信小程序的校園參賽平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2022,18(7):63-66.
【通聯(lián)編輯:謝媛媛】