王凱欣,董艷雪,于晴
(臨沂大學(xué) 信息科學(xué)與工程學(xué)院,山東 臨沂 276000)
海洋對人類的生存和發(fā)展有重要意義,海洋是生命的搖籃,資源的寶庫,風(fēng)雨的故鄉(xiāng)。受環(huán)境污染等因素的影響,海洋生態(tài)環(huán)境持續(xù)遭到破壞。海洋需要被保護(hù),而傳統(tǒng)的對海洋環(huán)境保護(hù)的宣傳方式效率較低,在互聯(lián)網(wǎng)迅速發(fā)展的今天,應(yīng)充分利用互聯(lián)網(wǎng)的優(yōu)勢,傳遞護(hù)海理念,讓更多的人投入到保護(hù)海洋的行動(dòng)中去,同時(shí)有效促進(jìn)智慧旅游的發(fā)展。
微信是當(dāng)前最流行、方便、快捷的即時(shí)信息交互軟件之一。與傳統(tǒng)的手機(jī)APP相比,微信小程序不需要下載安裝,可以方便地在微信中訪問和傳播,用戶體驗(yàn)性能良好,退出應(yīng)用時(shí),系統(tǒng)會(huì)自動(dòng)釋放內(nèi)存?;谖⑿判〕绦蚴褂梅奖恪⒂脩艋鶖?shù)大、節(jié)約內(nèi)存、節(jié)省手機(jī)桌面空間等優(yōu)點(diǎn),設(shè)計(jì)“去海底,看世界”小程序,借助微信小程序平臺(tái),通過新途徑向廣大用戶傳遞護(hù)海理念,推進(jìn)智慧旅游,為海洋可持續(xù)發(fā)展貢獻(xiàn)自己的一份力量。
該程序通過微信開發(fā)者工具于Windows端完成開發(fā)與測試。與傳統(tǒng)的APP的開發(fā)相比,小程序開發(fā)門檻和成本較低,還能在一定程度上滿足用戶的需求。小程序嵌入微信內(nèi)部,擁有強(qiáng)大的社交屬性,可以實(shí)現(xiàn)O2O模式,給用戶全新的體驗(yàn),有效推動(dòng)旅游產(chǎn)業(yè)的發(fā)展。而微信開發(fā)者工具平臺(tái)集中了完成小程序API和頁面開發(fā)、調(diào)試、預(yù)覽、發(fā)布等一系列功能。相比于行業(yè)當(dāng)中的其他同類編程工具而言,該款軟件在功能特色上更加具有優(yōu)勢,首先,開發(fā)者必須通過真實(shí)身份對微信網(wǎng)頁授權(quán)后,才能進(jìn)行相應(yīng)的調(diào)試操作;其次,該平臺(tái)可以對頁面的JSSDK權(quán)限進(jìn)行校驗(yàn),還可以對大部分的SDK的輸出和輸入進(jìn)行很好的模擬;此外,該平臺(tái)還提供了一系列的組件和接口,開發(fā)快速;最后,該平臺(tái)還利用了集成的chrome dve tools以及基本的移動(dòng)調(diào)試模塊,從而更好地協(xié)助開發(fā)者的程序開發(fā)工作,幫助開發(fā)者安全又高效地開發(fā)和調(diào)試微信小程序。
該程序開發(fā)主要采用WXML(HTML5)、WXSS(CSS)和JavaScript技術(shù)。其中,WXML(WeiXin Markup Language)是框架設(shè)計(jì)的標(biāo)簽語言,以視圖(view)的方式串聯(lián)界面元素,結(jié)合基礎(chǔ)組件、事件系統(tǒng),實(shí)現(xiàn)頁面的交互;WXSS(Weixin Style Sheets)用于描述WXML的組件樣式,決定WXML的組件應(yīng)該怎么顯示,WXSS具有CSS大部分特性,同時(shí)為了更適合開發(fā)微信小程序,WXSS對CSS進(jìn)行了擴(kuò)充以及修改,與CSS相比,WXSS擴(kuò)展的特性有:尺寸單位、樣式導(dǎo)入;JavaScript用于處理小程序頁面的交互邏輯;WeUI,是一套基于樣式庫weui-wxss開發(fā)的小程序擴(kuò)展組件庫,同微信原生視覺體驗(yàn)一致的UI組件庫。
小程序后端采用微信官方提供的云開發(fā)平臺(tái)。小程序·云開發(fā)是微信團(tuán)隊(duì)聯(lián)合騰訊云推出的專業(yè)的小程序開發(fā)服務(wù),開發(fā)者可以使用云開發(fā)快速開發(fā)小程序、小游戲、公眾號(hào)網(wǎng)頁等,并且原生打通微信開發(fā)能力。開發(fā)者無須搭建服務(wù)器,可免鑒權(quán)直接使用平臺(tái)提供的API進(jìn)行業(yè)務(wù)開發(fā)。該程序應(yīng)用了云開發(fā)平臺(tái)的云數(shù)據(jù)庫,云函數(shù),云存儲(chǔ)等。云數(shù)據(jù)庫用于保存小程序中使用的相關(guān)數(shù)據(jù),包括訂票信息,表演信息及圖鑒信息;云函數(shù)用于處理小程序的后端業(yè)務(wù)邏輯;云端文件存儲(chǔ)用于保存小程序中用到的圖片等靜態(tài)資源;NodeJS用于管理云函數(shù)所需的第三方依賴。
小程序共分為“首頁”“圖鑒”和“我的”三個(gè)主要頁面如圖1所示。各個(gè)版塊邏輯清晰、信息明確、內(nèi)容豐富、界面友好、易于用戶瀏覽。
圖1 小程序?qū)崿F(xiàn)框圖
3.2.1 借助第三方軟件以數(shù)據(jù)指引出行
行程安排不合理、交通路線查不到等這些曾經(jīng)是困擾自由行游客的問題。為了滿足游客多元化的需求,該程序成功實(shí)現(xiàn)了用戶定位和導(dǎo)航功能。小程序中,用戶點(diǎn)擊位置與方向或者定位按鈕,隨即調(diào)用wx.getLocation()方法獲取用戶當(dāng)前地理位置的準(zhǔn)確坐標(biāo)以及速度,點(diǎn)擊右下角藍(lán)色按鈕,調(diào)用onGuideTap()函數(shù),選擇第三方軟件如高德地圖、百度地圖、騰訊地圖后通過調(diào)用wx.openLocation()方法打開地圖。這樣,用戶不僅可以方便地獲取當(dāng)前精確地理位置,而且可以通過互聯(lián)網(wǎng)第三方軟件進(jìn)行實(shí)時(shí)導(dǎo)航,躲避擁堵,以豐富在線數(shù)據(jù)指引出行路徑如圖2、圖3所示。
圖2 定位
圖3 導(dǎo)航
3.2.2 依托移動(dòng)手機(jī)端實(shí)現(xiàn)預(yù)約購票
隨著網(wǎng)絡(luò)信息的不斷發(fā)展,公眾線上消費(fèi)的熱度持續(xù)攀升。利用廣大用戶線上消費(fèi)的習(xí)慣,該程序成功實(shí)現(xiàn)了模擬預(yù)約訂票功能如圖4、圖5所示。用戶點(diǎn)擊預(yù)約購票,調(diào)用wx.cloud.callFunction()云函數(shù),這樣可以獲取用戶填入的姓名、年齡、電話等信息并上傳到云數(shù)據(jù)庫的ticket集合中,在“我的”頁面進(jìn)行預(yù)約結(jié)果查詢時(shí),直接查詢數(shù)據(jù)庫ticket集合中的信息。如果用戶預(yù)約成功,調(diào)用wx.showToast()方法,提示用戶“預(yù)定成功,等待付款!”,接著調(diào)用wx.navigateTo()跳轉(zhuǎn)到等待支付界面;若出現(xiàn)信息填寫錯(cuò)誤的情況,則調(diào)用wx.showToast()方法,提示用戶“預(yù)定失敗,請重新預(yù)定!”。用戶實(shí)現(xiàn)網(wǎng)上購票,對景區(qū)而言,實(shí)現(xiàn)了精準(zhǔn)化、智慧化監(jiān)管,可以減少景區(qū)的人力物力,提前預(yù)知未來幾天景區(qū)游客數(shù)量,合理控制人流量,同時(shí)有效避免線下購票人口聚集,給疫情防控帶來的隱患。對游客而言,節(jié)省排隊(duì)購票的時(shí)間,到達(dá)景區(qū)后,直接憑借電子購票憑證就可以進(jìn)入景區(qū)游覽。
圖4 預(yù)約購票
圖5 等待支付
該程序還成功實(shí)現(xiàn)了撥打電話的功能。通過調(diào)用wx.makePhoneCall()方法,用戶點(diǎn)擊首頁的電話按鈕,自動(dòng)跳轉(zhuǎn)到撥打電話的頁面,可撥打海底世界熱線電話,進(jìn)行詳細(xì)咨詢。
3.2.3 依托資源優(yōu)勢海量內(nèi)容展示多彩海洋
該程序?qū)崿F(xiàn)了對部分海洋生物的展示。通過調(diào)用getArticleData()函數(shù),獲取用戶點(diǎn)擊對象的相應(yīng)記錄,將記錄的每個(gè)字段結(jié)合book.wxss設(shè)置的樣式展示給用戶,這些記錄包括海洋生物的簡介,分布情況和保護(hù)現(xiàn)狀等,吸引廣大用戶親臨參觀豐富多彩的海底世界,了解海洋及海洋生物。
3.2.4 通過交流平臺(tái)分享愛洋護(hù)洋
該程序模擬設(shè)計(jì)“我的海底朋友圈”,為觀光海底世界的朋友提供分享和交流的平臺(tái),也為使用小程序但未參觀的朋友提供了解和瀏覽的渠道。用戶點(diǎn)擊朋友圈的圖片,進(jìn)行大圖查看時(shí),調(diào)用wx.previewImage()方法;用戶點(diǎn)贊評(píng)論時(shí),調(diào)用TouchDiscuss()函數(shù);用戶刪除朋友圈時(shí),調(diào)用delete()函數(shù),并通過wx.showToast()方法提示用戶“刪除成功”。
3.2.5 借助資料板塊增強(qiáng)護(hù)海常識(shí)
該程序首頁設(shè)置有志愿服務(wù)和保護(hù)海洋小知識(shí)版塊、志愿服務(wù)版塊,內(nèi)容豐富,展現(xiàn)部分優(yōu)秀海洋志愿者和志愿群體的服務(wù)情況,呼吁越來越多的人加入海洋保護(hù)大軍。海洋小知識(shí)版塊列舉了一些海洋保護(hù)的小常識(shí),比如作為一名游客,在游玩時(shí)應(yīng)注意的問題等,讓更多的人了解海洋保護(hù)措施及相關(guān)法律知識(shí)。
該程序總體上以藍(lán)色主要背景,配有豐富的實(shí)拍圖片和百科資料圖片,向用戶展現(xiàn)海洋文化。首頁是小程序的核心,是用戶進(jìn)入小程序的第一顯示界面,內(nèi)容最豐富,涵蓋了對海底世界的整體性介紹信息,滿足用戶對景區(qū)認(rèn)識(shí)的多樣化需求,讓用戶對海底世界有更深刻的印象。首頁功能模塊包括:景區(qū)簡介、位置與方向、表演與信息、參觀與購票、場館信息、志愿服務(wù)等如圖6所示,方便用戶充分地掌握青島海底世界的相關(guān)信息。用戶點(diǎn)擊進(jìn)入位置與方向板塊,小程序會(huì)自動(dòng)獲取用戶所在地的精確定位,通過互聯(lián)網(wǎng)地圖,方便用戶了解景區(qū)周邊進(jìn)行實(shí)時(shí)導(dǎo)航,這種小程序與移動(dòng)手機(jī)端的第三方軟件互聯(lián)的模式,為用戶的智慧出行提供了方便。表演與信息、志愿服務(wù)板塊中的內(nèi)容通過小程序云數(shù)據(jù)庫存儲(chǔ),海量數(shù)據(jù)展現(xiàn)生動(dòng)的海底風(fēng)貌以及現(xiàn)階段海洋保護(hù)志愿者的志愿服務(wù)情況。
圖6 首頁
圖鑒頁面展示部分海洋生物的信息,包括海洋生物的圖片,分布情況以及保護(hù)現(xiàn)狀。
在進(jìn)入“我的”頁面之前需要實(shí)現(xiàn)用戶微信授權(quán)登錄,獲取用戶的頭像、昵稱等基本信息。此頁面包含我的朋友圈和預(yù)約記錄如圖7所示,“我的”頁面的背景取自青島地標(biāo)——五月的風(fēng),向小程序用戶展現(xiàn)青島海邊文化及歷史風(fēng)貌,五月的風(fēng)是五四運(yùn)動(dòng)精神的地標(biāo)性建筑,既象征著民族力量生生不息,祖國各項(xiàng)事業(yè)蓬勃發(fā)展,又在時(shí)刻提醒著過往的人們不要忘記那段可歌可泣的歷史。在預(yù)約購票界面預(yù)約時(shí),調(diào)用了wx.cloud.callFunction()云函數(shù),成功獲取用戶填入的姓名、電話、預(yù)約時(shí)間、購票類型等信息并上傳到云數(shù)據(jù)庫的ticket集合中,在“我的”頁面進(jìn)行預(yù)約結(jié)果查詢時(shí),直接查詢數(shù)據(jù)庫對應(yīng)ticket集合中的信息,這樣,可以使用戶方便迅速地查找到自己的預(yù)約記錄。
圖7 我的
微信開發(fā)者工具安裝、授權(quán)測試使用的微信號(hào)可以預(yù)覽和調(diào)試小程序,經(jīng)測試,各個(gè)頁面跳轉(zhuǎn)正常。
兼容性測試包括操作系統(tǒng)測試、手機(jī)型號(hào)、屏幕大小測試等。操作系統(tǒng)主要是指Android操作系統(tǒng)和iOS系統(tǒng),小程序運(yùn)行在微信中,底層調(diào)用依賴于具體的操作系統(tǒng),所以有必要對不同的操作系統(tǒng)進(jìn)行測試。經(jīng)測試,小程序可以在Android和iOS上正常運(yùn)行,并覆蓋到最新的試用版和當(dāng)前流行的主要版本,該小程序能兼容各種手機(jī)型號(hào),適應(yīng)不同手機(jī)屏幕大小。
測試程序與微信功能及第三方軟件的交互正常,程序內(nèi)部頁面與頁面之間切換正常。在系統(tǒng)的穩(wěn)定性方面,主要是使用精簡和優(yōu)化的代碼來提高系統(tǒng)的運(yùn)行效率如圖8所示。
圖8 定位與導(dǎo)航wxml代碼實(shí)現(xiàn)
通過在不同網(wǎng)絡(luò)類型(2G/4G/5G/Wi-Fi/熱點(diǎn))和環(huán)境中切換,發(fā)現(xiàn)小程序在各種網(wǎng)絡(luò)狀況下的運(yùn)行情況都正常。在系統(tǒng)體驗(yàn)性方面,以系統(tǒng)穩(wěn)定為基礎(chǔ),采用系統(tǒng)tabBar圖標(biāo)和豐富多彩的景區(qū)圖片等使系統(tǒng)界面更友好、美觀,提高用戶的體驗(yàn)感。系統(tǒng)功能穩(wěn)定,符合預(yù)期。
海洋孕育了生命,聯(lián)通了世界,促進(jìn)了發(fā)展。海洋環(huán)境的保護(hù)不是一朝一夕的問題,需要一代又一代人共同守護(hù)。該應(yīng)用程序的應(yīng)用,有助于加快景區(qū)向數(shù)字化、網(wǎng)絡(luò)化、智能化轉(zhuǎn)型的步伐,為景區(qū)提供一個(gè)全新信息技術(shù)手段,推動(dòng)景區(qū)向良好業(yè)態(tài)發(fā)展,同時(shí),突破了傳統(tǒng)意義上地對海洋環(huán)境保護(hù)的宣傳形式,通過移動(dòng)手機(jī)端,用戶眾多的微信平臺(tái),呼吁更多的人參觀海底世界,了解海洋,提高海洋環(huán)境保護(hù)意識(shí),為推進(jìn)海洋可持續(xù)發(fā)展貢獻(xiàn)自己的一份力量。