摘 要
现阶段,多个APP应用在智能产品中发挥这越来越大的作用。产生便利的同时,也因种类繁多、功能冗杂,无法精准选择。手机上的APP越装越多,对性能和内存容量都带来了很大的挑战。因而,微信小程序因为可替代绝大部分的APP的优势顺势而生,微信小程序无需安装,不额外占用手机内存,使得人们能更简洁、更方便地使用手机。使得微信小程序得到了快速的发展。
本课题根据上述背景,研究设计了一款使用微信开发者工具、基于微信云平台开发的托管机构选择小程序系统。本文首先对系统进行了可行性分析、需求分析和功能模块设计;然后实现了其中的注册登录、选择预约、评价反馈、动态分享、接送情况等功能模块;对系统进行测试,测试系统的不同功能模块。系统不仅仅使用价值一片向好。不仅仅有庞大的客户群体,而且在未来有无限的应用空间。
关 键 词:微信云开发;托管机构选择;微信小程序
1 绪论
1.1选题背景及意义
托管机构移动设备应用程序的发展与移动互联网技术的发展密切相关。微信小程序在微信大范围使用影响之下,其体系结构发生了翻天覆地的变化。在开发和研究小程序的过程中,不仅仅包含了研究和开发前端小程序的内容,同时包括维护和统筹规划后端小程序数据库两部分的内容。在对前者小程序的开发和研究过程中,要求小程序符合大众操作习惯,与应用各种热门软件的特点一致,整体的界面更容易被大众接受,而对于后者则是要求所构成的数据库必须具有完整性和信息的一致性,且具有一定的数据安全性。面对用户根据不同需求来比较选择合适的托管机构,有必要开发一个安全方便的托管机构选择小程序。利用这一小程序,能够让用户第一时间、快速对数据进行标准化管理,并实现数据统计,符合不同用户的使用需求。
经过调查发现,目前微信平台并没有一个小程序能够完整实现上述功能,且大部分出现的托管机构小程序都只是开发某一个托管机构的基本使用功能,无法满足用户的使用需求。因此,研究开发出一款能够基本实现上述功能的基于微信云开发平台的托管机构选择小程序,对于用户而言,具有十分重要的意义。
在本文中,为了实现系统的完整性、可行性目标,深入解析系统的开发环境、需求、系统设计、系统实现、系统测试等有关内容。阐述其基本的开发方法。在开发和研究系统过程中,不仅仅要符合操作简答的需求,同时通过相应的调试方式,对系统加以深化并优化。
1.2课题研究现状
1.2.1国外研究现状
相比较发展中国家而言,发达国家更早地关注小学生课后托管服务,例如,X、英国、法国等国家,各发达国家都从国家层面出台了教育机会公平的重要政策,在一定程度上保障了每一名儿童的受教育权利[1]。
X课后托管教育发展至今已经形成了一套完善的法律保障措施,20世纪70年代后期,X在开始认识到课后辅导机构照顾孩子有立法的需要的基础上,托管教育服务进一步向前发展,作为公共服务系统的重要组成部分很快进入各国人们的视野中[2]。
在英国,当父母由于各种原因而无法照料孩子时,校外托管主要负责在课余时间为他们提供安全和营养的环境,并组织一系列有益的活动。英国托管服务类型多样,课程安排与学校课程不同,根据儿童身心发展特点,培养儿童的兴趣和各方面的生活技巧,这种托管服务也有一定的制度保障[3]。
法国于2006年8月通过了《社会行为和家庭法》相关条例修订案,将之前课外时间的各种托管形式统称为“未成年人课外集体接待”[4]。在整个儿童教育中,托管教育是家庭和学校教育的补充,其是整个教育空间的进一步深化,主要从事的儿童生活能力、道德品质等方面的教育。
综上所述,所有发达国家都非常重视育儿教育,并为儿童提供各种发展活动和平台,保证儿童的身心健康发展,并制定相关法律全方位保障儿童的合法权益。大多数发达国家的课后托管服务已经形成了一套相对完善的评估体系[5]。
1.2.2国内研究现状
中小学课后托管问题产生于20世纪90年代,校外机构是中小学课后托管服务承担的主体,学校参与的情况较少,因此,相关研究主要从宏观的角度探讨XX的管理责任问题,很少有直接探讨中小学在校课后托管的文献[6]。学者阎亚军、李赤认为XX是推动义务教育阶段学校托管班发展的责任主体[7];学者杨启光、朱纯洁提倡各级XX需承担起儿童课后照顾与教育的公共责任,科学制定儿童课后照顾与教育服务制度,合理规范儿童课后照顾与教育服务市场,优化与恢复家庭及学校在儿童课后照顾与教育服务的功能,保障儿童获得公共照顾及教育服务资源的权益[8];学者吴开俊、孟卫青也认为在治理视角下,完善我国小学生课后托管,XX应将小学生课后托管定位为一项福利并将其纳入社会保障体系和公共服务领域,坚持以财政拨款支持的公立学校作为小学生课后托管体系的主要提供者,鼓励公益性组织参与,确立公益性课后托管服务的功能定位是一种基础性托管服务,逐步规范校外托管,完善托管服务的制度环境[9]。
1.3主要研究内容
在本文中,主要从以下两方面开展研究:
设计:设计微信小程序总体架构以及各页面结构,采用MINA框架和云开发功能开发微信小程序:确定微信小程序的功能模块,拟设置“注册登录模块”、“选择预约模块”、“评价反馈模块”、“动态分享模块”和“接送情况模块”等5个模块。
(2)开发:本系统采用微信小程序云开发标准大小,并且系统的页面深度不超过5层,利于用户的操作。并对每一个功能模块具体说明,阐明其实现方案。
本课题主要分为六个章节。第一章为绪论,重点说明了本课题的背景、研究现状和相关的研究内容;第二章中,进一步解析了开发系统过程中,所需的有关技术;第三章,阐述解析系统,对其功能、可行性做进一步的说明;第四章为设计与实现,介绍了系统功能模块的设计与功能模块的实现;第五章为测试,对系统进行了测试;最后,归纳总结,总结本文工作内容。
2 开发环境介绍
2.1云开发
在进行小程序云开发的过程中,具有存储器、数据库、云函数等三个基础能力。为了便于开发者管理云端数据,微信开发者工具提供了一个可视化的云开发控制台,如图2-1。
图2-1 云开发控制台
2.1.1数据库
在云开发中,包含了一个多个集合的JSON数据库。也就是说,在每一个集合,其本质都是一个JSON数组,因而在该数组之中,我们可认定其每一条记录,均是一个JSON格式的对象。数据库API分为两个部分:服务器端和小程序端。对于小程序端的API而言,其具有控制权限调用的权限。因而开发人员在面对非敏感数据而言,可通过直接调用API的方式实现。服务端的API在面对较高安全系数的数据,可利用云函数的方式进行操作。对于数据库的API而言,其具有修改、增加、删减等相关功能。因而在运用API操作数据库的过程中,可利用引用数据库、查询构造、条件更新等方式加以实现。
2.1.2存储器
云开发的作用是提供一个不付费的存储空间,满足用户所需。开发者可利用API,借助于云存储功能,将云功能以及小程序端等上传到云中,或者使用具有权限管理的云来完成文件下载的操作。
2.1.3云函数
分析云函数的本质是指,在不需要借助于管理服务器的作用,在云中进行代码运行。利用开发者工具进行编写,并借助点击上传和部署后端代码等方式完成有关的运行。在小程序中,开发人员利用专有的API,完成云函数调用,并完成操作数据库、管理云文件等相关操作执行。
2.2微信小程序
分析微信小程序,顾名思义是指镶嵌于微信APP,是一个移动终端的运用程序,因而对于开发人员,其不需要任何的下载和安装,所以不需要考虑手机系统,无需考虑内存问题。对于微信小程序而言,是利用合法域名下的接口的河流配置,并结合数据库的交互,达成小程序的功能目的。
2.2.1小程序开发框架
MINA框架的应用较广泛,是用于开发高可用性和高性能的网络应用程序的基本框架[10]。开发人员可以使用MINA框架来保存负责的任务,例如处理线程并发性和底层I/O,目的是为业务设计和开发投入更多精力。对于用户而言,利用MINA开发框架,对前端和后端等独立的项目进行开发。在前端页面和后端页面中,两者的作用分别是显示和接口传输。在逻辑分析以及数据库操作基础上,对端口接口进行判断,并将内容进行传递,传递到前端。
2.2.2微信开发者工具
对于微信开发者工具而言,其是一个可视化编辑器,用小程序开发。它是使小程序变得简便、快捷的专业软件。首先开启小程序,并选择微信开发者工具的模式,完成小程序项目的创建,并利用编辑器进行编写,实现并保存代码,借助于模拟器了解页面的效果,之后借助于调试器,查看并了解接口返回的结果。并对开发者工具进行点击,同时了解编写的代码,同时进行预览并上传有关代码,并依据用户需求,对测试的环境或者生产环境进行全面布局,最后调用该接口与数据库进行交互。
2.2.3微信小程序的开发语言
在小程序中,利用WXML、WXSS和JavaScript等三个文件的编写方式,实现前端页面。对于WXML而言,该标记语言类似于HTML,主要是用于小程序架构的设计,事件系统(事件系统是JavaScript中的事件,可以处理逻辑并对接口做出反应)和基础组件(基础组件与HTML中的标签类似)可以构造页面的结构并实现页面的整体框架。作为一种样式语言,WXSS与CSS类似,它的作用在于,确定了组件的显示方式,对WXML组件的样式进行相应的阐述,并达成对应的显示目的。JavaScript用于提交表单、获取接口数据以及数据计算处理等页面动作行为的实现,能够根据用户的操作来显示不同提示,实现网页功能[11]。
3 托管机构选择系统分析
3.1系统可行性分析
3.1.1技术可行性
微信是一个基于IOS平台、Android平台等手机操作系统系统开发的手机应用软件[12]。在应用软件之中,包含了操作系统、用户界面和中间件等组成部分。。这是一个真正开放完整的移动客户端应用程序软件。对于开发而言,其应用程序、微信核心应用程序,两者的级别一致。它们都是在微信系统的API中构建的。对于开发人员而言,其在微信系统中可对核心应用程序使用的API框架进行访问。因而从技术上看,该系统开发具备可行性。
3.1.2操作可行性
在系统中,利用微信小程序的技术,操作并访问手机上安装的软件,不仅仅操作方便,而且界面非常简单。因而对于智能手机的用户,日常的操作完全没问题。
该系统具有方便操作,易于管理和良好交互的特点,并且操作非常简单。因此该系统可以进行开发。
3.1.3经济可行性
在该系统之中,在微信平台基础上,结合微信开发者工具进行开发。从经济层面考虑,因为软件不需要付费,不需要太多投入是可行性的。
3.2功能需求分析
托管机构选择系统的使用者可以分为家长用户和机构教师用户两类角色,每一类角色具有不同的系统操作权限。对于家长用户而言,开发基于微信小程序的托管机构选择系统,需要满足家长接送和照看孩子日常生活以及辅导孩子学习的问题。对于机构教师而言,能够解决发传单招生的烦恼,以及与家长用户进行线上互动交流。
本文开发的微信小程序是一款托管机构选择系统,因此基于微信小程序的托管机构选择系统需要实现灵活性、交互性和多样性等特点。下面将按照“注册登录模块”、“选择预约模块”、“评价反馈模块”、“动态分享模块”和“接送情况模块”等5个模块,将每个模块对本系统的开发需求进行具体分析。
3.2.1注册登录模块
注册登录模块主要提供访问本系统的入口,用于获取用户信息,通过判断输入的账号是机构用户还是家长用户,为用户分配表明身份的标识符。用户只有登录后,才被允许使用该系统的各个功能。
3.2.2选择预约模块
选择预约模块主要用于显示所有入驻的机构,家长用户通过搜索机构名查找机构。点击某个机构进入该机构详情页面,用户可以点击机构地址和拨号按钮进行从当前位置到机构的导航路线和拨打机构的电话线上了解沟通。点击最下方的预约按钮,选择入园时间进行预约入园操作。
3.2.3评价反馈模块
评价反馈模块主要为家长用户提供对预约过的机构进行打分评价。方便更多的用户对托管机构进行选择。
3.2.4动态分享模块
动态分享模块主要展示机构教师发布的孩子在机构的日常活动以及机构的环境情况。通过浏览动态情况,家长用户可以更好的了解孩子的情况以及选择合适的托管机构。
3.2.5接送情况模块
接送情况模块是机构教师发布的孩子的接送情况,如接送中、已到家和已入园等。根据教师提供的信息,家长可随时查看孩子的位置,及时了解孩子的情况。
系统主要划分为两类用户角色,分别为家长用户和机构教师用户,家长用户权限包括注册登录、选择预约、评价反馈等功能模块,机构教师用户权限包括注册登录、动态分享、接送情况等功能模块。系统功能模块图如图3-1。
图3-1 系统功能模块图
3.3设备需求分析
开发基于微信小程序的托管机构选择系统,需要使用PC设备和移动智能设备。PC设备的主要功能是编写程序代码,而移动智能设备的主要功能则是用于真机测试,查看小程序在移动智能设备上的应用效果。
3.3.1PC设备
开发微信小程序对于PC设备的要求较少。PC设备的操作系统可以是Windows或者macOS,但Windows操作系统至少要Windows7版本及以上。PC设备的作用在于,利用微信开发者工具,完成程序代码的编写。此外,开发微信小程序的过程中会使用到微信官方提供的云开发功能,PC设备还要利用微信开发者工具中的可视化巩固配置云端信息和管理资源。
3.3.2移动智能设备
因为微信官方要求小程序的大小应低于1M,因此小程序对于移动设备硬件的要求较低。移动智能设备需要安装微信软件,用于真机测试环节。开发者在PC端将程序代码编写完成后,需要利用移动智能设备中的微信软件通过扫一扫功能,扫描微信开发者提供的小程序预览二维码,进行预览,监控小程序的性能,测试小程序的真机使用效果。
3.4性能需求分析
一个软件项目的质量不仅包括它是否能够达到客户的预期要求,同时还得从下述不同方面进行分析[13]。如表3-1:
表3-1 软件性能需求分析
质量属性 | 详细要求 |
正确性 | 真正履行职责,相应完成各模块的要求。 |
健壮性 | 具有高容错性和恢复能力。 |
性能,效率 | 当网络状况良好时,可以在三秒钟内响应用户的请求。 |
易用性 | 对软件进行开发,创建出简单、清晰的语句。 |
安全性 | 保障用户信息的安全 |
可扩展性 | 通过二次开发的方式,优化功能,并有效的进行安全控制。 |
兼容性 | 与其他软件没有冲突。 |
可移植性 | 系统可以很轻松地转移到其他操作环境。 |
4 托管机构选择系统设计与实现
4.1系统模块设计
针对目前基于微信小程序的“托管机构选择系统”开发过程繁杂和功能模块较少的问题,本设计采用云开发功能进行“基于微信小程序的托管机构选择系统”开发工作,并依据托管机构选择的需求,拟为系统设置“注册登录模块”、“选择预约模块”、“评价反馈模块”、“动态分享模块”和“接送情况模块”等5个模块。简化该系统开发过程的同时,保证平台功能模块满足家长用户和机构教师的使用需求。
4.1.1注册登录模块设计
用户首先进入登录页面,输入账号和密码进行登录,系统自动判断数据库中账号是否存在,如果账号存在,继续检查密码是否正确,密码正确则可以成功登录并进入首页;若不存在,则需要先注册账号,注册成功即可输入账号和密码进行登录。注册登录模块流程图如图4-1。
图4-1 注册登录模块流程图
4.1.2选择预约模块设计
家长用户登录成功进入系统,点击底部导航菜单“机构”,进入机构列表显示界面,系统自动判断数据库中是否有机构入驻,若有机构入驻信息,则展示所有入驻的机构,选择某一机构,进入该机构详情界面,点击预约按钮可进行机构预约;若没有机构入驻信息,则机构首先需要注册入驻,入驻成功即可展示并预约。选择预约模块流程图如图4-2。
图4-2 选择预约模块流程图
4.1.3评价反馈模块设计
用户点击底部导航菜单“我的”,选择“我的预约”,进入机构预约列表显示界面,程序判断用户是否预约过机构,若有预约机构,则展示所有预约的机构,选择某一机构,进入该机构预约详情界面,点击评分按钮可对该机构进行评分反馈;若没有预约机构,则首先需要选择机构进行预约,预约成功且同意申请即可评分反馈。评价反馈模块流程图如图4-3。
图4-3 评价反馈模块流程图
4.1.4动态分享模块设计
机构教师通过输入账号和密码进行登录,进入首页,首先判断数据库中是否存在动态数据,若存在,则首页展示所有机构发布的动态;若不存在,则点击动态分享按钮进行动态分享,分享成功即可展示该动态。动态分享模块流程图如图4-4。
图4-4 动态分享模块流程图
4.1.5接送情况模块设计
机构教师点击“报名学生”按钮,进入报名学生列表显示界面,首先判断是否有学生报名,若有学生报名,则显示所有报名学生列表,点击某个报名的学生,判断是否同意申请,如已经同意申请,可以设置该学生的接送情况,家长用户也可以看到孩子的接送情况;若没有学生报名,则报名学生列表显示为空。接送情况模块流程图如图4-5。
图4-5 接送情况模块流程图
4.2系统功能实现
4.2.1注册登录模块实现
微信用户进入本系统,输入账号和密码,点击登录界面的登录按钮,触发表单点击事件bindsubmit=”formSubmit”,携带form中用户输入的数据进入login.js进行数据处理。代码如下:
//login.wxml文件
<!– 表单 –>
<form bindsubmit=”formSubmit” bindreset=”formReset”></form>
//loginjs文件
formSubmit: function (e) { //登录表单按钮触发事件
var that = this;
db.collection(“user”)
.where({
//判断语句判断数据库user里的xh是否等于e.detail.value.username
xh: e.detail.value.username
}).get({
success: function (res) {
console.log(res)
if (res.data.length > 0) { //判断表单是否有输入
if (e.detail.value.pass == res.data[0].pass) {//判断密码是否相同
//将用户输入的账号和密码赋值给全局数据里定义的user,以便其他页面调用
app.globalData.user = res.data[0];
wx.getLocation({
success:function(res){
//用户首次登录获取用户位置
console.log(“经纬度:”+res.latitude+”–“+res.longitude)
}
})
if (app.globalData.user.type == ‘用户’){//判断登录的是否是家长用户
wx.switchTab({ //跳转到家长用户首页
url: ‘/pages/fenxiang/list’,
})
} else //判断登录的是否是机构教师用户
wx.navigateTo({ //跳转到机构教师用户首页
url: ‘/pages/index/index’,
})
} else {
wx.showToast({
title: ‘密码错误’,
})
}
} else {
wx.showToast({
title: ‘用户不存在’,
})
}
}
})
}
注册登录功能模块的实现效果如图4-6。
图4-6 注册登录模块实现效果图
4.2.2选择预约模块实现
家长用户登录成功,点击底部导航“机构”,系统从数据库”user”中获取入驻的机构信息,并将所有机构显示在页面上。代码如下:
//list.wxml文件
<!– 所有机构 –>
<block wx:for=”{{list}}”>
<navigator url=”/pages/fuwu/des?id={{item._id}}”>
<view class=”info”>
<view class=”displayAvatar”></view>
<view class=”jgname”>{{item.xm}}</view>
<text class=”score”>评分 : {{item.pf}}</text>
<view class=”type” slot=”footer”>托管类型 : {{item.fl}}</view>
</view>
</navigator>
</block>
//list.js文件
/**
* 从数据库中获取入驻的机构信息,将所有机构显示在页面上
*/
onShow: function () {
var that = this;
db.collection(“user”)
.where({
type: ‘机构’
})
.get({
success: function (res) {
that.setData({
list: res.data
})
}
})
}
用户选择合适的机构通过页面链接标签navigator进入该机构的机构详情界面。选择预约入园时间,点击预约按钮,触发预约按钮点击事件bindtap=”bm”进入des.js进行数据处理,预约成功后,等待机构教师用户进行审核,将报名数据添加到数据库tuoguan_bm中。代码如下:
//des.wxml文件
<!– 预约按钮 –>
<button class=”orderBtn” form-type=”submit” bindtap=”bm” style=”width:80%;”>预 约</button>
//des.js文件
bm: function () { //预约按钮点击事件
var that = this;
db.collection(“tuoguan_bm”)
.where({
uid: app.globalData.user._id,
tid: that.data.item._id,
}).get({
success: function (res) {
db.collection(‘tuoguan_bm’)
.add({ //添加家长用户预约入园数据到数据库
data: {
uid: app.globalData.user._id,
tid: that.data.item._id,
uname: app.globalData.user.xm,
tname: that.data.item.xm,
state:’未同意’,
sj:that.data.displayValue1
},
success: function (res) {
wx.showToast({
duration: 2000,
title: ‘报名成功’,
complete: function () {
wx.navigateBack({//预约成功返回上级页面–机构列表显示页面
delta: 0,
})
}
})
}
})
}
})
}
选择预约功能模块的实现效果如图4-7。
图4-7 选择预约模块实现效果图
4.2.3评价反馈模块实现
用户进入我的页面,点击我的预约条目,进入预约机构列表显示页面。点击某个预约过的机构进行评价反馈,点击机构预约详情界面的评分按钮,触发评分按钮点击事件bindtap=”pj”进入des2.js进行数据处理,然后通过wx.navigateTo跳转到该机构的机构评分界面。用户输入评价文本并选择星星,点击机构评分界面的评分按钮,会触发点击事件bindtap=”submit_evaluate”进入pf.js进行数据处理,并将评价数据更新存入数据库tuoguan_bm中。代码如下:
//pf.wxml文件
<!– 评分提交按钮 –>
<button class=”scoreSubmit” bindtap=”submit_evaluate” style=”width:90%;”>评 分</button>
//pf.js文件
submit_evaluate: function () {
var that=this;
console.log(that.data.id)
db.collection(‘tuoguan_bm’).doc(that.data.id)
.update({//家长用户评价成功更新内容到tuoguan_bm数据库中
data:{
pf:that.data.score,
pj:that.data.pj
},success:function(res){
console.log(res.data)
wx.navigateBack({//评价成功返回上级页面–机构预约详情页面
delta: 0,
})
}
})
}
评价反馈功能模块的实现效果如图4-8。
图4-8 评价反馈模块实现效果图
4.2.4动态分享模块实现
机构教师用户通过输入账号和密码进行登录进入系统,首页下半部分通过<block wx:for=”{{list}}”>显示所有其他机构发布的动态,右下角是一个发布动态的按钮,点击发布按钮触发点击事件bind:click=”add”跳转到动态分享页面,选择图片日期输入文字之后,点击动态分享界面的发布按钮,触发表单点击事件bindsubmit=”formSubmit”,携带form中用户输入的数据进入add.js进行数据处理,发布成功则提示用户成功并返回上级页面,然后将分享的动态添加到数据库fx中。代码如下:
//index.wxml文件
<!– 发布动态 –>
<wux-fab-button position=”bottomRight” theme=”balanced” direction=”horizontal” buttons=”{{ buttons }}” bind:change=”add”
bind:click=”add” bind:contact=”onContact” bind:getuserinfo=”onGotUserInfo” />
<!– 动态显示–>
<block wx:for=”{{list}}”>
<navigator url=”../fenxiang/des?id={{item._id}}”>
<wux-wing-blank size=”default”>
<wux-card title=”{{item.uname}}” thumb-style=”border-radius: 50%;”>
<view slot=”body”>
{{item.title}}
<image src=”{{item.pic}}”></image>
</view>
<view slot=”footer”>{{item.rq}}</view>
</wux-card>
</wux-wing-blank>
</navigator>
</block>
//add.js文件
formSubmit: function (e) {
var that = this;
db.collection(‘fx’)
.add({//将机构教师用户分享发布的动态添加到数据库fx中
data: {
uid: app.globalData.user._id,
title: e.detail.value.title,
rq: that.data.displayValue1,
city: e.detail.value.city,
pic: that.data.imgUrl,
uname: app.globalData.user.xm
},
success: function (res) {
wx.showToast({
title: ‘成功’,
})
wx.navigateBack({//动态分享成功返回上级页面–动态列表显示页面
delta: 0,
})
}
})
}
动态分享功能模块的实现效果如图4-9。
图4-9 动态分享模块实现效果图
4.2.5接送情况模块实现
在接送情况模块,程序首先判断教师用户是否对家长用户的预约操作进行审核,如果审核结果为“拒绝申请”,则教师用户进入报名学生列表点击某个报名学生条目时,会弹出审核框再次进行审核,审核通过才能对孩子的接送情况进行操作。如果审核结果为“同意申请”,则教师用户可直接对孩子的接送情况进行操作,并将孩子状态存入数据库,家长用户能够及时看到孩子的接送情况。代码如下:
xz: function (e) {
var $data = e.currentTarget.dataset;
var time = util.formatTime(new Date());
if ($data.obj.state == ‘同意申请’) {
const hideDialog = $wuxDialog().open({
resetOnClose: true,
title: ‘操作提示’,
content: ‘接送情况’,
buttons: [{
text: ‘接送中’,
type: ‘primary’,
onTap(e) {
db.collection(‘tuoguan_jiesong’)
.add({
data: {
uid: $data.obj.uid,
tid: app.globalData.user._id,
xm: $data.obj.xm,
zt: ‘接送中’,
time: time
},
success: function (res) {
wx.showToast({
title: ‘成功’,
})}
})},
},{
text: ‘已入园’,
type: ‘primary’,
onTap(e) {
db.collection(‘tuoguan_jiesong’)
.add({
data: {
uid: $data.obj.uid,
tid: app.globalData.user._id,
xm: $data.obj.xm,
zt: ‘已入园’,
time: time
},
success: function (res) {
wx.showToast({
title: ‘成功’,
})}
})},
}, {
text: ‘已到家’,
type: ‘primary’,
onTap(e) {
db.collection(‘tuoguan_jiesong’)
.add({
data: {
uid: $data.obj.uid,
tid: app.globalData.user._id,
xm: $data.obj.xm,
zt: ‘已到家’,
time: time
},
success: function (res) {
wx.showToast({
title: ‘成功’,
})}
})},
}],
})} else {
const hideDialog = $wuxDialog().open({
resetOnClose: true,
title: ‘操作提示’,
content: ‘预约审核’,
buttons: [{
text: ‘同意申请’,
type: ‘primary’,
onTap(e) {
db.collection(‘tuoguan_bm’).doc($data.obj._id)
.update({
data: {
state: ‘同意申请’,
},
success: function (res) {
wx.showToast({
title: ‘成功’,
})
db.collection(“tuoguan_bm”)
.where({
tid: app.globalData.user._id
})
.get({
success: function (res) {
that.setData({
list: res.data
})}
})}
})},
},{
text: ‘拒绝申请’,
type: ‘primary’,
onTap(e) {
db.collection(‘tuoguan_bm’).doc($data.obj._id)
.update({
data: {
state: ‘拒绝申请’,
},
success: function (res) {
wx.showToast({
title: ‘成功’,
})
db.collection(“tuoguan_bm”)
.where({
tid: app.globalData.user._id
})
.get({
success: function (res) {
that.setData({
list: res.data
}) }
})
}})},
}],
})
}
}
接送情况功能模块的实现效果如图4-10。
图4-10 接送情况模块实现效果图
5 托管机构选择系统测试
系统测试是程序设计的最后阶段,也是软件开发的最后阶段。这一阶段非常重要,是软件开发的重要一环,在所有开发工作完成之后即可开始。系统测试的主要作用是为了验证设计与实际开发是否有出入,所有功能是否能够很好的实现,是否符合客户要求,模块内部之间的逻辑和模块与模块之间的逻辑是否正确,从而能够保证软件的开发品质[14]。
5.1系统测试环境搭建
本系统采用微信小程序作为测试对象。本次测试过程中,综合了平台的兼容性特征,采用了IOS系统和Android系统两种系统。详细设备信息如下:
IOS系统:
设备名称:苹果设备型号:iPhone 11系统版本:14.3CPU:A13仿生处理器Memory:8GB RAM微信版本:8.0.2Android系统:
设备名称:华为荣耀10设备型号:COL-AL10系统版本:10.0CPU:HiSilicon Kirin 970Memory:6GB RAM微信版本:8.0.2服务器信息:
CPU:2核系统:Windows 10内存:8GB带宽:1Gbps
5.2系统测试方案
本系统采用微信小程序作为测试对象。针对本系统的情况,采取的测试方案详细信息如下:在所有开发工作完成之后,结合微信开发者工具对小程序托管选择系统进行全面的验收测试。在客户端基础上,测试各个功能模块,并测试了解小程序页面的数据变更和修改的相关内容。从测试中观察微信小程序页面跳转情况,以及页面交互反应和数据库情况变化。
本系统使用黑盒测试作为测试用例的方法,结合微信小程序的页面以及功能进行用例分析,并进行用例测试[15]。
5.3系统测试用例
本系统的主要测试用例如下:
注册登录小程序测试用例如表5-1,可以正确重定向注册和登录页面,可以将注册信息添加到数据库中,测试结果符合开发的预期结果。
表5-1 注册登录测试用例
用例名称 | 注册登录 |
目的 | 测试用户注册和登录功能 |
备注 | 用户首次打开小程序使用该系统 |
测试过程 | 新用户点击注册文本,弹出选择框选择角色,进入注册界面
填写注册信息,完成注册,输入账号和密码进行登录 |
预期结果 | 填写注册信息完成后,点击注册按钮,自动跳转到登录页面
注册的信息存储到数据库中,输入账号和密码,然后单击登录 按钮,成功登录并跳至程序首页 |
实际结果 | 实际结果符合预期结果 |
结论 | 测试通过 |
选择预约测试用例如表5-2,页面能够正确跳转,所有入驻的机构信息显示正常,选择预约入园时间点击预约按钮后,预约入园请求能够发送给机构教师审核,测试结果符合开发预期结果。
表5-2 选择预约测试用例
用例名称 | 选择预约 |
目的 | 测试家长用户选择和预约合适的托管机构功能 |
备注 | 家长用户成功登录该系统 |
测试过程 | (1)家长用户点击服务或者机构类目
(2)家长用户浏览托管机构展示列表,并查看机构详细信息介绍 (3)选择预约入园时间,点击预约按钮进行预约 |
预期结果 | 页面正确跳转,托管机构信息显示正常,
预约入园请求发送给机构教师审核 |
实际结果 | 实际结果符合预期结果 |
结论 | 测试通过 |
评价反馈测试用例如表5-3,页面能够正确跳转,所有预约过的机构信息显示正常,输入文字评论和星星评分后成功评论该机构,测试结果符合开发预期结果。
表5-3 评价反馈测试用例
用例名称 | 评价反馈 |
目的 | 测试家长用户星星评分和文字评论预约过的托管机构功能 |
备注 | 机构教师用户同意家长用户的入园申请 |
测试过程 | (1)家长用户点击我的预约类目
(2)家长用户选择要评价的机构 (3)点击评分按钮,进入机构评分页面进行评价 |
预期结果 | 页面正确跳转,预约机构列表信息显示正常,
输入文字评论和星星评分后成功评论 |
实际结果 | 实际结果符合预期结果 |
结论 | 测试通过 |
动态分享测试用例如表5-4,首页正常显示所有发布的动态,页面能够正确跳转,动态能够成功发布,测试结果符合开发预期结果。
表5-4 动态分享测试用例
用例名称 | 动态分享 |
目的 | 测试机构教师用户分享动态功能 |
备注 | 机构教师用户成功登录该系统 |
测试过程 | (1)机构教师用户点击首页右下角的发布按钮
(2)进入动态分享页面 (3)选择图片日期,输入文字,点击发布按钮 |
预期结果 | 首页其他教师发布的动态显示正常,点击发布按钮
页面正确跳转,选择图片日期,输入文字,动态成功发布 |
实际结果 | 实际结果符合预期结果 |
结论 | 测试通过 |
接送情况测试用例如表5-5,页面能够正确跳转,所有报名学生列表信息显示正常,教师用户更新接送情况,家长用户能够正常接收到孩子接送情况,测试结果符合开发预期结果。
表5-5 接送情况测试用例
用例名称 | 接送情况 |
目的 | 测试机构教师用户发布孩子的接送情况功能 |
备注 | 机构教师用户同意家长用户的入园申请 |
测试过程 | (1)机构教师用户点击首页的报名学生查看报名的学生信息
(2)进入报名学生列表,点击某个学生类目 (3)弹出对话框,设置接送情况 |
预期结果 | 页面正确跳转,报名学生列表信息显示正常,
教师用户设置接送情况后,家长用户收到孩子接送情况 |
实际结果 | 实际结果符合预期结果 |
结论 | 测试通过 |
5.4系统测试结果分析
在本文中,对构建的系统测试环境以及系统测试方案做进一步的说明,并利用测试的方法,对系统的主要功能模块做具体的分析。对于小程序而言,通过对其注册登录、选择预约、评价反馈、动态分享和接送情况等模块进行分析,分析其功能。本系统运行顺畅,页面跳转没有出现卡顿的情况,开发需求基本可以达到,此系统具有较完整的软件功能,理想的用户界面,进而对错误信息进行处理,阐述其错误的类型。总体说来,软件通过测试。
结论
在本文中,为了满足托管机构所需,有效的运用微信开发者工具,对小程序进行选择并优化其性能,确保其安全可靠性。首先对微信小程序以及托管机构系统在国内外的现状和发展进行了分析,总结了托管机构选择系统应该具备的主要功能,研究了微信小程序的应用程序架构以及在微信平台上应用程序的开发过程。依据系统的特征,优化并设计相应的功能模块,并对其使用的开发环境做简要的说明。接着进行需求分析、系统功能模块的设计与实现,并描述了系统主要功能的实现方案和过程。最后基于微信小程序的托管机构选择系统完成了开发,基本达到了预期的效果。
通过参与系统的分析,设计和开发阶段,我遇到了很多问题,也增加了很多经验。由于工作时间和所学知识有限,系统还有很多方面需要改进,并且还有很多特殊功能是自己无法实现的,在未来的工作和学习中,我会不断的努力并加以改进。
致 谢
从论文选题到收集资料,再到写提纲,其中经历了聒噪、痛苦和彷徨,在写论文的过程中心情是五味杂陈的。开始选题时很迷茫,不知该怎么选好,幸而在同学和任课老师的帮助下,才得以确定。然后就是最难的找资料,由于首次写论文,不懂该怎么着手去收集、归纳资料,因而花费了好多时间在这上面,但收集到的资料真正能用上的却没多少。这时得感谢我的指导老师,他始终给予我细心的指导和不懈的支持。从论文框架到细节修改,都给予了细致的指导,提出了很多宝贵的意见与建议。老师以其严肃的科学态度,严谨的治学精神,精益求精的工作作风和大胆创新的进取精神深深地感染和激励着我。他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪,这篇论文是在老师的精心指导和大力支持下才完成的。在此谨向老师致以诚挚的谢意和崇高的敬意。
参考文献
[1] 郭培培. 校外小学生托管的现状、问题及对策研究[D].河北师范大学,2018.
[2] Nicole C. Sarampote,Hideko H. Bassett,Adam Winsler. After-School Care: Child Outcomes and Recommendations for Research and Policy[J]. Child and Youth Care Forum,2004,33(5).
[3] 庞威.英国课后托幼服务述评[J].上海教育科研,2008(10):32-34.
[4] 邹燕舞.法国儿童托管教育:课外活动中心运作模式及其启示[J].四川师范大学学报(社会科学版),2012,39(01):81-86.
[5] 周红霞.发达国家小学课后托管政策的比较与借鉴[J].外国中小学教育,2016(06):36-42+29.
[6] 黄婧. 小学生课后在校托管服务的实施现状研究[D].湖北师范大学,2017.
[7] 阎亚军,李赤.XX推动义务教育阶段学校托管班发展研究[J].天津师范大学学报(基础教育版),2016,17(01):7-11.
[8] 杨启光,朱纯洁.论我国儿童课后照顾与教育服务的需求及XX责任[J].教育理论与实践,2014,34(34):25-29.
[9] 吴开俊,孟卫青.治理视角下小学生课后托管的制度设计[J].教育研究,2015,36(06):55-63.
[10] Zhang, Zhi,Li, Fang. A Dynamic Management Method of Domestic Internet of Things Based on Cloud Computing Architecture[J]. Journal of Computational and Theoretical Nanoscience,2016,13(12).
[11] Haiyan Li. Research of Javascript technology in the development of e-commerce application[A]. 信息化与工程国际学会.Proceedings of 2016 6th International Conference on Machinery,Materials,Environment,Biotechnology and Computer(MMEBC 2016)[C].信息化与工程国际学会:计算机科学与电子技术国际学会(Computer Science and Electronic Technology International Society),2016:3.
[12] Yanhong Yang. The Development Status and Countermeasures of WeChat Public Platform Service of University Library[J]. Advances in Higher Education,2020,4(12).
[13] Yajie Dou, Long Li, Zhiwei Yang,and Yingwu Chen School of information system and management National University of Defense Technology Changsha, Hunan Province, China. Capability Requirement Analysis of Airdrop Assault System-of-systems based on UML/MMIntegrated Modeling and Simulation[A]. IEEE Beijing Section、Beijing University of Technology.Proceedings of 2012 IEEE 3rd International Conference on Emergency Management and ManagementSciences(ICEMMS 2012)[C].IEEE Beijing Section、Beijing University of Technology:IEEE BEIJING SECTION(跨国电气电子工程师学会北京分会),2012:4.
[14] 黄李华. 网络虚拟商品展示的体验设计研究[D].江南大学,2011.
[15] 王新红. 构件软件黑盒测试研究及应用[D].华北电力大学,2011.
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/163693.html,