SCI论文(www.lunwensci.com)
摘 要:针对公益事业中如何去帮扶,在哪里帮扶,能帮扶什么事情等问题,设计出一款基于微信小程序的公益帮扶小 程序—灰鸽公社。基于微信小程序本身的便捷性、用户群体大的特点,采用前端 Vue + Uniapp + Vuex + Uview + Axios 技 术、 后端前 台 Vue3 + Vite + Ts + Pinia + Element-Plus + Axios + AntV G2 技术和服务端 Express + Ts + DB + Redis + MongoDB 技术,设计实现了活动大厅、事务大厅、知识问答、悬浮加号、更多文章、我的、消息七个模块以及我需要、我可 以、内容审核三大特色功能,帮助痛点用户和需求用户解决相关问题,让更多的有志之士参与到相关的公益活动中来,同时也 帮助更多有困难的人,较合理的解决两类用户的相应需求。
The Design and Implementation of Public Welfare Small Program Based on Node.js and MongoDB
SUN Guocheng, CHEN Darui, ZHANG Zhaoyan, PENG Yao, SUN Jing
( Qingdao Huanghai University, Qingdao Shandong 266427)
【Abstract】: In view of the public welfare undertakings in how to help, where to help, can help what things and other issues, designed a public welfare assistance program based on WeChat applet-grey pigeon commune. Based on the convenience of WeChat applet itself, the characteristics of large user groups. Using front-end Vue + Uniapp + Vuex + Uview + Axios technology, back-end front Vue3 + Vite + Ts + Pinia + Element-Plus + Axios + AntV G2 technology and server Express + Ts + DB + Redis + MongoDB technology. The design and implementation of the seven modules of the activity hall, the business hall, the knowledge question and answer, the suspension plus, the more articles, my, the message, and the three characteristic functions of my need, I can, and the content audit, help the pain point users and the demand users to solve the related problems, let more people with lofty ideals participate in the related public welfare activities, but also help more people with difficulties, and solve the corresponding needs of the two types of users more reasonably.
【Key words】: Node.js;MongoDB;UniApp Hybridapp;public welfare assistance;volunteer service
0 引言
随着我国公益事业的发展,越来越多的人希望参与 到公益相关的活动中来,但是很多人因为消息不灵通, 不知道如何更好的去实现自己的公益梦想。为了让更多 的有志之士参与到相关的公益活动中来。本次开发的灰鸽公社微信小程序,通过微信小程序的方式让更多的人 参与到公益帮扶志愿活动中来。
1 系统总体架构
灰鸽公社采用 B/S 架构与 MVC 前后端分层设计方 案。其总体架构,如图 1 所示 [1]。
1.1 项目简介
灰鸽公社是一款公益帮扶类小程序,它主要以帮助 有困难的、身体不便的残疾人、老人、孕妇为主,同时 为有志于参与到公益事业中的志愿者们提供爱心平台。 在党和国家的支持下我国公益事业发展的越来越好,但 也有一些问题随之出现,比如 :如何去帮扶,在哪里帮 扶,能帮扶什么事情等都是萦绕在志愿者心头的“难 事”,诸多朋友都有着公益的想法,但是总会被一些事 情耽误 ;正因为如此灰鸽公社应运而生。灰鸽公社小程 序是集帮扶、知识问答、文章浏览为一体综合性服务平 台,分别面向痛点用户和需求用户,痛点用户可以在 “我可以”中寻找适合自己的“任务”,需求用户则是在 “我需要”中,根据自己遇到的困难发布任务。在这样 的任务设计中,较合理的解决两类用户的相应需求,可 以在“顺手”中做公益 !
1.2 需求分析和功能流程
1.2.1 用户功能需求
用户进入小程序可以实现以下功能 :
(1)首页 :首页具备有功能模块(我可以、我需 要、知识问答、事务大厅、活动大厅)、文章推荐、底 部功能区(主页、消息、我的)、悬浮加号(点击将会 显示发布“我可以”、文章发布、发布“我需要”)。“我 可以”功能提供帮助用户的 ID、可以提供帮助的发布 时间、需求内容、主题内容 ;“我需要”功能显示各个 求助用户的 ID、发布时间、需求内容,每个求助者的 需求将会显示工单状态、困难程度、紧急程度 ;“知识 问答”共十道单项选择题,满足用户在做服务的同时进 行知识的积累与学习 ;“事务大厅”主要是两部分,分 别是“我可以”和“我需要”;“活动大厅”用户根据发 布者发布的内容和用户的自身需求选择适合自己参加 的活动 ;“文章推荐”满足用户多样化需求,可进行点 赞、分享 ;“悬浮加号”功能是“发布我可以”“发布文 章”“发布我需要”;“我的信息”可以看到用户的基本资料,用户也可以自己编辑,满足用户个性需求 ;“创 作记录”中可以看到自己在该平台的所有创作记录 ; “帮助记录”中用户可以看到自己在该平台的所有帮助 记录 ;“活动记录”中用户可以看到自己在该平台的所 有活动记录 ;“联系客服”可以直接和客服进行沟通, 提供解决问题的平台 ;“问题反馈”中有功能异常、产 品建议、违法举报三种类型,用户根据实际情况进行相 应的问题反馈。
(2) 消息 :消息栏可快速全面查看帮助需求的通知。
(3) 我的 :用户主页, 可以看到页面上方有用户的 头像、昵称、微信号,有用户的基本信息,已帮助的事 务,已经解答的问题,可以进入创作记录、帮助记录、 活动记录,还可以联系客服、问题反馈。
1.2.2 管理功能需求
管理员登陆后,主要模块包括 :
(1) 首页 :首页的页面由四部分组成, 分别是当前 时间、灰鸽公社小程序二维码、事务大厅活动实时数 据、灰鸽公社数据总览。当前时间是指显示后台管理者 使用的实时时间,还设有实时动画,当时间为白天时会 显示小太阳,时间为晚上时会显示小月亮 ;灰鸽公社小 程序二维码 :后台管理者可以用微信扫描二维码直接进 入小程序 ;事务大厅活动实时数据显示的是所有用户发 的请求、解决的问题和未解决问题的数量 ;灰鸽公社数 据总览则是各个板块相应活动发布的数量。
(2) 权限 :轮播图控制, 后台管理人员可以删除或 增加轮播图,并将增加的轮播图的加入时间和增加的照 片 ;活动大厅的删除和增加,后台管理人员可以进行活 动的删除和增加,在网页上会显示所有的活动、发布时 间、发布人、标题、内容 ;文章列表的浏览和删除,后 台管理人员可以删除和浏览所有的文章,同时也会显示 出每个帖子的发表时间、作者的 ID 和名字、文章的标 题和内容 ;“我需要”的浏览和删除,后台管理人员可 以移除“我需要”的用户,并在网页上显示“我需要”的发布时间,状态,紧急情况,难度,发布者的 ID 和 名字, “我需要”;“我可以”的浏览和删除,后台管理 员可以将“我可以”的内容从用户的发布中移除,并在 网页上显示“我可以”的发布时间、主题、内容、发布 人的 ID 和名字 ;增加和删除知识问答,后台管理人员 可以从题库中增加或移除题目,并在网页上显示题目、 答案、解析、选项。
2 数据库结构设计
灰鸽公社小程序“我需要”功能的数据结构设计, 如表 1 所示。
3 技术实现
项目采用前后端分离的模式开展项目的设计与开 发,本次项目中采用合作式开发,使用 Gitee 代码托管、 代码同步、代码版本控制,来查看团队开发的进度,以 及版本上的迭代。
3.1 小程序前端
前端采用新兴技术 Vue + UniApp + Vuex + Uview 框架进行编写,使用 Axios 封装全局拦截器等做前后端 跨域和数据通信,采用小程序机制的 Https 安全策略, 采用 Axios 的通信,如图 2 所示。
使用 Vuex 做全局状态管理器, 采用集中式存储管 理应用的所有组件的状态,并以相应的规则保证状态以 一种可预测的方式发生变化,使用组件封装的方式对灰鸽公社小程序前端界面进行编写,这样方便日后对小程 序进行功能完善以及对问题的修复。
3.2 后台管理前端
后台管理系统使用今年最新的 Vue3 + Vite + Ts + Element-Plus 的技术方案进行开发。
使用 Pinia 完成全局状态管理, 并使用 Axios 配置 全局请求拦截器以及响应拦截器。首页大数据可视化使 用了阿里巴巴旗下的 AntV G2 图表技术。
3.3 服务端
服务器端使用了 Nodejs + Express + Ts 的技术方 案进行开发,并实现了一个内置的可供微信小程序和后 台管理系统通用的图床系统。权限方面采用了 JWT 的 标准,这种基于 Token 的认证方式相比传统的 Session 认证方式更节约服务器资源,并且对移动端和分布式更 加友好。为保证用户发布的信息内容安全,服务器端接 入了百度大脑 AI 审核文本以及图片的合法合规性,用 户发布的任何内容都会加以审核,如不合规即不会放开 发布权限。最终,在服务器上使用 PM2 部署系统。
4 结论
本文对“灰鸽公社”微信小程序的相关设计和流程 进行了相关分析,对项目的社会现状、需解决的社会痛 点进行相应的分析,依据此提出了自己的需求和项目设 计,同时,采用前端、后端前台、服务端技术,设计项 目的功能模块和特色功能,并对其进行了详细分析,针 对痛点,解决痛点,让更多的有志之士参与到相关的公 益活动中来,同时也帮助更多有困难的人,保证了项目 的完整性、合理性。
参考文献
[1] 刘江涛,王亮亮,崔夏阳,等.基于Node.js和MongoDB的铁 路选线案例系统设计与实现[J].铁路计算机应用,2021.30(9): 42-46.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/61024.html