基于微信小程序的客家文化小展堂
Hakka Culture Exhibition Hall Based on Weixin Mini Programs
DOI: 10.12677/SEA.2020.95043, PDF, HTML, XML, 下载: 877  浏览: 1,694 
作者: 管希东, 张守信:江西理工大学,江西 赣州
关键词: 客家文化微信小程序平台开发Hakka Culture Weixin Mini Programs Platform Development
摘要: 赣南客家地区的“非遗”文化素有“种类丰富、底蕴深厚”之称,在文化多元化、多媒体数字化的今天,不少非遗文化因:1. 保护和传承意识淡薄,民众参与积极性不高;2. 传播方式以博物馆展览、传统节日庆典等方式使得受众群体十分小众化,导致出现青黄不接,难以为继的尴尬局面。而地方“非遗”文化是地方宣传的一张名片,更是地方经济发展源源不断的动力输出。故为了更好的保护、传承和推广赣南客家文化,本文设计实现了一个客家文化小展堂的微信小程序,该平台以文字、视频、答题等多种方式展示了不同的赣南客家非遗文化,包括客家美食、传统技艺等,让人们轻松了解非遗相关知识,增加对非遗的热爱,同时提供景点推荐模块,为赣南文化旅游产业提供良好传播推广。该平台依托于微信的广大用户群体,扩大了赣南非遗项目的关注群体,同时拓展了非遗文化的宣传途径,让更多的人们认识和了解赣南客家文化。
Abstract: The intangible cultural heritage in Gannan Hakka area is “varieties and profound in details”. In today’s diversified culture and multi-media digitization, many intangible cultural heritage are faced with an embarrassing situation of unsustainability and temporary shortage due to the following reasons: 1. The consciousness of protection and inheritance is weak, and the enthusiasm of the public to participate is not high; 2. The audience groups are very small in the way of museum exhibition and traditional festivals and celebrations. The local intangible cultural heritage is not only a business card of local propaganda, but also a continuous power output of local economic development. Therefore, in order to better protect, inherit and promote Gannan Hakka culture, this paper designs and implements a Weixin Mini Program of Hakka culture exhibition hall. The platform displays different Hakka intangible cultural heritage culture in Gannan by text, video, answering questions and other ways, including Hakka cuisine, traditional skills and so on, so that people can easily understand the relevant knowledge of intangible cultural heritage, increase their love for intangible cultural heritage, and provide scenery point recommendation module to provide good communication and promotion for Gannan cultural tourism industry. Relying on the vast user groups of wechat, the platform expands the concerned groups of Gannan intangible cultural heritage, and expands the publicity channels of intangible cultural heritage culture, so that more people can know and understand Gannan Hakka culture.
文章引用:管希东, 张守信. 基于微信小程序的客家文化小展堂[J]. 软件工程与应用, 2020, 9(5): 381-388. https://doi.org/10.12677/SEA.2020.95043

1. 引言

“非遗”文化作为人类社会文化资源的重要组成部分,是各族人民在历史发展的长河中所形成的技艺与智慧的集中体现。赣南客家地区的“非遗”文化素有“种类丰富、底蕴深厚”之称,其中有国家级“非遗”代表性项目10项,省级“非遗”代表性项目96项,市级“非遗”代表性项目165项。涵盖了民间美术、民间表演、传统游艺、传统技艺、传统医药和民间文学等方面 [1]。不过可惜的是,不少客家文化因为:1. 保护和传承意识淡薄,民众参与积极性不高,传承人高龄化和从艺人较少;2. 当前传播方式主要为送文化下乡、传统节日庆典、传统手工传承和博物馆静态展览为主,导致受众较小;3. 缺少资金等原因导致面临青黄不接、难以为继的尴尬局面,部分文化遗产甚至面临濒危情况 [2]。在文化自信的今天,人们已经充分认识到拯救传统艺术的紧迫性和使命感,故如何更好地宣传推广和保护并传承赣南人民宝贵的精神财富,借振兴发展之机,推动文化大发展大繁荣、提升文化软实力,成了亟需解决的问题。

随着多媒体数字化,为了更好地宣传推广,客家文化需要在新媒体环境下实现传播形式的创新。当前微信小程序因无需下载、用完即走的特点,吸引了大量用户,微信小程序数量已超过320万,日活超4.1亿,人均单日使用次数为8.5次/日 [3],这些数据很好地证明了人们对于小程序的接受度,故基于微信小程序设计实现一个客家文化小展堂平台能触摸到广大的用户群体,扩大了赣南非遗文化的关注群体,利用小程序分享特性,使相关内容变成裂变式扩散,激活了二次传播,扩展了非遗文化的宣传途径。该平台建立一个“文字 + 视频 + 答题 + 景点推荐”的多维度宣传推广体系,让人们轻松了解非遗相关知识,增加了对非遗的热爱,从而参与到非遗的保护工作中。

