趙圓圓,陳潤輝
(湛江科技學院,廣東 湛江 524000)
隨著科技的進步以及網絡的遍及,信息的傳播方式和速度發生了巨大的改變,這種改變有效提高了學習工作的效率,使得人們的生活節奏越來越快,再加上高密度的學習和高壓力的工作,使得大部分的社會人群對身體健康狀況普遍關注[1]。本項目提供了一個一起打卡運動的平臺,并且可以針對用戶的要求,提供合理的健身計劃,讓喜歡運動健身的人在平臺上分享自己的健身成果和健身教程,從而激勵更多的人加入進來,讓運動愛好者可以聚在一起形成運動圈,在增強體質的同時擴大交友圈子,增加運動樂趣。微信小程序是一種不需要下載,也不需要安裝就可以直接使用的應用,可為用戶節省內存空間,具有方便快捷、安全穩定等優點。健身微信小程序從用戶的角度去設計開發,為喜歡運動的用戶提供更多的便利。
微信小程序作為移動端的應用,其與后臺服務器進行數據交換的最簡單高效的方式無疑是前后端分離。前后端分離目前已經成為互聯網項目開發的業界標準使用方式[2]。其核心思想是前端使用超文本標記語言(HTML)編寫的頁面通過異步傳輸的框架調用后端RESTFUL風格的API接口,且利用JSON進行數據交互。
通過微信小程序作為用戶交互界面,接受用戶的操作,利用小程序封裝完成網絡請求API訪問服務端的地址,從而發起請求,服務端響應請求并且操作數據庫。將獲取的數據以JSON格式返回小程序,小程序渲染數據并展示在用戶交互界面中,實現前后端分離用戶交互流程。
使用微信開放平臺提供的微信小程序開發環境進行前端開發的設計,數據庫管理使用MySQL,服務端使用基于SpringBoot的后臺管理和小程序進行數據交互管理的接口。
SpringBoot是基于主流Web框架Spring而整合形成的全新框架,可以很便利地設計出符合前后端分離架構要求的RESTFUL接口,提高了系統整體的可行性和可靠性。
采用Mybatis框架來構建服務端的持久化層,有效防止SQL注入安全問題的發生。
在系統安全以及授權驗證方面,采用Apache基金會旗下的Shiro框架。Shiro框架提供了很多易于使用的API接口,讓開發者以更簡單的方式在自己的項目中部署身份驗證、授權、密碼和會話管理的版塊。
用戶發起請求時,請求會經過Shiro中的SecurityManager組件進行身份驗證,再通過Relams組件進行授權。授權和驗證的過程中,通過持久層框架MyBatis查詢用戶的身份權限信息,再對訪問用戶進行授權,并且保留用戶的session和登錄態。獲取權限后,Shiro框架會比對接口訪問所需權限和用戶獲得的權限,一致方可訪問,如圖1所示。

圖1 數據持久化
微信小程序主要用到JS,WXML,WXSS,JSON進行頁面的外觀設計和功能實現,每個頁面都會有對應上述4個文件。在JS文件中,主要通過調用wx.request()接口進行網絡請求。
通過獨特的互聯網社交生態,讓用戶主動重視身體健康的重要性[3]。項目主要分為健康知識分享、運動打卡、校圈服務和社交4大模塊。健康知識分享模塊為提供一個用戶發表自己的健康見解、運動技巧,獲取健康知識、運動知識的平臺。運動打卡模塊給用戶提供運動結束后打卡和分享本次運動的經歷,從而讓用戶堅持運動有動力。校圈服務模塊主要針對各大高校師生,提供在健康方面的校園服務。社交模塊為用戶提供一個以運動交友的平臺,其中還包括運動打卡相互競爭等鼓勵刺激用戶積極運動的功能。
健身用戶打開小程序就能看到為其推送的健身方面的各種最新資訊,同時系統將最新的活動通過輪播圖展現給用戶,使資訊更具多樣化。對于一些健身的入門者,健身需要循序漸進,所以提供了在線播放視頻的功能,方便初學者模仿并慢慢掌握要領。而對于那些已經健身多年、頗有經驗的用戶來說,也可以通過視頻學習新運動,學習之前沒掌握的要領。健身專家也可以通過發布視頻來分享自己的健身心得,提升用戶的健身興趣。
社交模塊設有運動打卡功能,促使健身用戶每天都能堅持在平臺上打卡,變得更加自律。于此同時,用戶之間也可以采取互相競爭的形式,看哪一個先漏打卡,則哪個就失敗,競爭獲勝的用戶可以獲取平臺獎勵的積分。項目主要基于校內,所以同時也設置了校圈分享的模塊,用戶可以在這個模塊里分享自己的健身心得、發布自己的二手閑置、互相鼓勵同校且喜歡運動的人群。
用戶進行登錄注冊后,完善自己的個人資料,并可以查看到自己的粉絲、所關注的博主,以及收藏的健身知識。首頁、社交和關注頁面如圖2所示。

圖2 小程序實現
項目開發的過程采用了瀑布模型開發流程,思路清晰、目標明確、分工合理、可行性強。通過本應用,各階段的用戶都可以進行合理的健身,健身用戶之間可以互動、運動打卡、分享觀看健身視頻、健身知識、校圈分享等,為健身用戶提供更多的便利。