摘要:随着信息技术的不断发展,高校招生工作全面进入信息化、智能化时代,但新媒体技术的革新也伴随着诸多挑战。近年来,为创新招生服务、拓展宣传渠道,高校招生微信小程序应运而生,因其无须下载、使用便捷、功能多样等特点,呈现井喷式增长趋势。然而,在开发招生微信小程序的过程中,存在后端服务器平台搭建成本高、数据利用率低、系统维护困难等问题。文章利用微信云开发技术的特点和优势,采用Serverless架构,设计并实现了一种基于微信云开发的高校招生服务小程序,以促进高校招生信息化建设。
关键词:微信小程序开发;云开发技术;高校招生;Serverless架构
中图分类号:TP311文献标识码:A
文章编号:1009-3044(2024)34-0033-04开放科学(资源服务)标识码(OSID):
0引言
自2002年起,高校招生工作全面实现网上录取,招生工作逐渐进入信息化和智能化时代,获取招生信息的途径逐渐增多,传统的招生宣传工作方式,如纸质招生简章、纸质媒体广告等已无法满足考生的需求。微信小程序作为一种新型应用形态,较传统应用软件具有易用性、高效性、生态完整性等特点。因其能为用户提供更加方便快捷的服务,被逐渐推广并使用。该研究旨在设计与开发一种基于微信云开发的高校招生服务小程序,可极大降低微信小程序后端服务器的开发难度、提高开发效率[1],还可节约开发成本与维护成本,为考生提供更优质的招生服务。
1现状分析与问题提出
微信小程序自推出以来,依托大量微信用户资源,衍生出各类功能场景,迅速引起了社会各界的关注。越来越多的高校也紧跟时代潮流,上线了专属招生微信小程序。此举有效整合了高校招生服务资源,大幅提高了高校招生服务工作的质量和效率。通过小程序的统一入口,方便考生快速掌握学校基本情况、专业设置、招生数据等权威信息,并能通过在线咨询等方式实现个性化咨询服务,为考生报考提供专业参考意见。
在微信小程序开发过程中,为实现后台数据加载和交互功能,开发者须使用Node.js、PHP、Java等后端语言,完成服务器搭建、接口设计和数据库管理等工作。就高校招生服务小程序功能而言,用户对服务器后端数据交互需求并不多[2]。针对该情况,现阶段招生微信小程序开发存在以下问题:
1)若进行专门的服务器端开发,会大大增加技术成本和资金成本;
2)若完全使用本地数据存储,放弃服务器端开发,会大幅增加小程序所占内存,导致无法完成版本上传和在线发布;
3)无可视化后台管理系统会导致数据更新过程烦琐,增加系统维护人员的工作量。
微信云开发提供了一种折中的技术方式,能有效解决以上问题。微信云开发技术为开发者提供了云数据库、云存储和云函数等多种功能[3],使其可以轻松实现云服务器配置和数据处理等环节,完成后端逻辑和技术支持,将开发流程重心移到前端界面的设计和交互,大大提高开发效率、节约维护成本。该研究通过一个真实的基于微信云开发的招生服务小程序的设计及实现,为高校开发招生小程序提供一些思路及技术实现方法。
2系统设计
2.1需求分析
基于对高校招生工作现状和考生需求的调研,招生服务小程序整体设计应当简洁明了,减少复杂的登录设置操作。基本需求应包括学校基本信息查询、历年分数查询、招生计划查询、专业信息查询、招生资讯查询和考生在线咨询等。
2.2架构设计
该系统根据微信小程序开发及微信云开发技术特点,采用B/S(Browser/Server,浏览器/服务器)结构与C/S(Client/Server,客户端/服务器)结构混合架构开发,系统整体架构模型主要分为3层:数据层、业务逻辑层和表述层,如图1所示。数据层主要用于建立与招生小程序对应的数据库,包括高校基本信息数据库、历年分数数据库、招生计划数据库、专业信息数据库和招生资讯数据库等。数据库的存储包括云开发网络数据库与本地客户端数据库;业务逻辑层主要负责对数据的读取加工处理,并对发出的网络请求作出回应,是开发模型中的核心部分;表述层主要是对业务逻辑层产生的结果在微信客户端进行展示。
2.3功能模块设计
根据不同用户角色的功能需求及云开发服务特点,可将用户划分为考生用户(包括家长和社会人士)和管理员用户。考生用户主要使用小程序端提供的功能,管理员用户则通过云开发平台端管理系统对系统数据进行管理。
2.3.1招生服务小程序
招生服务小程序直接服务于考生用户,功能结构如图2所示。具体功能模块设计如下:
1)高校信息查询。该模块为考生用户提供高校基本办学情况、历年招生章程和宣传视频等信息,为志愿报考提供重要参考。
2)历年分数查询。该模块为考生用户提供高校历年招生分数线情况,用户可通过条件框筛选信息,查询高校在具体省份、年份、科类、专业等的投档分数线情况。
3)招生计划查询。该模块为考生用户提供高校各类专业招生计划情况,用户可根据自身需求,筛选年份、招生省份、批次、科类等信息,查询具体专业招生计划。
4)专业信息查询。该模块为考生用户提供学校所有招生专业的基本信息、专业特色、核心课程、可考证书和就业方向等内容,为考生报考专业时提供参考。
5)招生资讯查询。该模块为考生用户提供最新招生政策推送功能,使考生能第一时间了解招生考试相关动态,提前做好相应准备工作。
6)问题与答疑。该模块不仅提供部分招生常见问答信息,还通过微信小程序开发自带API接口,使考生能通过微信与招生高校进行线上聊天,实现个性化问答服务。
2.3.2云开发平台端管理系统
云开发平台端管理系统服务于管理员用户,该系统为小程序端提供数据接口,并提供云端数据可视化管理功能,功能结构如图3所示。具体功能模块设计如下:
1)高校信息管理。管理员用户在云开发平台可以对高校的基本信息(包括文字、音频和视频等)进行编辑并发布在小程序端。
2)历年分数管理。管理员用户通过云开发平台,整理高校历年在各省、各批次、各科类的投档线数据并进行管理,系统通过API接口函数调用,将数据显示在小程序端。
3)招生计划管理。管理员用户通过云开发平台,整理并发布高校各类型分省分专业招生计划,通过搜索功能为考生用户提供查询服务。
4)专业信息管理。管理员用户通过云开发平台,将权限下放至二级学院专业负责人,由专业负责人编辑和上传各学院招生专业信息,管理员审核无误后发布。
5)招生咨询管理。管理员用户通过云开发平台,根据最新招生政策管理和发布招生资讯,供考生用户查看。
6)客服咨询服务。管理员用户根据高校实际情况,通过微信客服客户端或网页端分配多名招生客服,及时回复考生用户在小程序端提出的问题。后台还可以对所有客服咨询回复情况(如接待人数、回复次数和应答时间等)进行实时统计。
2.4数据库设计
该系统根据微信小程序开发特点,采用“本地+云端”数据存储方式,将数据量小且每年变化不大的数据(如常见问题)存储在本地,将数据量大且更新较频繁的数据通过云端进行存储和管理。根据系统需求,创建了高校信息表、专业信息表、招生数据表和招生资讯表[4]。
高校信息表结构如表1所示,该表用于存储高校所有用于展示的信息。
专业信息表结构如表2所示,该表用于存储高校历年开设专业的基本信息。
招生数据表结构如表3所示,该表用于存储高校各招生专业历年在各省、各批次、各科类的招生计划和投档分数线等信息。表中course_id字段与专业信息表(course_info)中的course_id字段建立外键联系,确保每一条分数记录对应唯一专业。
招生资讯表结构如表4所示,该表用于存储高校发布的最新招生资讯相关信息。
3系统实现
3.1前端核心功能实现
3.1.1界面布局
系统采用Flex布局方式,将界面划分为5个区域:基本信息区、快速导航区、宣传视频区、招生资讯区和底部tabbar区。具体实现方式如下:首先在全局配置文件app.json中,通过“pages”属性配置小程序所需的所有界面,通过“window”属性配置导航栏背景、颜色、文字和样式等,通过“tabbar”属性配置所需的tabbar样式(包括选项个数、对应页面、文字和图标等)。其次在页面的逻辑文件index.js中绑定系统启动主界面,关键代码如下:
wx.navigateTo({url:'../home/home'})
3.1.2数据展示
以专业信息查询模块为例,相关数据通过naviga⁃tor页面链接组件以3级目录方式进行展示,即分学院界面、分专业界面和具体专业介绍界面。分学院界面和分专业界面须在对应.js文件中定义data数组,然后通过wx:for控制属性绑定数据数组,最后通过view标签展示具体数据。具体专业介绍界面采用动态展示方法,即搭建唯一静态界面,动态调用用户选择的专业名称,通过唯一标识找到专业名称对应的专业信息,关键代码如下:
在分学院列表.js页面中:
varname=e.currentTarget.dataset.name;
wx.navigateTo({
url:'../专业信息页面名称?name='+name…,})
在具体专业介绍.js页面中:
this.setData({
name:options.name,
…})
3.1.3视频播放
在小程序首页展示两个并排显示的宣传视频,每个视频由封面和内容两个部分组成。当点击其中一个视频时,可进行小窗播放或全屏播放;当点击另一个视频时,系统将暂停当前视频并重新显示其封面,同时播放新点击的视频。实现该功能的重点在于须在视频播放单击事件中添加判断功能,获取当前播放视频的index值。如果当前index不等于点击播放视频的index值,则将当前index对应的视频暂停播放,关键代码如下:
3.1.4在线咨询
在线咨询是用户实际使用量最大的功能。考生用户点击“在线会话”按钮后,可进入微信对话界面。微信开发者工具已将跳转至微信聊天的代码封装在button控件的contact类型中,开发者只须直接调用即可。同时,开发者还须登录小程序开发后台,搜索管理者微信号并将其绑定为客服,才能进行问题回复。关键代码如下:
lt;buttonopen-type='contact'gt;在线会话lt;/buttongt;
3.2云开发服务器配置
在微信开发者工具中,点击“云开发”选项卡,创建云开发环境名称,获取小程序专属环境ID[5]。该ID对系统运行至关重要,须在开发者工具中进行环境ID绑定后才能使用相应功能。在app.js文件中初始化和绑定云开发配置,具体代码如下:
App({onLaunch:function(){
wx.cloud.init({env:'你的云开发环境ID',})}})
微信小程序云开发功能须付费使用,目前价格为每月39元,提供20万次调用次数、2GB容量和5GB的CDN流量,超出流量部分建议使用按实际量付费。以上技术参数完全可以支持一个简单招生服务小程序的运营和使用。
3.3云开发数据库配置与调用
在云开发控制台中,点击“数据库”选项卡,配置数据库基本信息(包括名称、索引和权限等)。配置完毕后需要添加集合,集合类似于传统数据库中的表,它有默认模式和JSON模式两种数据模式,开发者可根据实际需要选择相应模式,本研究选择默认模式进行数据库管理。在集合中添加字段信息(包括字段名称、类型和值),配置完成后即可在小程序开发前端调用数据库中的值。
在需要调用数据的界面js文件中,调用云开发数据库数据,如调用高校历年分数线数据,代码如下:
3.4云开发内容管理系统CMS使用
小程序云开发CMS是一种基于微信云开发和微信小程序技术的内容管理系统,它可以帮助用户快速创建、发布和管理小程序中的内容(如文章、咨询和用户评论等),无须编写任何代码即可完成后台服务器数据平台的搭建。
在云开发控制台中,点击“内容管理”选项卡后,系统将弹出CMS后台管理系统网页。在网页中输入项目名称和显示名称创建项目,然后点击“新建模型”按钮新建CMS模型,用于管理用户所需的功能(如招生政策发布和历年分数查询等)。模型创建完成后,需要为其添加具体字段并选择合适的数据类型。所有字段添加完成后即可通过CMS管理具体内容,具体效果如图4所示。需要注意的是,在CMS中创建的模型会同步到云数据库中,但在云数据库中创建的数据不会自动同步到CMS中。随后在需要展示数据的页面.js文件中调用云数据,并在对应的.wxml文件中将数据展示在控件中,关键代码如下:
4结束语
本研究针对高校目前招生微信小程序开发现状,利用微信云开发技术,设计并实现了一款基于微信云开发的高校招生服务小程序,有效解决了小程序服务器端开发难度大和费用高等问题。该系统在提升高校招生服务质量的同时,显著缩短了开发周期,提高了工作效率,为高校招生信息化建设工作提供了一种较好的技术实现方案。
未来可进一步开发系统功能和优化数据管理模式,增加考生用户个性化咨询服务,提升数据存储和读取速率。通过持续的研究与实践,为考生提供更加优质的招生服务。
参考文献:
[1]倪红军,李霞,周巧扣,等.基于微信小程序的高校实验室安全教育平台构建[J].实验室研究与探索,2020,39(12):280-284.
[2]杨磊.基于微信小程序的高校学生发展记录系统设计[J].电子制作,2023,31(14):75-78.
[3]宋莺,谢小玲,余文婷,等.智慧校园微信小程序云服务开发与构建[J].长江信息通信,2022,35(4):174-176.
[4]殷西祥,王康康.基于Android平台的招生宣传系统设计[J].重庆科技学院学报(自然科学版),2018,20(5):105-108.
[5]李丹,张未未.基于小程序与云开发的网络报修系统的设计与实现[J].微型电脑应用,2022,38(12):187-189.
【通联编辑:谢媛媛】