2. 需求分析

客家文化小展堂主要为解决客家文化信息相对零散、资料存储较少且形式单一、宣传推广方式导致受众小、以口口相传为主的传承方式造成学习传承难、无沟通交流平台等问题,采用新媒体方式——微信小程序对客家文化进行宣传推广,提高大众的兴趣和参与度。本文采用调查法、信息研究法等方式确定了如下功能性需求:

(1) 客家文化描述介绍:该模块以文字加图片的静态形式描述客家文化,特别是非遗项目,并提供收藏、分享到微信、点赞等交互功能,同时因为客家非遗项目较多,可通过根据非遗关键字搜索功能查找对应非遗文化。

(2) 每日问答:为了提高大众对客家文化的了解和参与度,设计了每日问答模块,该模块每日提供一定数量的单选题供大家选择,同时记录用户的答题情况,根据不同的积分等级展示不同的称号,增加用户的满足感。

(3) 客家美食:客家文化有很多是与美食相关,这也是大众非常感兴趣的一部分。该模块提供“精美图集 + 文字说明 + 视频教程 + 评论交流”立体化全覆盖的推广方式,让大家从美食入手,更加深入的了解客家文化。

(4) 景点推荐:文旅产业是赣南十分重要且有特色的地方,也是一种很好的文化输出的方式。该模块提供“精美图集 + 位置导航 + 文字说明 + 评论交流”推广方式,让游客更好的了解景点信息,包括开放时间、相关历史等。

非功能性需求包括:

(1) 可用性:系统提供友好的界面,人性化的交互方式,保证基本功能的正常使用。

(2) 兼容性:本平台采用微信小程序方式,应保证在安卓和IOS两个平台均能正常使用全部功能,呈现的界面效果也基本相同。

(3) 可维护性:对于本平台的各个功能模块数据,可方便的完成数据的增加、删除、修改和查询等后期维护功能。

3. 系统设计

3.1. 系统整体架构

本平台采用Serverless模式,借助于小程序的云开发能力实现,云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的API进行核心业务开发,即可实现快速上线和迭代。本平台主要提供客家文化介绍、每日问答、客家美食推荐、景点介绍4个模块,这4个模块以图文并茂形式介绍了部分客家文化,扩大了受众群体,提高了大众的兴趣与参与度,为客家文化推广宣传发挥积极作用。本平台总体功能设计见图1所示。

3.2. 数据采集与数据库设计

3.2.1. 客家文化数据采集与处理

本平台数据的采集是通过利用Python的爬虫技术爬取相关网站得到客家文化数据并进行清洗处理后保存到云数据库中。其过程为:采用Python中requests和scrapy类库对“江西省赣州民俗文化介绍网 [4] ”发起http请求,如果返回数据则利用xpath和bs4工具对返回的网页数据进行解析筛选,通过分析网页结构,选取网页中的img标签和带有id属性为tcjs的div标签,过滤得到图片和文章内容。因爬取的网页数据大都存在一定的无用数据列和空数据列,存在相同数据和错误数据等问题,故对于解析筛选后的数据需清洗和处理后方可使用。具体处理方式为:利用Pandas类库中的dropna()函数清洗所有含有NA字符的数据,使用Pandas中的drop(axis=1. how='any')来删除任何包含空值的数据。清洗处理后的数据使用Pandas库中的DataFrame()函数转存为csv格式,即线下查看,同时可直接上传导入到小程序的云数据库中。

Figure 1. Overall architecture design

图1. 总体结构设计图

3.2.2. 数据库设计

本平台采用Serverless模式,数据库采用小程序提供的云数据库,小程序云数据库使用的MongoDB数据库,MongoDB是一个轻量级的非关系型数据库,MongoDB采用文档结构的存储方式,通过一系列的Key-Value键值对来表示数据,开发以及获取数据更加便捷;支持全文索引、复合索引、单间索引、地理空间索引,查询数据更加高效。上述特点使得MongoDB能良好的支持本平台的功能需求和开发。本系统采用了7张数据表,分别为:用户表(用户_openid、用户积分、用户昵称)、收藏信息表(用户_openid、收藏类别、收藏id)、评价信息表(用户_openid、评价内容、评分、评价用户名)、客家文化信息表(文章_id、文化主要内容、热度、图片、说明、发表时间、标题)、答题题目表(题目_id、答题选项、题目解析、问题描述、正确答案)、美食表(美食_id、用户评论、美食简介、美食历史、热度、美食图片、评分、美食特点、标题、美食做法视频地址)、景点表(景点_id、景点地址、景点评论、景点图片、景点描述、景点开放时间、景点评分、景点票价、景点标题)。

