国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于微信小程序和二維碼的快遞收發(fā)系統(tǒng)研究與設計

2021-07-20 04:49萬迎霜陶利民
計算機時代 2021年6期
關鍵詞:快遞微信小程序二維碼

萬迎霜 陶利民

摘 ?要: 物流行業(yè)的飛速發(fā)展,快遞數(shù)量的逐漸增加,用戶取件、寄件不便以及隱私安全等問題也隨之而來。通過分析現(xiàn)有快遞行業(yè)的發(fā)展勢態(tài),根據(jù)用戶體驗和信息安全,設計了一款基于微信小程序和二維碼技術的快遞收發(fā)系統(tǒng)。用戶在小程序上即可完成寄件、取件操作;快遞員則摒棄傳統(tǒng)昂貴笨重的巴槍,通過小程序進行攬件和派件,提高快遞收發(fā)效率的同時也保護了用戶的信息安全。

關鍵詞: 微信小程序; 快遞; 二維碼; OAuth; Token

中圖分類號:TP311 ? ? ? ? ?文獻標識碼:A ? ? 文章編號:1006-8228(2020)06-42-04

Abstract: With the rapid development of the logistics industry and the increasing number of express delivery, the problems such as inconvenient parcel pick-up and post, and user privacy security also come with it. By analyzing the current development trend of the express delivery industry, based on the analysis of the development trend of the existing express industry, according to the user experience and information security, an express delivery system based on WeChat Mini Program and QR code (Quick Response Code) is designed in this paper. Users can complete the operation of posting and picking up parcels by using the small program; the courier abandons the traditional expensive and cumbersome scanning gun, but uses the small program to collect and distribute parcels, improving the efficiency of express delivery, while protecting the information security of users.

Key words: WeChat Mini Program; express delivery; QR code; OAuth; Token

0 引言

近年來,新零售行業(yè)的發(fā)展如火如荼,線上購物這一消費方式所占比重逐年增大,快遞的收發(fā)也成為人們?nèi)粘I钪械囊徊糠?。?jù)國家郵政局檢測數(shù)據(jù)顯示,僅2019年“雙十一”活動當天,全國各郵政、快遞企業(yè)共處理5.35億快件,同比增長28.6%,再創(chuàng)歷史新高[1]。但所面臨的問題也隨之增多??爝f單上隨處可見的用戶信息,導致信息泄露的事件越來越多,對用戶隱私的保護刻不容緩。針對以上情況,本文利用微信小程序和二維碼技術開發(fā)了一款線上的快遞收發(fā)系統(tǒng),并對各個模塊和功能做了詳細介紹[2]。在保護用戶信息安全方面用二維碼面單代替?zhèn)鹘y(tǒng)的快遞單,只有快遞員掃描面單時,才能獲取快遞下一階段所需的派送信息,極大的保護了用戶隱私。

1 關鍵技術

1.1 二維碼

二維碼在生活中應用廣泛,移動支付、社交網(wǎng)絡、防偽溯源,交通出行等等隨處可見二維碼的身影,簡單的‘掃一掃讓生活的便利程度又提升了一個層次[3]。本文所用的二維碼是QRCode,全稱是QuickResponse。二維碼也稱二維條碼,和一維條形碼都是用來存儲數(shù)據(jù)的,但是二維碼能夠存儲更多的數(shù)據(jù),比如漢字、圖片、URL等,二維碼相比于一維條碼所占用的面積也大大減小,同時可以進行加密使其安全性更高[4]。二維碼的容錯率也比一維條碼高,一般的輕微損壞或者遮蓋不影響機器識別的結(jié)果。

1.2 微信小程序

微信小程序是基于微信的一款輕量級APP,依靠著龐大的微信用戶,自2017年1月9日上線截止至2018年年底,小程序用戶規(guī)模超6億,日活躍用戶3.5億。2018年為用戶提供了超過1000億人次的商業(yè)和政務服務[5]。微信小程序使用方便、即開即用,通過掃描一張二維碼或者推送鏈接即可打開,十分便捷,彌補了傳統(tǒng)APP體積龐大、安裝慢等缺點。小程序操作簡單方便,給用戶帶來良好的體驗[6]。

