✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、SpringCloud、Layui、Echarts图表、Nodejs、爬虫、微信小程序、机器学习等设计与开发。主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、远程代码部署调试、代码讲解和理解代码逻辑思路。
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
一、项目背景介绍:
心理小程序主要给心理医生和用户提供一个心理测试的平台,其中主要功能有用户进行测试,心理医生上传试卷,得到测试结果,贴吧交流,心理医生咨询等等
二、项目技术简介:
- JAVA:Java是一门面向对象编程语言 ,不仅吸收了C++语言的各种优点 ,还摒弃了C++里难以理解的多继承、指针 等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
- SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
- Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
- smart:微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或搜一下即可打开应用。
全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。微信小程序、微信订阅号、微信服务号、微信企业号是并行的体系。
。
微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展,微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人,社会效应不断提升。
三、系统功能模块介绍:
四、数据库设计:
1:'贴吧评论表'(comments)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 贴吧编号 |
from_stu_id | bigint | NULL | 评论学生编号 |
content | text | NULL | 评论内容 |
to_stu_id | bigint | NULL | 回复人编号 |
parent_id | bigint | NULL | 父级评论编号 |
img_list | text | NULL | 图片列表 |
create_time | datetime | NULL | 评论时间 |
type | int | NULL | 类型 |
tea_id | bigint | NULL | 医生ID |
2:likes(likes)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 主键ID |
user_id | bigint | NULL | 用户ID |
common_id | bigint | NULL | 评论ID |
create_time | datetime | NULL | 创建时间 |
3:'管理员表'(manage)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 管理员编号 |
user_name | varchar | NULL | 用户名 |
pass_word | varchar | NULL | 密码 |
photo_img | varchar | NULL | 图片 |
name | varchar | NULL | 名称 |
4:message(message)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 消息ID |
send_user_id | bigint | NULL | 发送用户ID |
accept_user_id | bigint | NULL | 发送用户ID |
create_time | datetime | NULL | 创建时间 |
5:message_info(message_info)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 消息详情ID |
info | text | NULL | 内容 |
message_id | bigint | NULL | 聊天ID |
position | varchar | NULL | 左边右边 |
send_user_id | bigint | NULL | 发送用户ID |
accept_user_id | bigint | NULL | 发送用户ID |
create_time | datetime | NULL | 创建时间 |
6:'题目表'(questions)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 题目编号 |
title | text | NULL | 题目标题 |
option_a | varchar | NULL | 选项A |
option_b | varchar | NULL | 选项B |
option_c | varchar | NULL | 选项C |
option_d | varchar | NULL | 选项D |
grade_a | varchar | NULL | 答案A分数 |
grade_b | varchar | NULL | 答案B分数 |
teacher_id | bigint | NULL | 老师编号 |
create_time | datetime | NULL | 创建时间 |
grade_c | varchar | NULL | 答案C分数 |
grade_d | varchar | NULL | 答案D分数 |
7:'建档信息'(records)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 档案编号 |
stu_id | bigint | NULL | 学生编号 |
test_id | bigint | NULL | 试卷编号 |
tea_id | bigint | NULL | 教师编号 |
grade | varchar | NULL | 考试分数 |
create_time | datetime | NULL | 创建时间 |
info | varchar | NULL | 对应结果 |
8:'学生表'(student)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 学生编号 |
stu_name | varchar | NULL | 学生姓名 |
stu_age | int | NULL | 年龄 |
stu_sex | int | NULL | 性别[0:男,1:女] |
stu_phone | varchar | NULL | 联系方式 |
stu_address | varchar | NULL | 家庭住址 |
stu_class_num | varchar | NULL | 所属班级 |
stu_img | varchar | NULL | 照片 |
password | varchar | NULL | 登录密码 |
username | varchar | NULL | 登录用户名 |
9:'老师'(teachers)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 教师编号 |
username | varchar | NULL | 账号 |
password | varchar | NULL | 密码 |
tea_name | varchar | NULL | 姓名 |
tea_age | int | NULL | 年龄 |
tea_sex | int | NULL | 性别 |
tea_info | text | NULL | 简介 |
tea_tel | varchar | NULL | 联系方式 |
tea_img | varchar | NULL | 头像 |
create_time | datetime | NULL | 创建时间 |
varchar | NULL | 邮箱 |
10:'试卷管理'(test_paper)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 试卷编号 |
tea_id | bigint | NULL | 所属老师 |
title | varchar | NULL | 试卷标题 |
img | varchar | NULL | 封面图片 |
create_time | datetime | NULL | 创建时间 |
total_grade | varchar | NULL | 总分 |
info | varchar | NULL | 试卷简介 |
11:'试卷题目'(test_questions)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 主键ID |
test_id | bigint | NULL | 所属试卷 |
question_id | bigint | NULL | 题目编号 |
tea_id | bigint | NULL | 老师编号 |
12:'试卷规则管理'(test_rules)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 规则编号 |
test_id | bigint | NULL | 试卷编号 |
min_grade | int | NULL | 最低分数 |
max_grade | int | NULL | 最高分数 |
info | varchar | NULL | 对应结果 |
create_time | datetime | NULL | 创建时间 |
tea_id | bigint | NULL | 老师编号 |
五、功能模块:
-
医生&管理员登录:医生和管理员登录系统页面
-
医生首页:医生快捷菜单,包含试卷管理,试卷规则,个人信息等
-
在线咨询:心理医生和用户在线聊天
-
心理测试:用户进行心理测试
-
用户首页:试卷列表
-
贴吧:用户进行交流心得
-
管理员首页:管理员对医生用户进行管理
六、代码示例:
java
@PostMapping
public ReturnMsg manageLogin(@RequestBody Map<String, String> param) {
if (StrUtil.isEmpty(param.get("username")) || StrUtil.isEmpty(param.get("password"))) {
return ReturnMsg.error("用户名或密码错误!");
}
ManageDTO manageDTO = new ManageDTO();
manageDTO.setUserName(param.get("username"));
manageDTO.setPassWord(param.get("password"));
QueryWrapper<ManageDTO> manageDTOQueryWrapper = new QueryWrapper<>(manageDTO);
manageDTOQueryWrapper.last("limit 1");
ManageDTO adminDTOS = manageService.getOne(manageDTOQueryWrapper);
if (adminDTOS == null) return ReturnMsg.error("用户名或密码错误!");
Map<String, Object> map = new HashMap<>();
return ReturnMsg.ok(adminDTOS);
}
@PostMapping("/tea")
public ReturnMsg teacherLogin(@RequestBody Map<String, String> param) {
if (StrUtil.isEmpty(param.get("username")) || StrUtil.isEmpty(param.get("password"))) {
return ReturnMsg.error("用户名或密码错误!");
}
TeachersDTO manageDTO = new TeachersDTO();
manageDTO.setUsername(param.get("username"));
manageDTO.setPassword(param.get("password"));
QueryWrapper<TeachersDTO> manageDTOQueryWrapper = new QueryWrapper<>(manageDTO);
manageDTOQueryWrapper.last("limit 1");
TeachersDTO adminDTOS = teachersService.getOne(manageDTOQueryWrapper);
if (adminDTOS == null) return ReturnMsg.error("用户名或密码错误!");
return ReturnMsg.ok(adminDTOS);
}
@GetMapping
public ReturnMsg getUserInfo(@RequestParam("token") String token) {
if (!userInfoMap.containsKey(token)) return ReturnMsg.error("尚未登录,请重新登录!");
return ReturnMsg.ok(JSON.parse(userInfoMap.get(token)));
}
@GetMapping("/logout")
public ReturnMsg logout(@RequestParam("token") String token) {
userInfoMap.remove(token);
return ReturnMsg.ok();
}
七、项目总结:
通过对基于JAVA+SpringBoot+uniapp的心理小程序(小程序版本)的开发,让我深刻明白开发一个程序软件需要经历的流程,当确定要开发一个基于JAVA+SpringBoot+uniapp的心理小程序(小程序版本)的程序时,
我在开发期间,对其功能进行合理的需求分析,然后才是程序软件的功能的框架设计,数据库的实体与数据表设计,
程序软件的功能详细界面实现,以及程序的功能测试等进行全方位的细致考虑,虽然在此过程中,各个环节都遇到了大大小小的困难,但是通过对这些问题进行反复的分析,深入的思考,
借助各种相关文献资料提供的方法与解决思路成功解决面临的各个问题,最后成功的让我开发的基于JAVA+SpringBoot+uniapp的心理小程序(小程序版本)得以正常运行。
基于JAVA+SpringBoot+uniapp的心理小程序(小程序版本)在功能上面是基本可以满足用户对系统的操作,但是这个程序软件也有许多方面是不足的,因此,在下一个时间阶段,有几点需要改进的地方需要提出来,它们分别是:
(1)操作页面可以满足用户简易操作的要求,但是在页面多样化设计层面上需要把一些比较丰富的设计结构考虑进来。
(2)程序软件的总体安全性能需要优化,例如程序的退出安全性,以及程序的并发性等问题都需要进行安全性升级,让开发的基于JAVA+SpringBoot+uniapp的心理小程序(小程序版本)中的相关网站更贴合。
(3)需要对程序的数据结构方面,程序的代码方面等进行优化,让运行起来的程序可以保持稳定运行,也让程序能够保证短时间内处理相关事务,节省处理事务的时间,提高事务处理的效率,
同时对服务器上资源占用的比例进行降低。
基于JAVA+SpringBoot+uniapp的心理小程序(小程序版本)的开发一方面是对自身专业知识技能进行最终考核,另一方面也是让自己学会独立解决程序开发过程中所遇到的问题,掌握将理论知识运用于程序开发实践的方法。
基于JAVA+SpringBoot+uniapp的心理小程序(小程序版本)的开发最终目标就是让系统更具人性化,同时在逻辑设计上,让系统能够更加的严谨。
八、源码获取:
大家点赞、收藏、关注、评论 啦 、查看 👇🏻👇🏻👇🏻获取项目下载链接,博主联系方式👇🏻👇🏻👇🏻