張 濤,羅雅過(guò),魏武華,賀少炫
(西安文理學(xué)院,陜西 西安 710065)
近年來(lái),小程序飛速發(fā)展。 根據(jù)阿拉丁研究院發(fā)布的《2022 年小程序互聯(lián)網(wǎng)發(fā)展白皮書(shū)》數(shù)據(jù)統(tǒng)計(jì),截至2022 年年末,互聯(lián)網(wǎng)小程序數(shù)量已經(jīng)超過(guò)了780萬(wàn),其中微信小程序開(kāi)發(fā)者更是超過(guò)300 萬(wàn),小程序日活躍用戶數(shù)量(Daily Active Use,DAU)已經(jīng)超8億,人均每日使用次數(shù)超過(guò)12 次[1-2],而公眾更是養(yǎng)成了使用小程序的習(xí)慣。 本文針對(duì)互聯(lián)網(wǎng)傳播文物文化和滿足人民的精神物質(zhì)需求,以西安博物館為例,推出了掌上云端博物館(以下簡(jiǎn)稱“掌館”)小程序。 該小程序不僅可以讓用戶足不出戶就能探索歷史文物的價(jià)值與魅力,給游客帶來(lái)方便,還可以在疫情形勢(shì)緩解后減少旅游人流量大的壓力,給予博物院一種全新的宣傳渠道、參觀方式,使得這些文物發(fā)揮出應(yīng)有的價(jià)值。
微信小程序前端與后端的交互選擇Gin 框架,交互協(xié)議為HTTP,系統(tǒng)中需要保存大量的用戶數(shù)據(jù),且這些用戶數(shù)據(jù)是互相關(guān)聯(lián)的,所以采用JSON 數(shù)據(jù)庫(kù)以合適的方式將這些用戶數(shù)據(jù)組織起來(lái),并進(jìn)行存儲(chǔ)和查詢。 后端的數(shù)據(jù)庫(kù)通過(guò)Gorm 交互,便于開(kāi)發(fā)和后期維護(hù)。 此外,還有大量的靜態(tài)資源,例如3 D 資源、貼圖、圖標(biāo)等,可以通過(guò)Minio 對(duì)象存儲(chǔ)服務(wù)進(jìn)行存儲(chǔ)與獲取。 整個(gè)系統(tǒng)的架構(gòu)實(shí)際上還是Web 應(yīng)用,小程序通過(guò)微信小程序API 發(fā)送HTTP 請(qǐng)求,與后端交互,進(jìn)行操作或者獲取相應(yīng)的資源。 整個(gè)微信小程序的系統(tǒng)結(jié)構(gòu)如圖1 所示。