用戶打開小程序,首先要請求用戶的授權(quán),來獲取用戶的唯一身份認證。微信小程序的登錄授權(quán)流程圖如圖1所示,當用戶在小程序端同意授權(quán)后,小程序通過wx.login()請求拿到code發(fā)送給第三方服務器,第三方服務器拿著code、開發(fā)者的AppID和AppSecret去請求微信服務器。即可獲得微信服務器返回的openId和session_key。openId是用戶的唯一標識,使用openId生成token返回到小程序端,后面的每次訪問帶上token,即可知道是哪個用戶在訪問。

1.3 SSM框架

本系統(tǒng)所采用的SSM框架是Spring+SpringMVC+Mybatis,Spring是一個輕量級框架,低侵入式設計,代碼污染極低,且功能強大[7]。Spring像一個巨大的容器,使用控制反轉(zhuǎn)(IOC)技術降低了組件之間的耦合性,支持面向切面編程(AOP),把業(yè)務邏輯與系統(tǒng)的服務分開,開發(fā)人員更能專注于應用邏輯。SpringMVC的框架包含model業(yè)務邏輯層,view表現(xiàn)層,controller控制器層。當視圖層接收到用戶的輸入,傳輸給控制器,控制器解析輸入并對模型對象執(zhí)行交互,將數(shù)據(jù)輸出傳遞給模型層,視圖層時刻監(jiān)聽模型層,將數(shù)據(jù)以特定格式顯示出來。三者的交互相輔相成,既能夠降低耦合,又有利于拓展。MyBatis是一種Java持久層框架[8],比JDBC擁有更高的性能。MyBatis動態(tài)生成SQL語句,更方便SQL的維護。數(shù)據(jù)庫通過xml文件自動映射,將數(shù)據(jù)庫表通過駝峰命名法與實體類一一對應。SSM框架圖如圖2所示。

1.4 JWT

本系統(tǒng)采用前后端分離的設計模式,前后端通過token進行身份認證,JWT很好的實現(xiàn)了這個功能。JWT就是JsonWebToken,是一種基于JSON對象形式,用于通信雙方之間傳遞安全信息的聲明規(guī)范,是目前最流行的跨域身份驗證解決方案[9]。JWT具有簡潔性和自包含性,由頭部、載荷和簽名三部分構(gòu)成,并由“.”分隔。頭部是用來聲明類型和加密算法,載荷部分就是承載消息具體內(nèi)容的地方,簽名部分就是對前兩部分進行數(shù)據(jù)簽名,防止數(shù)據(jù)被篡改。當用戶訪問服務器時,發(fā)送自己的用戶名和密碼,服務器驗證身份后,生成一個JWTtoken返回給用戶,用戶后面每次訪問的時候,服務器都會對攜帶的token進行校驗。

2 系統(tǒng)的設計與實現(xiàn)

本系統(tǒng)采用C/S(客戶端/服務器)架構(gòu),前后端分離的設計模式,用戶和快遞員端采用微信小程序展示,通過wx.request()向后端服務器發(fā)送請求和接受返回的數(shù)據(jù)。管理員端采用Vue+ElementUI框架設計,后端采用Spring+SpringMVC+MyBatis框架進行業(yè)務處理,RBAC(Role-BasedAccessControl)進行角色訪問權(quán)限控制,前后端通信數(shù)據(jù)格式采用JSON格式。數(shù)據(jù)庫選擇了體積小、速度快的MySql,用來存儲用戶、快遞員和訂單等信息。

2.1 系統(tǒng)整體功能設計

本系統(tǒng)由用戶角色、快遞員角色和管理員角色構(gòu)成。快遞員和用戶都是通過微信小程序端登錄授權(quán),確定身份。用戶登錄后,可以在線寄件、取件出庫、查件,對用戶個人資料等進行管理操作;快遞員登錄后可以進行攬件和派件的任務,對自己資料進行管理,查看自己任務量等。后端管理員可以對用戶信息和快遞員信息進行管理。系統(tǒng)功能結(jié)構(gòu)圖如圖3所示。

