校园学习生活小助手微信小程序的设计与实现

作者: 张强志 郑庆 黄志芳 黄杰贤 张铭

摘要:文章设计并实现了一款基于微信小程序的校园学习生活小助手,集成失物招领、招聘信息、校园论坛和学院活动等功能模块,旨在为大学生提供便捷的校园生活服务。该小程序具有无须安装、即开即用等优点,有望提升校园生活服务体验。

关键词:微信小程序;校园生活;服务平台;信息发布;交流互动

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2025)07-0061-03

开放科学(资源服务) 标识码(OSID)

0 引言

大学校园中,物品丢失无法避免,需要工具或平台帮助建立失物者与拾物者之间的联系[1]。此外,网络上参差不齐的招聘消息存在可靠性与真实性风险,对于即将踏入社会的学生而言难以分辨,需要一个真实可靠的信息平台[2]。目前,校内学生之间的交流主要通过微信群等方式进行,而跨年级、跨学院的交流缺少直接渠道,需要一个校园论坛来满足学生的沟通需求[3]。校园活动是大学生活的重要组成部分,而活动的组织者、时间地点等往往具有多样性,学生难以充分获取活动的相关信息,因此需要一个活动发布平台来解决这一问题[4-5]。

随着互联网技术的发展,出现了各式各样针对上述需求的工具和产品。宋龙生等[6]针对校园内学生物品易丢失但不易找回的问题,基于SpringBoot技术设计了一款失物招领微信小程序,充分利用微信小程序的优点,互补Web与App的优劣,实现了高效率的失物招领。李云[7]设计了一个校园招聘信息网站,该网站的实现分为两个模块:第一个模块将核心功能放在发布企业招聘信息以及筛选求职申请上;第二个模块将面向求职人员的工作重心放在对企业招聘信息进行有条件的筛选、向感兴趣的职位批量发送求职申请以及简历的发布上。史肖敏等[8]设计开发了一款基于Android手机平台的校园论坛,为高校师生提供了一个在线交流平台,该平台主要实现了帖子管理、会员管理、会员登录注册等功能。肖树华等[9]针对传统学术活动开展难以有效实现动态化跟踪的问题,将微信小程序与学生学术活动管理结合在一起,不仅开拓了微信小程序应用的新领域,还实现了动态化的学术活动跟踪。

然而,这些产品的功能过于单一,例如一个小程序仅支持失物招领功能,很少有能够同时支持多个功能的校园软件。当需要满足4个不同需求时,就需要开发4款小程序,这会导致较高的开发和维护成本,且使用体验不佳。因此,针对上述问题和不足,本文设计开发了一款基于微信小程序的校园学习生活小助手,集成失物招领、招聘信息、校园论坛、学院活动等四大功能。该小助手无须下载安装,跨多平台即开即用,可为师生带来极大便利,无须担心安装或登录多种应用才能获取校园的多种服务。

1 技术选型

1) 微信小程序具有快速便捷、打开即用、适于轻量级应用的优点[10]。

2) Vue通过轻便的API实现灵活的数据双向绑定以及组合的视图组件,其最大优点是数据双向绑定以及单页面应用[11]。Uni-app在开发者数量、扩展灵活性、性能体验、周边生态、学习成本、开发成本等关键指标上具有较大优势,且一套代码可实现在多个平台上运行。

3) Django框架开发便捷,有大量工具包可直接使用,无须重复造轮子。MySQL是一种开源的关系型数据库,在Web应用中,关系型数据库将数据组织到数据关系表中,关系表可极大提高数据操作的速度和效率。SQL是开发人员用来在数据库中增删改查数据以及控制用户对数据库访问的语言。云对象存储(COS) 是由腾讯云推出的分布式存储服务,可容纳大量数据,并支持HTTP/HTTPS协议访问。

4) Nginx是一种开源、快速、轻巧、高性能的Web服务器,可用于提供静态文件、HTTP Web服务,还可用作HTTP、HTTPS、SMTP、IMAP、POP3等协议的反向代理服务器,可用于正向/反向代理、负载均衡、静态服务、缓存等。uWSGI Web服务器有很多通信协议,兼容uWSGI和WSGI,并负责响应Python Web请求。

5) DFA(Deterministic-Finite-Automaton) 算法性能极佳,广泛用于文字过滤领域。

2 需求分析与系统设计

2.1 需求分析

2.1.1 功能需求分析

如图1所示,功能需求主要分为以下4个模块:

1) 失物招领模块:用户能够浏览物品列表、查看物品详情、发布物品和编辑物品。

2) 招聘信息模块:用户能够查看岗位列表、查看岗位详情、收藏岗位。

3) 校园论坛模块:用户能够发布话题、查看话题列表(最新或最热) 和话题详情、点赞和评论。

4) 学院活动模块:用户能够查看活动列表、查看活动详情、收藏和报名。

2.1.2 非功能需求分析