圖1 系統(tǒng)整體框架
此小程序系統(tǒng)總體的開(kāi)發(fā)流程為:用戶操作微信小程序顯示的組件觸發(fā)綁定的相應(yīng)函數(shù),小程序根據(jù)函數(shù)的邏輯進(jìn)行頁(yè)面之間的跳轉(zhuǎn),或調(diào)用相對(duì)應(yīng)的微信API 發(fā)送網(wǎng)絡(luò)請(qǐng)求到后端服務(wù)器相應(yīng)的路由,后端服務(wù)器監(jiān)聽(tīng)并接收請(qǐng)求,觸發(fā)Handler 函數(shù),并從網(wǎng)絡(luò)請(qǐng)求解析出前端發(fā)來(lái)的命令數(shù)據(jù),后端服務(wù)器的業(yè)務(wù)邏輯函數(shù)根據(jù)不同命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢或修改操作,然后將數(shù)據(jù)庫(kù)返回的結(jié)果序列化成JSON 并打包到響應(yīng),返回給前端小程序。 小程序接收到響應(yīng)后,依據(jù)響應(yīng)的數(shù)據(jù)驅(qū)動(dòng)微信小程序視圖層進(jìn)行頁(yè)面渲染。 通過(guò)以上流程,界面即可顯示用戶所需信息[3]。
小程序依靠微信平臺(tái),使用微信提供的標(biāo)準(zhǔn)組件,主要負(fù)責(zé)前端界面的顯示以及程序與用戶之間的交互。 在頁(yè)面顯示的設(shè)計(jì)上,為了實(shí)現(xiàn)快速開(kāi)發(fā),并保持界面的風(fēng)格統(tǒng)一,本項(xiàng)目在WeUI 樣式庫(kù)、iView組件庫(kù)以及EChart 圖表庫(kù)的基礎(chǔ)上進(jìn)行前端頁(yè)面的開(kāi)發(fā)[4]。
服務(wù)器在接收到前端微信小程序發(fā)送的業(yè)務(wù)請(qǐng)求后,經(jīng)過(guò)Gin 框架自動(dòng)識(shí)別網(wǎng)絡(luò)請(qǐng)求的頭尾數(shù)據(jù)包,解析出請(qǐng)求的詳細(xì)參數(shù),依據(jù)對(duì)應(yīng)業(yè)務(wù)的具體邏輯向數(shù)據(jù)庫(kù)發(fā)出查詢或修改命令,并對(duì)數(shù)據(jù)庫(kù)中的關(guān)聯(lián)表進(jìn)行查詢、添加或更新操作。 之后將數(shù)據(jù)庫(kù)返回的數(shù)據(jù),重新打包為JSON 格式,通過(guò)Gin 框架再次處理,添加網(wǎng)絡(luò)傳輸相應(yīng)的頭尾數(shù)據(jù)包,發(fā)回前端小程序。
微信小程序帶給用戶很多便捷性。 第一,與App相比,微信小程序下載和安裝的步驟省略,在使用時(shí)頁(yè)面簡(jiǎn)潔,使用后可關(guān)閉,提升了用戶體驗(yàn)感。 第二,開(kāi)發(fā)小程序比傳統(tǒng)的微信應(yīng)用程序和平臺(tái)更加簡(jiǎn)易,成本效益也更高,節(jié)省了人力和財(cái)力資源。 第三,小程序不需要在手機(jī)上下載安裝包,且不占用手機(jī)的內(nèi)存空間。 第四,互聯(lián)網(wǎng)的應(yīng)用目前包括教育、旅游、交通、媒體等諸多方面,未來(lái)將為大多數(shù)用戶開(kāi)發(fā)越來(lái)越豐富的應(yīng)用程序。 第五,小程序的通信協(xié)議采用HTTPS 協(xié)議,這提高了用戶的使用安全性[5]。
從跳一跳小游戲、拼多多購(gòu)物再到線下消費(fèi),小程序已經(jīng)完全融入人們的日常生活。 本文也是以微信小程序?yàn)檩d體,設(shè)計(jì)與開(kāi)發(fā)了線上云端博物館,針對(duì)西安博物館,通過(guò)掌館小程序使用VR 技術(shù)實(shí)現(xiàn)線上身臨其境的感受,用3D 技術(shù)更細(xì)致地觀摩文物,語(yǔ)音播放能更輕松地了解文物歷史文化,技術(shù)成熟的同時(shí)也能幫助更多人了解文物。
管理員通過(guò)登錄掌館后臺(tái)管理的賬號(hào),直接對(duì)系統(tǒng)進(jìn)行管理,并且對(duì)系統(tǒng)內(nèi)的一系列數(shù)據(jù)進(jìn)行操作,便于對(duì)展品的更新和維護(hù)。 具體如圖2 所示。

圖2 管理員
用戶通過(guò)登錄掌館賬戶,進(jìn)行系統(tǒng)的使用,可以對(duì)基本信息進(jìn)行修改與更新。 具體如圖3 所示。

圖3 用戶
掌管小程序的系統(tǒng)功能模塊主要由管理員與用戶組成,管理員可以進(jìn)行用戶管理、展品信息管理、訂單信息管理以及博物館管理。 用戶可以進(jìn)行登錄管理、信息管理、訂單管理以及相關(guān)博物館信息管理。具體信息如圖4 所示的系統(tǒng)功能模塊。