2.2 功能分析

2.2.1 用戶功能分析

⑴ 寄件模塊:用戶使用微信登錄小程序,授權(quán)后即可下單寄件。填寫詳細寄件信息,地址可由地址簿導入。用戶自主選擇物流公司,或者交由系統(tǒng)根據(jù)寄件需求智能選擇物流公司。填寫完信息后即可提交訂單。下單后,生成二維碼,后臺接到訂單后會分派快遞員上門取件,待快遞員掃碼攬件成功后,用戶可選擇線上支付或線下支付,接收到快遞員發(fā)送的快遞單號即表示寄件成功。寄件完成后可以對攬件快遞員打分評價。寄件流程圖如圖4所示。

⑵ 收件模塊:當快遞員把快遞送到驛站,會生成一個取貨碼,在小程序上即可查詢?nèi)∝洿a。點擊驛站也可導航至驛站,適用于不熟悉周圍環(huán)境的新來住戶,或者學校校區(qū)過大,設置了不同驛站,學生點擊驛站即可知道驛站具體位置。取件時,直接掃碼出庫即可。

⑶ 掃碼查件模塊:用戶進入查詢頁面輸入訂單號,也可以掃描二維碼識別訂單號。點擊查詢按鈕即可顯示快遞的物流信息。在當前查詢頁面可以看到歷史查詢記錄,通過歷史查詢記錄可直接進入詳細物流界面。

⑷ 我的信息模塊:用戶進入我的頁面,可以查看自己的資料,進行實名認證以及地址薄的管理,查看所有的歷史訂單。

2.2.2 快遞員功能分析

⑴ 攬件模塊:快遞員授權(quán)登錄,接到后臺分配的攬件任務趕往取件地點,拿到用戶的物品后,即可掃描提前已經(jīng)打印好的二維碼,使二維碼與用戶下單物品相綁定,并將生成的快遞單號發(fā)送給用戶,后面的每次運輸和分揀只有掃描二維碼才能獲取下一階段需要操作的動作,保護了用戶隱私??爝f員攬件成功之后點擊任務完成按鈕反饋到后臺。

⑵ 派件模塊:快遞員對到達的快遞進行分揀,通過掃碼,拿到自己派件任務所對應的快件,檢查包裹的完整度,修改快遞訂單的狀態(tài)為正在派送中,同時系統(tǒng)獲取快遞單所含的信息,自動跳轉(zhuǎn)到播打電話頁面或者通過微信的消息推送提醒用戶??爝f員派件流程圖如圖5所示。

⑶ 掃碼查件模塊:快遞員也有查件模塊,以應對于出現(xiàn)問題件或者用戶找不到快遞情況。當用戶打電話向快遞員詢問快遞信息的時候,快遞員方便及時查詢快遞信息給予反饋。快遞員查件同樣分為手動輸入單號或者掃描識別單號兩種方式。

⑷ 快遞員信息模塊:快遞員進入我的信息模塊做實名認證,更改自己的頭像,姓名等資料,查看自己的評價等級、所有派件信息及攬件信息,統(tǒng)計自己的工作量。

2.2.3 管理員功能分析

管理員從后端登錄,在后臺對用戶信息以及快遞員信息進行管理。例如:核查快遞員身份信息,給不同的快遞員分配不同的權(quán)限,可以對不合格的快遞員進行刪除操作。當用戶下單之后,管理員根據(jù)快遞員所管轄范圍分配合適的取件任務,對于超時未取件的訂單會標紅處理。同時管理員可以查看所有快遞訂單的詳細信息,對快遞員任務量進行統(tǒng)計匯總操作。管理員可以條件查詢在某個時段或者某個地區(qū)的快遞件數(shù)總量,合理分配不同地區(qū)快遞員的數(shù)量。管理員還可以通過快遞信息看板了解最近12個月的訂單數(shù)量變化,以及各月份攬件和派件的任務量。

2.3 登錄認證和授權(quán)