在实现基本功能的前提下,系统的各方面性能也要达到用户满意的要求:

1) 响应速度要求:后台响应速度控制在1s以内,且返回内容必须准确可靠。

2) 可扩展性要求:功能模块可扩展,平台(PC端等) 可扩展,须保证后台API的通用性。

3) 稳定性要求:服务器应能承受一定的高并发,并具有一定的高速带宽传输能力。

4) 安全性要求:前后端通信采用HTTPS协议加密传输,避免数据泄露。

2.2 系统设计

2.2.1 系统架构

系统架构如图2所示,采用前后端分离原则,由小程序(前端) 、Web后台和第三方服务三大部分构成。

2.2.2 前端功能模块设计

1) 登录授权模块:主要用于请求微信的OpenAPI身份校验接口,获取用户的唯一标识openId。

2) 失物招领模块:实现浏览物品列表、查看物品详情、发布物品和编辑物品。

3) 招聘信息模块:实现查看岗位列表、查看岗位详情、收藏岗位。

4) 校园论坛模块:实现发布话题、查看话题列表(最新或最热) 和话题详情、点赞和评论。

5) 学院活动模块:实现查看活动列表、查看活动详情、收藏和报名。

2.2.3 数据库结构设计

使用Django框架实现与MySQL数据库的绑定,共设计用户表、失物招领表、招聘表、话题表、学院活动表、用户收藏表、点赞记录表、评论表、报名表等9张数据库表。

3 开发与测试

3.1 系统开发

系统总体开发流程如图3所示,主要包括:

1) 开发前端:按照功能需求设计UI,采用Vue和Uni-app进行开发、打包。

2) 开发后端:基于Django框架进行后端开发,采用MySQL和COS存储数据。

3) 部署服务器:采用Nginx作为代理服务器,采用uWSGI作为Web服务器,部署至云服务器。

3.2 系统测试

3.2.1 功能测试

对前端功能模块进行充分测试,包括授权、登录、列表、详情、发布、编辑、收藏、点赞、评论、报名、文字过滤等功能,所有既定功能均测试通过,部分测试界面(失物招领、校园招聘、校园论坛、校园活动等) 如图4所示。对后台管理系统进行测试(主要包括发布功能、统计功能、管理功能等) ,所有既定功能均测试通过,部分测试界面(丢失物品时间、类别统计) 如图5所示。

3.2.2 性能测试

1) 接口响应性能:采用postman发送500个请求,统计平均的接口耗时。

2) 服务器稳定性:采用locust工具实现压力测试。

3) 安全方面:小助手强制要求使用HTTPS通信协议,其他协议自动拦截。

4 总结与展望

本文采用基于Vue的Uni-app小程序开发框架,以Django作为后端开发框架,设计开发了一款基于微信小程序的校园学习生活小助手。该小助手包含失物招领、招聘信息、校园论坛、学院活动等版块,并提供后台管理界面。测试结果表明,其功能和性能均符合使用需求和设计目标。小程序具有无须安装、打开即用、使用方便等特点,小助手包含的4个功能版块涵盖了大学校园学习生活的多个方面,对提升校园服务体验、提高学习生活效率具有重要帮助。

小助手仍存在许多可以扩展的功能,可在今后工作中进一步优化:基于Bootstrap实现多图片上传和大图片预览功能、失物招领新增好人榜、丰富各模块检索功能等。

参考文献:

[1] 郑智方,黄政,张清瑞,等.利用微信小程序开发的大学失物招领平台[J].计算机产品与流通,2020(2):137.

[2] 石明春,李娇姣,陈思凝,等.校园招聘信息整合与应用平台的设计与实现[J].现代商业,2020(6):53-54.

[3] 李鹏飞.基于Web技术的校园论坛设计与实现[D].包头:内蒙古科技大学,2019.

[4] 李珊.基于微信小程序的学生活动管理系统的设计与实现[D].广州:广东工业大学,2019.

[5] 段耀明.高校学生干部信息化管理系统的研究[J].电子技术与软件工程,2021(13):181-182.

[6] 宋龙生,倪胜巧.校园失物招领微信小程序的设计与实现[J].计算机时代,2021(10):86-89.

[7] 李云.校园招聘信息网站的设计与实现[J].电脑知识与技术,2020,16(18):73-74.

[8] 史肖敏,刘敏娜.基于Android的校园论坛的设计与实现[J].电脑知识与技术,2016,12(7):54,57.

[9] 肖树华,周南,谭园玲.基于微信小程序的高校学生学术活动管理平台开发研究[J].电子元器件与信息技术,2020,4(12):150-151.

[10] 吴耀.基于LiteOS和人工智能技术的物联网智能门锁系统[J].物联网技术,2025,15(1):98-101.

[11] 李晓薇.vue.js前端应用技术分析[J].网络安全技术与应用,2022(4):44-45.

【通联编辑:谢媛媛】

经典小说推荐

杂志订阅