圖4 系統(tǒng)功能模塊
3.1.1 主界面功能
打開(kāi)掌館小程序,首先進(jìn)入“首頁(yè)”界面,該頁(yè)面底部有“首頁(yè)”“發(fā)現(xiàn)”“我的”3 個(gè)主題。 頂部是一個(gè)登錄/注冊(cè)功能需求,用戶點(diǎn)擊頭像或者文字按鈕即可進(jìn)行登錄,在彈出的窗口完成登錄后,再次點(diǎn)擊頭像或者用戶名即可對(duì)用戶資料進(jìn)行編輯。 底下還可以顯示賬戶余額和會(huì)員剩余天數(shù)。
3.1.2 發(fā)現(xiàn)功能
在發(fā)現(xiàn)頁(yè)中,有“看文物”“游展館”“去茶樓”3個(gè)按鈕可以點(diǎn)擊,每個(gè)按鈕分別有著不同的功能。“發(fā)現(xiàn)”頁(yè)中有每日推薦內(nèi)容,點(diǎn)擊對(duì)應(yīng)的圖標(biāo)可進(jìn)入功能頁(yè)。 在“看文物”頁(yè)面中,用戶可瀏覽系統(tǒng)推送的文物縮略圖以及文物名,也可根據(jù)喜好進(jìn)行瀏覽,同時(shí)支持搜索文物或分類(lèi)搜索只支持3D 預(yù)覽的文物。 點(diǎn)擊對(duì)應(yīng)的文物后可進(jìn)入詳情頁(yè),瀏覽文物的詳細(xì)信息。 向上拖動(dòng)可以看到完整的文物介紹,包括文物名、文物形狀描述、文物背景等,左右滑動(dòng)可以預(yù)覽更多圖片。 點(diǎn)擊右邊的3D 按鈕即可進(jìn)入3D 預(yù)覽,用戶可以選擇單次購(gòu)買(mǎi)以解鎖此文物的3D 預(yù)覽權(quán)限;或者通過(guò)訂閱會(huì)員且在訂閱期內(nèi)解鎖所有文物的3D 預(yù)覽權(quán)限,在3D 預(yù)覽頁(yè)面,可以拖動(dòng)、放大更改角度以觀察更多的細(xì)節(jié)[6-7]。
數(shù)據(jù)庫(kù)里主要有用戶表、管理員表、展品表、訂單表等多張數(shù)據(jù)庫(kù)表,這里重點(diǎn)介紹管理員表和展品表。
3.2.1 管理員表
管理員表用于保存用戶對(duì)小程序平臺(tái)操作的信息,其中包括登錄賬號(hào)、登錄密碼、訂單管理、展品管理、博物館管理等。
3.2.2 展品表
展品表把小程序平臺(tái)的展品信息保存起來(lái),展品的名稱是主鍵,并分別列出了展品的編號(hào)、分類(lèi)、圖片以及名稱。

表2 展品
在掌館小程序中,用戶可以進(jìn)入程序進(jìn)行登錄注冊(cè),可使用微信用戶信息授權(quán)“一鍵登錄”。 登錄后可以對(duì)個(gè)人信息進(jìn)行修改與更新;還可以在“發(fā)現(xiàn)”頁(yè)面“看文物”“游展館”以及“去茶樓”;在線瀏覽、觀看西安博物館的館藏文物;通過(guò)3 D 技術(shù),全方位、立體地觀看歷史文物;通過(guò)短視頻、語(yǔ)音介紹了解更多的文物歷史和價(jià)值,從而增強(qiáng)文物保護(hù)意識(shí)。
當(dāng)下科技快速進(jìn)步,互聯(lián)網(wǎng)技術(shù)的應(yīng)用也越發(fā)廣泛和深入,博物館同樣應(yīng)該趁著“互聯(lián)網(wǎng)+”這波潮流,突破傳統(tǒng)服務(wù)和實(shí)體空間的局限,進(jìn)行大刀闊斧的線上化變革,結(jié)合最新的展示技術(shù)推動(dòng)歷史文化傳播,開(kāi)創(chuàng)全新的局面,重新定義博物館的內(nèi)部管理和功能服務(wù),滿足觀眾多樣化、趣味性、沉浸式、交互式、全場(chǎng)景的參觀體驗(yàn)需求。 本文主要介紹了掌管小程序的技術(shù)架構(gòu)、主要系統(tǒng)功能結(jié)構(gòu)、數(shù)據(jù)庫(kù)等關(guān)鍵技術(shù)。 掌館小程序的開(kāi)發(fā)滿足了當(dāng)代人的快餐式生活方式,豐富了人們的生活,增加了人們對(duì)歷史文物的了解,增強(qiáng)了人們的文物保護(hù)意識(shí),起到了對(duì)文物的宣傳作用。