1 需求
1.1 设计思路
- 华中农业大学举办的许多活动和讲座得不到关注,同时许多同学缺乏实时获取信息的能力,无法第一时间获取各类活动信息。本项目着手于解决学校中信息传递与接受的问题。
- 华中农业大学本科生无法及时获知就业形式与情况,获取华中农业大学毕业校友就业信息较为困难。本项目着手于解决本科生无法及时了解就业前景的问题。
- 暂时没有一个程序可以及时对国内各类考试的考试事件进行实时预报。本项目着手于解决国内各类考试实时预报问题。
1.2 主要功能
- 本项目定时获取华中农业大学各类活动信息,将信息存储于腾讯云数据库,并在微信小程序上按时间顺序进行展示。
- 本项目收集了华中农业大学近五年本科毕业生就业质量情况,进行数据处理后存储于腾讯云数据库,用于选择学院、专业或类别等筛选信息后,将各类就业数据以表格或图形的方式进行展示。
- 本项目实时收集更新国内各类考试信息,并将各类考试信息以时间轴的形式展示在微信小程序上。
- 本项目提供用户自主创建目标,创建后目标以时间轴的形式展示在小程序上,并提供倒计时功能。
1.3 面向用户
该项目主要面向于华中农业大学师生。
2 概要设计
该项目采用微信小程序云函数作为后端,采用微信小程序云数据库作为数据库。
活动预告模块的调用关系为微信云函数定时请求华中农业大学官网,获取学校最新活动动态后存储到云数据库,前端展示数据时向微信云函数发送请求,云函数被调用后请求云数据库并将结果返回到前端进行展示。
就业信息模块的调用关系为前端发送学院、专业或年份等信息给微信云函数,云函数被调用后根据限制信息向云数据库发出请求,将得到的数据返回前端进行展示。
目标管理模块的调用则需要使用微信中用户唯一标识 OpenID做为数据库的索引来获取数据,用户使用知侬小程序时,将会通过wx.login()
获取用户OenID,在目标管理模块,微信小程序调用云函数获取数据库数据时,将附加上用户OpenID作为索引获取数据。
3 功能说明
图1 活动预告界面
图2 就业查询界面
图3 按学院查询
图4 按专业查询
图5 按专业查询
图6 显示默认目标
图7 删除或添加个人目标
如图1所示,小程序使用四个TabBar用于功能模块切换,其中包括三个功能模块(活动预告、就业查询、目标管理)与一个介绍模块。用户点击TabBar即可实现页面路由的跳转。
如图1所示,在活动预告界面,会按照活动的时间顺序以卡片的形式进行展示,左上角带颜色的标签显示活动的列别,卡片中央则是活动的宣传海报,海报下方显示活动的发布时间以及举办学院(非必需)。
如图2所示,在就业查询界面,则是通过三个列表来跳转到三种不同模式的查询方式,按查询学院(如图3所示)、按专业查询(如图4所示)、按类别查询(如图5所示)。在数据的展示页面,将以图形或表格的方式展示毕业学子的一系列情况。
如图6、7所示,在目标管理界面,默认目标与自定义目标通过NavBar的方式进行切换,默认目标无法进行增删操作,自定义目标可进行增删操作。
4 测试报告
测试机型:REDMI NOTE7
测试系统:Android
测试项目:
- 数据库写入
测试次数:124次 成功次数:124次 失败次数:0次 - 数据库读取
测试次数:1.21万次 成功次数:1.21万次 失败次数:0次 - 向华中农大官网发出请求
测试次数:3766次 成功次数:3750次 失败次数:16次
云函数资源使用:269.45GBs 云函数运行时间:6.1s
5 作品体验二维码
6 项目总结
本项目是在感受到难以了解华中农业大学本科毕业生就业情况后,想要解决这个问题,然后开始四处收集各类资料。在收集资料的过程中感受到了学校与学生中信息传送的困难,因此不断提出想法,并进行可行性的讨论。最后将功能定为学校活动预告、毕业生就业情况展示、国内各大考试信息展示这三大模块。
确定好项目功能后,开始收集数据,其中学校活动预告信息是需要实时更新的,因此需要定时获取后存储到数据库中;毕业生就业情况信息是从每年华中农业大学发布的毕业生就业质量年度报告中提取数据并整理成JSON文件;国内各大考试信息则是从各考试官网获取后写入数据库。
收集完数据后,思考项目形式,初步方案有移动APP、微信小程序、网页等三种形式,根据可行性分析后,决定采用微信小程序的模式进行开发。
开始前期采用微信小程序作为前端,购买阿里云服务器为微信小程序提供后端接口。在开发过程中,由于接触到了微信小程序云开发的模式,因此决定使用微信小程序云开发的方式。云开发为开发者提供了完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器。其云函数代替了后端服务器,可以更加方便的与前端进行交互;其云数据库代替了自建数据库,可以更好的在微信小程序前端操作。
确定解决方案后,为提高编程效率,本项目借用了微信小程序UI库ColorUI、小程序组件库Vant-weapp、小程序图表库Ucharts这个三个库。其中ColorUI和Vant-weapp用于页面的设计、Ucharts库用于更加直观的向大家展示华中农业大学本科毕业生的就业情况。
在此过程中,遇到的较大的问题主要有两个,一个是由于对云函数与云数据库的使用不熟练,导致调试过程中数据经常无法写入或者写入的信息不太完整;二是由于微信小程序对于图表的支持性不是太好,导致数据可视化经常出问题。
在完成整个项目后,编程能力都有了很大的提高。在整个项目过程中,对于python、js、vue都有了新的理解。并明白了一个完整项目从构思到实现整个过程中所需要经历的流程。
作为这个项目后设想对其进行优化与扩展,希望能将更多学校的信息加入其中,使其能够便利更多学子,更好的发挥其商业作用。
对所在学校还是有意义的。