基于微信小程序的大学生社团管理系统划分了微信用户端和后台管理员端,其中微信用户端使用微信开发者工具开发和html、js、css、layui技术,后台管理员端使用IDEA开发工具和spingboot、fastjson、mybatis-plus、thymeleaf、shiro技术,微信端调用了腾讯得图SDK进行社团导航技术。微信端上分为了用户和社团管理员两种角色,它们都可以在微信端上进行注册和登录,其中用户可以浏览社团介绍、申请加入/退出社团、浏览社团风采、浏览社团活动、在线留言等;社团管理员可以进行维护自己社团介绍信息、审批加入社团、踢出社团成功、发布自己社团内的社团风采信息和社团活动信息;后台端的管理员可以进行管理员登录、社团管理员管理、微信端用户管理、通知公告管理、社团管理、留言板管理等功能,并提供了相应的模块和界面对应,实现系统的模块化管理。本文按照软件工程的设计思路开发一套基于微信小程序的大学生社团管理系统,为给在校大学提供社团交流的服务。
关键词:社团管理;腾讯地图;微信小程序;SpringBoot;MySQL
2.2 功能性需求分析
服务端网页:
1、管理员功能模块
(1)登录模块:用户登录
(2)注册管理:管理社团管理员注册(同意或者拒绝)
(3)个人管理:用于修改系统管理员个人资料和用户密码等
(4)通知公告管理:管理员可以下发通知公告,小程序端用户可以查看。
(5)社团管理:管理员可以添加和修改社团,包括名称,介绍,社团管理员,账号,密码,电话,和社团位置(地图功能)等。
(6)注册用户列表:管理员可以管理微信端注册的用户信息。
(7)留言板管理:管理员可以管理用户的留言信息,也可以回复。
微信端模块:
1、微信端社团管理员
(1)注册登录:用户可以进行注册(需经过管理员同意)并登录
(2)个人管理:用于修改个人资料和用户密码
(3)社团活动:可以下发社团活动(可以添加多张图片)的通知活动等信息,社团团员可以查看社团活动。
(4)社团介绍:可以编辑社团的介绍信息,添加或者修改社团位置(地图功能),社团团员可以查看社团介绍
(5)社员管理:可以查看入团申请,查看社团成员。也可以踢出社团。
(6)社团风采:社团团长可以上传一些社团的照片和简介,社员可以查看。
(7)留言板:可以在留言板进行留言。
2、微信端用户功能模块
(1)注册登录:用户可以进行注册并登录。
(2)通知公告:登录后可以查看系统的通知公告
(3)社团查看:查看所有社团列表,点开可以查看社团介绍,查看社团的位置及导航(地图功能),并可以申请加入该社团和退出社团。用户可以加入多个社团。
(4)社团活动:用户可以查看已经加入的社团发布的社团活动通知
(5)社团风采:用户可以查看已参加的社团发布的社团照片。
(6)留言板:可以在留言板进行留言。
3.2 系统模块设计
基于微信小程序的大学生社团管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-1所示。
3.3.3 逻辑结构设计
(1)超级管理员基本表
表3.1 超级管理员基本表 users
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
id | int(11) | 是 | 否 | 否 | 主键 自增 |
username | varchar(255) | 否 | 否 | 是 | 姓名 |
password | varchar(255) | 否 | 否 | 是 | 密码 |
gender | varchar(255) | 否 | 否 | 是 | 性别 |
age | int(11) | 否 | 否 | 是 | 年龄 |
phone | varchar(255) | 否 | 否 | 是 | 电话 |
(2)社团管理员基本表
表3.2社团管理员基本表 club_admin
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
id | varchar(255) | 是 | 否 | 否 | 主键 自增 |
username | varchar(255) | 否 | 否 | 是 | 姓名 |
password | varchar(255) | 否 | 否 | 是 | 密码 |
gender | varchar(255) | 否 | 否 | 是 | 性别 |
age | int(11) | 否 | 否 | 是 | 年龄 |
phone | varchar(255) | 否 | 否 | 是 | 电话 |
(3)微信用户基本表
表3.3微信用户基本表 wx_users
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
user_id | varchar(255) | 是 | 否 | 否 | 主键 自增 |
username | varchar(255) | 否 | 否 | 是 | 姓名 |
password | varchar(255) | 否 | 否 | 是 | 密码 |
gender | varchar(255) | 否 | 否 | 是 | 性别 |
major | varchar(255) | 否 | 否 | 是 | 专业 |
phone | varchar(255) | 否 | 否 | 是 | 电话 |
(4)社团基本表
表3.4社团基本表 club
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
id | varchar(255) | 是 | 否 | 否 | 主键 自增 |
name | varchar(255) | 否 | 否 | 是 | 社团名称 |
introduction | varchar(255) | 否 | 否 | 是 | 社团简介 |
address | varchar(255) | 否 | 否 | 是 | 社团地址 |
latitude | float | 否 | 否 | 是 | 纬度 |
longitude | float | 否 | 否 | 是 | 经度 |
admin_id | varchar(255) | 否 | 是 | 是 | 管理员id |
picture | varchar(255) | 否 | 否 | 是 | 社团图片 |
(5)社团活动基本表
表3.5社团活动基本表 activity
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
id | int(11) | 是 | 否 | 否 | 主键 自增 |
title | varchar(255) | 否 | 否 | 是 | 活动名称 |
content | varchar(255) | 否 | 否 | 是 | 活动内容 |
start_time | varchar(255) | 否 | 否 | 是 | 活动开始时间 |
poster | varchar(255) | 否 | 否 | 是 | 活动海报 |
club_id | int(11) | 否 | 是 | 是 | 发布活动社团id |
(6)社团风采基本表
表3.6社团风采基本表 club_show
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
id | int(11) | 是 | 否 | 否 | 主键 自增 |
content | varchar(255) | 否 | 否 | 是 | 活动内容 |
poster | varchar(255) | 否 | 否 | 是 | 海报 |
club_id | int(11) | 否 | 是 | 是 | 发布活动社团id |
(7)留言板基本表
表3.7留言板基本表 leave_message
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
id | int(11) | 是 | 否 | 否 | 主键 自增 |
content | varchar(255) | 否 | 否 | 是 | 内容 |
user_id | varchar(255) | 否 | 否 | 是 | 发布用户 |
super_admin | varchar(255) | 否 | 是 | 是 | 超级管理员 |
(8)公告基本表
表3.8公告基本表 notice
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
id | int(11) | 是 | 否 | 否 | 主键 自增 |
content | varchar(255) | 否 | 否 | 是 | 内容 |
title | varchar(255) | 否 | 否 | 是 | 标题 |
create_time | datetime | 否 | 否 | 是 | 发布时间 |
(9)用户所属社团基本表
表3.9用户所在社团基本表 stu_club
字段 | 类型 | 主键 | 外键 | 允许为空 | 备注 |
id | int(11) | 是 | 否 | 否 | 主键 自增 |
club_id | varchar(255) | 否 | 是 | 是 | 社团id |
stu_id | varchar(255) | 否 | 是 | 是 | 学生id |
statue | int(11) | 否 | 否 | 是 | 审核状态 |