本系統(tǒng)在登錄授權(quán)信息方面采用了OAuth協(xié)議的授權(quán)方式[10]。OAuth協(xié)議可以在第三方不需要接觸用戶名和用戶密碼的情況下,即可申請獲得該用戶資源的授權(quán)。OAuth協(xié)議的特點是簡單易懂,多框架支持;很安全,無需接觸到用戶隱私信息;同時也是開放的,任何服務商、開發(fā)者都可以使用。OAuth協(xié)議里有四個角色,分別是授權(quán)服務器、資源服務器、資源擁有者和客戶端。其中資源服務器和授權(quán)服務器可以是同一個服務器,也可以是不同的服務器,單獨的授權(quán)服務器可以為多個資源服務器發(fā)送token。OAuth授權(quán)的流程圖如圖6所示??蛻舳耸紫日埱笥脩舻氖跈?quán),用戶同意后向授權(quán)服務器申請令牌,授權(quán)服務器對客戶端進行認證,確認無誤后返回令牌,客戶端拿到令牌后即可向資源服務器申請資源。本系統(tǒng)里token的生成就是使用JWT方法。

3 結(jié)束語

傳統(tǒng)APP過于臃腫,微信小程序已經(jīng)成為取代手機客戶端APP的最佳選擇。本文在微信小程序和二維碼的基礎上,為用戶和快遞員開發(fā)了一套快遞的收發(fā)系統(tǒng),方便快遞員使用,同時能保護用戶隱私安全。解決了用戶日常取件等候時間長的問題,提高了用戶的體驗感受??爝f物流行業(yè)業(yè)務復雜,功能需求繁多,未來,希望在此基礎上添加更多的功能,滿足用戶和快遞員在日常生活使用中的其他需求。

參考文獻(References):

[1] 楊從平,秦小輝,楊麗英.我國快遞市場發(fā)展現(xiàn)狀分析及對策[J].物流科技,2018.41(1):68-72

[2] 和柯.基于Android的可視化快遞輔助配送系統(tǒng)研究[D].武漢大學,2018.

[3] 梁榮,汪玉凱,李心池.分級安全的二維碼識別系統(tǒng)及關鍵算法設計[J].計算機工程與設計,2017.38(11): 2903-2908

[4] 張新文,李華康,楊一濤.基于二維碼技術的個人信息隱私保護物流系統(tǒng)[J].計算機應用研究,2016.33(11):3455-3459

[5] 孫冰.巨頭為何爭奪小程序?[J].中國經(jīng)濟周刊,2019.4:79-81

[6] 何冠檜.基于微信應用平臺下的高校智能快遞系統(tǒng)的研究[J].電子世界,2017.6:169

[7] 李洋.SSM框架在Web應用開發(fā)中的設計與實現(xiàn)[J].計算機技術與發(fā)展,2016.12:190-194

[8] 鄧笑.基于Spring Boot的校園輕博客系統(tǒng)的設計與實現(xiàn)[D].華中科技大學,2018.

[9] Ben Ali I, Basly M, Ben Jemaa S, et al. JSON Web Token(JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants[J], 2015.54(6):641-644

[10] 魏成坤,劉向東,石兆軍.基于OAuth2.0的認證授權(quán)技術研究[J].信息網(wǎng)絡安全,2016.9:6-11

猜你喜歡
快遞微信小程序二維碼
可以吃的二維碼
二維碼
信息技術與專業(yè)課程融合路徑探索
讓嚴肅的二維碼呆萌起來
當圖書館遇上微信小程序
校園快遞現(xiàn)存問題研究與對策分析
基于校園快遞自助的APP設計
在曼谷“快遞”灑水車
二維碼,別想一掃了之
新安县| 仁化县| 玉田县| 双辽市| 新巴尔虎右旗| 本溪市| 师宗县| 大石桥市| 玉田县| 古田县| 丹寨县| 房山区| 五寨县| 汶上县| 临潭县| 长春市| 永修县| 绵阳市| 错那县| 文昌市| 申扎县| 垫江县| 罗田县| 政和县| 云安县| 彩票| 娄底市| 连云港市| 伊通| 彭泽县| 广宗县| 封丘县| 贵阳市| 靖宇县| 海南省| 永城市| 永昌县| 应用必备| 托里县| 保亭| 玉树县|