4. 关键技术与功能实现

4.1. 用户数据管理

本平台提供的答题、评论、收藏等功能均要求用户登录,并以用户为单位管理维护这些数据,包括答题积分、美食和景点评论数据、客家文化详情和景点等收藏数据,可见用户数据的管理对于系统的可用性和可靠性甚至性能均影响较大。当用户点击个人中心页的登录按钮时,通过小程序提供的getUserInfo()能力获取用户的基本信息,并以用户的openId查找匹配云数据库中的用户表,如果找到则返回个人用户信息,包括用户昵称、答题积分等数据,如果没有找到则会自动将该用户的信息存入数据库中,便于下次用户的登录。在用户登陆之后,将用户的openId等数据保持到Storage中,当用户进入到评论区或是我的收藏时,不再查询用户表获取用户信息,而是直接以之前保存的openId查询云数据库中的收藏表和评价信息表获取相应信息,避免重复向云数据库请求个人信息数据。

4.2. 获取用户位置及导航功能

为帮助用户查看景点过程中了解景点的位置和导航信息,本平台在景点详情页提供了查看景点位置功能,并在位置Tab页提供导航功能。将爬取到的景点数据以键值对的形式组织各个景点的相关信息并保存到json文件,再将此文件引入到本平台中。当用户点击位置Tab页时,位置页中的map组件通过markers属性读取赣南地区的景点位置信息并渲染标记在前端页面中。当用户点击某一景点时,将该景点的id传至景点详情页中,详情页在onLoad()函数中查询景点信息表获取该id所对应景点的详细信息,包括有名称、简介、地址等相关信息,而后展示该景点详情信息。用户点击详情页中的查看地图按钮后,调用Map组件展示并标记该景点位置,在获得用户位置授权后,调用getLocation()函数获取用户的当前位置,并在平台引入腾讯位置服务的qqmap-wx-jssdk.js文件后,通过调用该文件中的geocoder()函数实现路线规划。

4.3. 赣南文化模块

用户在首页选择赣南文化功能导航进入赣南文化列表页,在Page的onload函数中调用db.collection (“culture”)获取文化信息表引用,为了避免单次请求的数据量太大,调用该引用对象的skip()和limit()两个函数拉取特定范围的数据,当用户上拉触底时,在onReachBottom()函数中设置目标范围作为skip()和limit()的参数来拉取数据,实现数据翻页功能。鉴于赣南非遗文化条目众多,为了方便用户查找特定文化项,列表页提供了搜索功能。用户在搜索框中输入想要搜索的非遗名称,点击搜索按钮后逻辑层调用自定义的onClick()函数,该函数获取用户输入的内容,并传入查询函数where()比对文化信息表的标题字段,并返回查找结果。点击列表页的单个列表项,逻辑层调用gotoDetail()函数携带该项id跳转到文化详情页,详情页在onload()函数中获取传递的文化项id,并根据该id查询数据库获取文章的完整数据,通过数据动态绑定渲染到页面中。详情页还提供了收藏、点赞和分享功能,当用户对该非遗文化比较感兴趣时,可点击收藏按钮,此时逻辑层会调用onCollection()函数判断用户是否登录,如果尚未登录则提示并跳转到个人页引导用户登录,登录成功则根据用户open_id、非遗id、culture类别查询收藏信息表,如果尚未收藏则调用add()函数将当前登录用户id、当前收藏的非遗id、culture类别插入收藏表,否则调用remove()函数删除该条记录。用户通过点击点赞按钮完成对该非遗项目点赞,逻辑层调用update()函数更新客家文化信息表中该非遗文化的热度字段。用户点击分享按钮可分享给微信好友,逻辑层调用onShareAppMessage()函数返回该非遗文化标题、图片、分享路径为当前详情页信息,其他用户点击该分享信息可直接跳转到该非遗文化详情页。

4.4. 答题积分模块

用户在点击首页选择答题功能导航时,调用toQuestion()函数判断用户是否登录,如果没有,则提示用户登录并跳转到个人页引导用户登录。登录成功后进入到每日答题页,在Page的onload()函数中调用db.collection('questions')获取答题表引用,调用该引用的aggregate().sample()函数随机的获取5条记录作为本次答题内容。用户每次进入答题模块时,所获取到的题目内容是随机的,当前答题表主要包括文化历史常识题、景点图片识别题、美食做法题这三类单选题。通过上一题、下一题功能按钮实现题目的跳转,当用户选择答案后,逻辑层调用函数radioChange()先获取到用户当前题目的答题结果,再与已获取到的答题表信息中的right_answer字段进行比对,核对正确与否,回答错误时通过调用wx.vibrateLong()函数震动提醒,并展示正确答案和答案解析。当用户完成第5题答题时,提示用户是否提交答题,用户确定后检测是否有未完成的题目,有则提醒,没有则统计用户本次答题积分,并更新用户表中的积分字段。

