王敏 王夢(mèng)霞
摘要:本文設(shè)計(jì)與開(kāi)發(fā)基于微信小程序的公“藝”APP,既能滿足了用戶隨時(shí)隨地參與公益活動(dòng)的要求,又在公益捐贈(zèng)方式上進(jìn)行了大膽的創(chuàng)新,使用戶可以用自己的個(gè)人才藝去捐贈(zèng)公益項(xiàng)目,突破了原有的線下捐贈(zèng)以及捐錢捐物的局限性。
關(guān)鍵詞:公益捐贈(zèng);微信小程序;個(gè)人才藝
1 引言
隨著人們生活水平的提高,對(duì)精神世界的追求也在不斷提高,對(duì)公益慈善文化也更加的關(guān)注,因此急需設(shè)計(jì)一款軟件讓用戶可以隨時(shí)隨地的參與公益活動(dòng),讓用戶可以以多種形式參與的公益活動(dòng)中,并不局限于傳統(tǒng)的線下捐錢捐物的捐贈(zèng)模式。用戶可以通過(guò)微信隨時(shí)隨地打開(kāi)小程序,了解實(shí)時(shí)的公益資訊,參與到公益慈善文化的環(huán)境之中,即可以通過(guò)捐錢的方式為公益活動(dòng)助力,又可以通過(guò)捐贈(zèng)個(gè)人才藝的方式參與其中,打賞獲得的所有錢也將同時(shí)捐贈(zèng)給該公益項(xiàng)目。
2 開(kāi)發(fā)環(huán)境
使用微信小程序的原生框架MINA框架完成小程序的搭建,該框架分為分為視圖層、邏輯層以及系統(tǒng)層三個(gè)部分,并且可以實(shí)現(xiàn)邏輯層和視圖層之間的數(shù)據(jù)同步化。微信小程序的前端界面的開(kāi)發(fā)語(yǔ)言是WXML和WXSS,分別用來(lái)構(gòu)建頁(yè)面結(jié)構(gòu)和控制頁(yè)面樣式,而邏輯層的核心技術(shù)使用的就是JavaScript套件,并且為用戶提供了大量的的API接口供用戶進(jìn)行調(diào)用。
3 系統(tǒng)框架
根據(jù)需求分析,確定公“藝”APP分為前臺(tái)用戶端和后臺(tái)管理員端。
前臺(tái)用戶端的功能包括微信授權(quán)登錄,瀏覽公益項(xiàng)目,發(fā)布公益項(xiàng)目,搜索公益項(xiàng)目,發(fā)布才藝捐贈(zèng),接入打賞功能,以及對(duì)才藝捐贈(zèng)進(jìn)行分享轉(zhuǎn)發(fā)、點(diǎn)贊收藏和發(fā)表評(píng)論等功能。
后臺(tái)管理員端的主要功能包括發(fā)布公益項(xiàng)目,對(duì)公益項(xiàng)目進(jìn)行完結(jié)和刪除,以及對(duì)用戶的才藝捐贈(zèng)以及用戶發(fā)布的公益項(xiàng)目進(jìn)行審核管理,對(duì)用戶進(jìn)行管理等功能。
4 系統(tǒng)實(shí)現(xiàn)
(1)前臺(tái)用戶端
1)用戶登錄
用戶登錄的方式采用微信授權(quán)登錄,無(wú)需注冊(cè)賬號(hào),用戶點(diǎn)擊頁(yè)面上的button組件觸發(fā)函數(shù)調(diào)用,獲取到用戶的openid識(shí)別用戶的身份,并將用戶的信息存儲(chǔ)到數(shù)據(jù)緩存中方便其他頁(yè)面的信息調(diào)用。
2)發(fā)布項(xiàng)目
用戶發(fā)布公益項(xiàng)目,點(diǎn)擊選擇拍攝或者從相冊(cè)選擇視頻或者音頻,點(diǎn)擊文本框輸入項(xiàng)目簡(jiǎn)介,并通過(guò)調(diào)用小程序接口wx.uploadFile來(lái)實(shí)現(xiàn)項(xiàng)目的上傳,同時(shí)數(shù)據(jù)傳送至管理員后臺(tái)進(jìn)行審核,審核通過(guò)之后,其他用戶便可以瀏覽到該公益項(xiàng)目,并為該項(xiàng)目進(jìn)行捐款或者是才藝捐贈(zèng)。
3)捐贈(zèng)才藝
用戶在具體的公益項(xiàng)目下面可以捐贈(zèng)個(gè)人才藝,才藝可以是圖片、視頻、音頻等形式,若上傳圖片形式,可以選擇拍攝圖片或者從相冊(cè)選擇圖片,通過(guò)調(diào)用wx.chooseImage()方法來(lái)實(shí)現(xiàn)以上功能;若上傳視頻形式,可以選擇拍攝視頻或者從相冊(cè)選擇視頻,通過(guò)調(diào)用wx.chooseMedia()方法來(lái)實(shí)現(xiàn)以上功能;若上傳音頻形式,通過(guò)RecorderManager錄音管理器進(jìn)行錄制,通過(guò)調(diào)用wx.getRecorderManager 來(lái)進(jìn)行音頻的錄制。
4)發(fā)表評(píng)論
用戶在瀏覽公益項(xiàng)目時(shí),可以發(fā)表自己的評(píng)論,程序會(huì)將獲取到的該用戶的openID,然后將信息打包通過(guò)postRequest發(fā)送到服務(wù)器當(dāng)中,然后將該評(píng)論存儲(chǔ)到相應(yīng)的數(shù)據(jù)庫(kù)當(dāng)中,與此同時(shí)用戶也可以將自己發(fā)布的留言進(jìn)行刪除。
5)分享轉(zhuǎn)發(fā)
用戶想要分享轉(zhuǎn)發(fā)公益項(xiàng)目到朋友、群或者是朋友圈,通過(guò)設(shè)置button組件的屬性為open-type="share",用戶點(diǎn)擊button組件,從而觸發(fā)Page.onShareAppMessage事件,實(shí)現(xiàn)對(duì)該公益項(xiàng)目的轉(zhuǎn)發(fā)分享。
6)點(diǎn)贊收藏
想要實(shí)現(xiàn)點(diǎn)贊的功能需要獲取到對(duì)應(yīng)的公益項(xiàng)目得ID,前端采用wx.setStorageSync緩存點(diǎn)贊項(xiàng)目的ID,并且實(shí)現(xiàn)數(shù)臺(tái)數(shù)據(jù)的同步更新。收藏功能的實(shí)現(xiàn)需要通過(guò)數(shù)據(jù)狀態(tài)的綁定,點(diǎn)擊button組件獲取數(shù)據(jù)緩存。
7)在線打賞
在小程序的客戶端js中獲取當(dāng)前用戶的openid,通過(guò)調(diào)用wx.login方法可以得到用戶的code,然后開(kāi)發(fā)者服務(wù)器使用登錄憑證 code 獲取 openid,獲取prepay_id和支付簽名驗(yàn)證paySign,通過(guò)wx.requestPayment方法來(lái)調(diào)起支付功能。
(2)后臺(tái)管理員端
后臺(tái)開(kāi)發(fā)使用的是包括Spring-Boot、SpringMvc 和 Mybatis等主要技術(shù)SSM框架,大大減少了代碼的冗余度,同時(shí)也很大程度上提高了系統(tǒng)的整體開(kāi)發(fā)效率。Spring-Boot 的控制層負(fù)責(zé)接收視圖層的請(qǐng)求,Service層實(shí)現(xiàn)類實(shí)現(xiàn)業(yè)務(wù)邏輯模型層管理;Mybatis數(shù)據(jù)庫(kù)交互引擎與 Dao 層聯(lián)系緊密,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查等功能,從而實(shí)現(xiàn)管理員對(duì)公益項(xiàng)目的發(fā)布、完結(jié)和刪除,對(duì)用戶的才藝捐贈(zèng)進(jìn)行審核管理以及用戶發(fā)布的公益項(xiàng)目進(jìn)行審核管理等功能。
小結(jié)
通過(guò)微信小程序平臺(tái)開(kāi)發(fā)出一款“用戶才藝捐贈(zèng)公益項(xiàng)目”的應(yīng)用程序 ,突破了傳統(tǒng)意義上的對(duì)公益項(xiàng)目的捐贈(zèng)形式,解決了那些沒(méi)有多余資金去捐贈(zèng)公益項(xiàng)目人的困擾,使他們能用力所能及的力量為公益項(xiàng)目做出貢獻(xiàn)。傳統(tǒng)的公益捐助平臺(tái)捐助方式都是金錢捐贈(zèng),讓很多沒(méi)有收益的老人、孩子、學(xué)生無(wú)力對(duì)公益項(xiàng)目進(jìn)行捐助,而公“藝”APP使得捐助公益項(xiàng)目不在局限于捐錢捐物這一單一途徑,用戶可以將自己所擅長(zhǎng)的才藝,可以是一首歌、一幅畫(huà)、一段鋼琴曲、一曲樂(lè)器吹奏來(lái)捐贈(zèng)公益項(xiàng)目,而其他用戶可以對(duì)他們喜愛(ài)的才藝捐贈(zèng)進(jìn)行打賞,打賞所獲得的所有資金將捐贈(zèng)給該公益項(xiàng)目,以這種形式讓全民都有機(jī)會(huì)參與到公益生活中,不斷促成人人公益的生態(tài)環(huán)境。
參考文獻(xiàn):
[1]舒嘉豪. 基于微信小程序的答題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué),2019.
[2]邱睿. 基于微信小程序的家校通系統(tǒng)開(kāi)發(fā)與實(shí)現(xiàn)[D].上海師范大學(xué),2019.
作者簡(jiǎn)介:
王敏(1999-),女,江蘇徐州,山東協(xié)和學(xué)院計(jì)算機(jī)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)2017級(jí)學(xué)生
通訊作者:
王夢(mèng)霞(1978-),女,山東莒南,指導(dǎo)教師,碩士,副教授
基金項(xiàng)目:山東省高等學(xué)校國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)計(jì)劃項(xiàng)目(項(xiàng)目編號(hào):S202013324010)
山東協(xié)和學(xué)院 ?山東 ?濟(jì)南 ?250109