4.5. 客家美食模块

用户在主页选择客家美食功能导航进入,在Page中的onload()函数来调用db.collection('foods')获取美食表引用,并使用vant-weapp [5] 的van-cell和van-tag组件展示各个美食的图片、名称、评分和热度信息。用户点击感兴趣的美食跳转到美食详情页查看该美食的详情信息。美食详情页的前端部分使用css来设定两个view标签的样式,让其每一个view的宽度占满屏幕,从而达到两个view以上下排列的卡片形式来向用户展示内容。上半部分通过van-cell和van-tag组件向用户展示美食的图片、热度、名称和评分内容,下半部分通过van-tabs组件来设定三个tab标签页,以van-tab保存每个tab中的内容:分为有详情、做法和评论。详情tab中包括我要收藏功能按钮和采用van-collapse折叠面板展示的美食简介、文化历史和美食特点,做法tab中通过video组件播放该美食烹饪教学视频,让用户学习该美食做法,评论tab中包括发表评论部分和展示该美食当前已经存在的评论数据列表,如用户想对该美食进行评价,只需输入评论信息并点击发表评论按钮即可,逻辑层会调用getInput()函数获取用户的评论内容,然后调用pubComment()函数将用户的id、发表评论的时间以及评论的内容通过update()函数更新foods表中该美食的comment字段,从而实现提交评论功能。

5. 系统实现

本平台采用了开源微信小程序组件库vant-weapp用于界面设计和实现,其中分为3个Tab页,分别为首页、位置和个人。首页作为进入该小程序第一个展示的页面,承担了吸引和留存用户的作用,有着精彩内容。首页分为4个部分,分别是通知栏、幻灯片式的精美图集、4个功能模块导航入口和以列表形式展示的客家文化,界面如图2所示。赣南文化功能模块采用列表形式展示部分已收集的客家非遗文

Figure 2. The home page

图2. 主页图

化,同时允许根据关键字搜索相应的非遗项目,点击列表进入详情页,该详情页除了图文并茂展示该非遗文化,还允许收藏、分享至微信和点赞。每日问答功能需要登录后方可正常使用,如果没有登入则引导至个人Tab页进行登录,然后进行单选答题,界面如图3所示。客家美食模块采用卡片式列表方式展示各个美食,卡片信息包括美食图片、名称、热度和推荐度。美食详情页如图4所示,下半部分采用Tab形式展示美食的详情、做法和当前对该道美食的评价,其中详情部分采用手风琴式的折叠面板分别描述美食简介、历史渊源和美食特点,做法部分则是该道美食的教学视频。景点推荐模块以图5形式展示各个景点,景点详情页有该景点的精美图集、推荐指数、景点所在位置、开放时间和历史说明,最后也允许用户对该景点评论和查看其它用户的评论。

Figure 3. Daily quiz

图3. 每日问答图

Figure 4. Gourmet food design

图4. 美食效果图

Figure 5. Tourism design

图5. 旅游效果图

6. 小结

本平台利用新媒体微信小程序的广大用户群体优势,以互联网 + 传统文化方式为赣南客家文化打造了一个“文字 + 视频 + 答题”立体化的推广体系。采用图文并茂形式展示常见的客家文化,同时提供分享到微信、收藏等方式增加用户的互动。以美食和景点入手,抓住人们的兴趣点,提高群众对客家文化的了解、认同度。同时通过每日答题方式,增加大家对客家文化知识的了解。该平台为喜欢客家文化的人们提供了一个交流平台,增加了大众之间的联系。本平台扩大了非遗文化的关注群体,拓展了非遗文化的宣传途径和方式,为客家文化的宣传推广发挥了积极的作用。

参考文献

[1] 王犹建. 赣南客家“非遗”文化的特征与传播方式探析[J]. 美与时代: 创意(上), 2018(3): 41-43.
[2] 温建宁. 赣南客家非物质文化遗产遗存现状评估与保护研究[J]. 赣南师范大学学报. 2020, 41(1): 41-47.
[3] 阿拉丁研究院. 2020年上半年小程序互联网发展白皮书[EB/OL]. http://www.aldzs.com/viewpointarticle?id=11527, 2020-07-15.
[4] 博雅特产网. 赣州民俗文化[ EB/OL]. http://shop.bytravel.cn/produce/ms/index415_list.html, 2020-06-15.
[5] 有赞前端团队. VantWeapp [ EB/OL]. https://github.com/youzan/vant-weapp, 2020-08-10.