心灵伴侣 - 心理健康微信小程序

Express 5 + 微信原生小程序心理健康应用,提供匿名树洞倾诉、专业心理测试(焦虑/抑郁/压力量表)、情绪日记追踪与冥想放松音频等功能。

评分:4.8/5.0
销量:79
发布:12/2/2025
难度:L3 高级

获取完整源码

演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。

获取完整源码观看演示视频
含项目说明文档,便于对照学习
可本地运行,适合课设演示
沟通获取后可咨询运行问题

项目封面

截图 1

项目概览

心灵伴侣心理健康小程序毕业设计专注 C 端用户体验,无管理后台,Express + MySQL 提供 API 支撑。核心模块含匿名树洞、多种心理自评量表、情绪日记智能分析与引导式冥想音频,UI 清新温暖,适合心理健康与小程序类毕业设计。

项目说明

心灵伴侣 - 心理健康微信小程序

项目简介

这是一个专注于心理健康的微信小程序,为用户提供情感支持、心理评估、情绪管理和冥想放松等功能。系统采用Express后端 + 微信小程序原生开发的架构,提供匿名树洞、专业心理测试、情绪日记记录、冥想音频等核心功能,帮助用户关注和改善心理健康状态。

技术栈

后端技术

技术版本/说明
运行环境Node.js 20+
Web框架Express 5.1.0
数据库MySQL 8.0+
数据库驱动mysql2 3.14.1
HTTP请求axios 1.9.0
环境变量dotenv 16.5.0
交互式CLIinquirer 8.2.5
热重载nodemon 3.1.0

小程序端技术

技术版本/说明
开发框架微信小程序原生框架
开发语言JavaScript (ES6+)
样式语言WXSS
模板语言WXML
音频播放微信小程序音频API

项目特点

  • 纯后端+小程序架构:无管理后台,专注小程序端用户体验
  • 匿名树洞:安全的情感倾诉空间,支持匿名分享
  • 专业心理测试:多种科学的心理评估工具
  • 情绪日记:记录和追踪情绪变化,智能分析情绪趋势
  • 冥想放松:引导式冥想音频和呼吸练习
  • 简洁设计:清新温暖的UI设计,营造舒适的使用体验
  • 隐私保护:用户数据加密存储,支持匿名功能

功能模块

小程序端功能

1. 首页模块 (pages/index)

  • 功能导航入口
  • 心理健康资讯
  • 每日心情打卡
  • 快速访问各功能模块

2. 树洞倾诉模块 (pages/treehole)

  • 匿名发表心声
  • 浏览他人分享内容
  • 情感标签分类
  • 安全的情感倾诉空间
  • 互相支持和鼓励

3. 心理测试模块 (pages/psychtest)

  • 多种专业心理评估
  • 焦虑自评量表
  • 抑郁自评量表
  • 压力测试
  • 个性化测试结果分析
  • 专业建议推荐
  • 历史测试记录

4. 情绪日记模块 (pages/emotion)

  • 日记首页 (index/index)

    • 情绪日记列表
    • 情绪统计概览
    • 快速记录入口
  • 创建日记 (create/create)

    • 情绪评分(1-10分)
    • 日记内容记录
    • 情绪标签选择(开心、兴奋、满足、焦虑、悲伤等)
    • 日期时间记录
  • 日记详情 (detail/detail)

    • 查看历史日记
    • 编辑和删除日记
  • 情绪统计 (stats/stats)

    • 情绪数据可视化
    • 情绪变化趋势分析
    • 情绪分布统计
    • 情绪提醒功能

5. 冥想与放松模块 (pages/meditation)

  • 冥想首页 (index/index)

    • 冥想资源列表
    • 分类浏览(呼吸冥想、正念冥想、睡眠冥想、减压冥想、主题冥想)
    • 播放次数统计
  • 音频播放器 (player/player)

    • 引导式冥想音频播放
    • 播放进度控制
    • 背景播放支持
    • 播放历史记录
  • 呼吸练习 (breathing/breathing)

    • 呼吸节奏引导
    • 可视化呼吸动画
    • 自定义练习时长
  • 放松训练 (relax/relax)

    • 渐进式肌肉放松
    • 身体扫描练习
    • 放松技巧指导

6. 用户登录模块 (pages/login)

  • 登录页 (index/index)

    • 微信授权登录
    • 账号密码登录
    • 自动登录
  • 注册页 (register/register)

    • 用户注册
    • 信息完善
  • 忘记密码 (forget/forget)

    • 密码找回
    • 密码重置

项目结构

xinli-health-min/
├── express/                        # 后端服务(Express + MySQL)
│   ├── config/                     # 配置文件
│   │   ├── db.js                   # 数据库配置
│   │   └── wx.js                   # 微信配置
│   ├── controllers/                # 控制器
│   │   ├── authController.js       # 认证控制器
│   │   ├── emotionController.js    # 情绪日记控制器
│   │   ├── meditationController.js # 冥想控制器
│   │   ├── psychtestController.js  # 心理测试控制器
│   │   └── treeholeController.js   # 树洞控制器
│   ├── public/                     # 静态资源
│   │   ├── audio/                  # 音频文件
│   │   └── images/                 # 图片文件
│   ├── routes/                     # 路由文件
│   │   └── miniapp.js              # 小程序API路由
│   ├── .env                        # 环境变量配置
│   ├── index.js                    # 服务入口
│   ├── setup.js                    # 数据库初始化脚本
│   └── package.json
│
├── min/                            # 微信小程序
│   ├── pages/                      # 页面目录
│   │   ├── index/                  # 首页
│   │   │   └── index.*
│   │   ├── login/                  # 登录模块
│   │   │   ├── index/              # 登录页
│   │   │   ├── register/           # 注册页
│   │   │   └── forget/             # 忘记密码
│   │   ├── treehole/               # 树洞模块
│   │   │   └── index/
│   │   ├── psychtest/              # 心理测试模块
│   │   │   └── index.*
│   │   ├── emotion/                # 情绪日记模块
│   │   │   ├── index/              # 日记列表
│   │   │   ├── create/             # 创建日记
│   │   │   ├── detail/             # 日记详情
│   │   │   └── stats/              # 情绪统计
│   │   └── meditation/             # 冥想模块
│   │       ├── index/              # 冥想首页
│   │       ├── player/             # 音频播放器
│   │       ├── breathing/          # 呼吸练习
│   │       └── relax/              # 放松训练
│   ├── static/                     # 静态资源
│   │   └── images/                 # 图片资源
│   ├── utils/                      # 工具函数
│   │   ├── request.js              # 请求封装
│   │   └── util.js                 # 工具函数
│   ├── app.js                      # 小程序入口
│   ├── app.json                    # 小程序配置
│   ├── app.wxss                    # 全局样式
│   ├── emotion.wxs                 # WXS脚本
│   └── project.config.json         # 项目配置
│
├── miniapp_db.sql                  # 数据库SQL文件
├── 运行手册.md                      # 运行说明
└── 演示视频.mp4                     # 演示视频

数据模型

用户表 (users)

{
  id: varchar(50),              // 用户ID(主键)
  username: varchar(50),        // 用户名(唯一)
  password: varchar(128),       // 密码(加密)
  salt: varchar(32),            // 密码盐值
  nickname: varchar(255),       // 昵称
  avatar_url: varchar(255),     // 头像URL
  gender: tinyint(4),           // 性别 (0未知 1男 2女)
  open_id: varchar(50),         // 微信OpenID
  created_at: timestamp,        // 创建时间
  last_login: timestamp         // 最后登录时间
}

情绪日记表 (emotion_diaries)

{
  id: int,                      // 日记ID(主键,自增)
  user_id: varchar(50),         // 用户ID
  mood_score: int,              // 情绪评分(1-10)
  content: text,                // 日记内容
  tags: json,                   // 情绪标签(JSON数组)
  created_at: timestamp         // 创建时间
}

冥想资源表 (meditation_resources)

{
  id: int,                      // 资源ID(主键,自增)
  title: varchar(100),          // 标题
  description: text,            // 描述
  audio_url: varchar(255),      // 音频URL
  cover_url: varchar(255),      // 封面图URL
  duration: int,                // 时长(分钟)
  category: varchar(50),        // 分类
  play_count: int,              // 播放次数
  created_at: timestamp,        // 创建时间
  updated_at: timestamp         // 更新时间
}

树洞表 (tree_holes)

{
  id: int,                      // 树洞ID(主键,自增)
  content: text,                // 内容
  user_id: varchar(50),         // 用户ID
  is_anonymous: tinyint(1),     // 是否匿名 (0否 1是)
  created_at: timestamp         // 创建时间
}

冥想资源分类

分类名称说明时长
呼吸冥想通过专注于呼吸,帮助平静心情,缓解压力和焦虑5分钟
正念冥想培养当下觉知能力,改善注意力和情绪管理10分钟
睡眠冥想帮助放松身心,为良好的睡眠做准备15分钟
减压冥想专为缓解压力和焦虑设计的冥想练习8分钟
主题冥想感恩冥想、自信冥想等主题练习12分钟

情绪标签

标签类型标签示例
积极情绪开心、兴奋、满足、平静、感恩、自信
消极情绪焦虑、悲伤、愤怒、失落、疲惫、孤独
中性情绪平淡、困惑、思考、期待

运行环境要求

后端环境

  • Node.js 20.0+
  • MySQL 8.0+
  • npm 或 yarn

小程序端

  • 微信开发者工具(最新稳定版)
  • 基础库版本 2.19.0+
  • 需要有效的AppID

快速开始

1. 数据库配置

  1. 修改环境变量配置 编辑 express/.env 文件:
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=miniapp_db
  1. 自动初始化数据库
cd express
npm install
npm run setup

该命令会自动:

  • 创建数据库
  • 导入表结构
  • 插入初始数据

2. 配置微信参数

编辑 express/config/wx.js,配置微信小程序参数:

module.exports = {
  appId: 'your_app_id',
  appSecret: 'your_app_secret'
}

3. 启动后端服务

cd express

# 开发模式启动
npm run dev

后端服务默认运行在 http://localhost:3000

4. 运行小程序

  1. 打开微信开发者工具
  2. 选择"导入项目"
  3. 选择 min 目录
  4. 填入AppID(可使用测试号)
  5. 点击"导入"

5. 配置小程序API地址

编辑 min/utils/request.js,修改API基础地址:

const baseUrl = 'http://localhost:3000'  // 修改为你的后端地址

注意:开发时需在微信开发者工具中关闭"不校验合法域名"选项

默认账号

测试账号

  • 用户名:test
  • 密码:123456
  • 用户ID:test_user_id

小程序端

  • 支持微信授权登录
  • 或使用测试账号登录

API接口说明

用户认证

  • POST /api/login - 用户登录
  • POST /api/register - 用户注册
  • POST /api/wx-login - 微信授权登录

树洞

  • GET /api/treeholes - 获取树洞列表
  • POST /api/treeholes - 发布树洞
  • DELETE /api/treeholes/:id - 删除树洞

情绪日记

  • GET /api/emotion-diaries - 获取日记列表
  • POST /api/emotion-diaries - 创建日记
  • GET /api/emotion-diaries/:id - 获取日记详情
  • PUT /api/emotion-diaries/:id - 更新日记
  • DELETE /api/emotion-diaries/:id - 删除日记
  • GET /api/emotion-diaries/stats - 获取情绪统计

冥想资源

  • GET /api/meditation-resources - 获取冥想资源列表
  • GET /api/meditation-resources/:id - 获取资源详情
  • POST /api/meditation-resources/:id/play - 记录播放次数

心理测试

  • GET /api/psychtests - 获取测试列表
  • POST /api/psychtests/submit - 提交测试结果
  • GET /api/psychtests/history - 获取测试历史

界面预览

项目包含演示视频文件:

  • 演示视频.mp4 - 小程序完整功能演示

扩展建议

如需进一步完善项目,可考虑以下扩展:

  1. 专业咨询:接入在线心理咨询服务
  2. 社区功能:用户互助社区和话题讨论
  3. AI对话:集成AI心理陪伴机器人
  4. 数据分析:更深入的情绪数据分析和可视化
  5. 提醒功能:情绪记录提醒、冥想提醒
  6. 分享功能:分享到朋友圈或好友
  7. 成就系统:打卡签到和成就徽章
  8. 课程体系:心理健康知识课程
  9. 危机干预:紧急心理危机识别和干预
  10. 多语言支持:国际化多语言版本

注意事项

  1. 本项目为学习演示项目,涉及心理健康内容仅供参考
  2. 生产环境部署需要配置HTTPS
  3. 小程序上线需要完成微信认证
  4. 涉及心理健康服务需符合相关法规要求
  5. 建议定期备份数据库数据
  6. 音频文件需要自行准备或购买版权
  7. 心理测试量表需要专业授权

常见问题

Q: 数据库连接失败?

A: 检查MySQL服务是否启动,.env文件中的数据库配置是否正确

Q: 音频无法播放?

A: 检查音频文件路径是否正确,音频格式是否支持(建议使用mp3格式)

Q: 小程序无法请求后端?

A: 检查request.js中的baseUrl配置,开发时需在微信开发者工具中关闭"不校验合法域名"

Q: 微信登录失败?

A: 检查wx.js中的appId和appSecret配置是否正确

Q: 情绪标签显示异常?

A: 检查数据库中tags字段是否为JSON格式

隐私与安全

  • 用户密码采用加盐哈希加密存储
  • 支持匿名发布功能,保护用户隐私
  • 敏感数据传输建议使用HTTPS
  • 定期清理过期数据
  • 遵守相关隐私保护法规

许可证

本项目仅供学习交流使用,请勿用于商业用途。涉及心理健康服务时,请咨询专业人士并遵守相关法规。

获取完整源码

技术分类

包含内容

完整源码
项目说明文档
演示材料

适合方向

适合微信小程序、心理健康/情感类毕业设计;也适合 Express 后端 API 课程设计。对匿名社交、心理评估算法与情绪数据分析感兴趣的同学可参考。

关于 AI源码

AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。

QQ: 861077046
邮箱: 861077046@qq.com
已帮助 79+ 位同学完成选题参考
问能不能做我的题目

相关推荐

查看全部 →
社区医疗服务可视化系统
高级

社区医疗服务可视化系统

Spring Boot+Vue2 社区医疗服务可视化管理系统,面向社区医疗机构,含患者管理、预约挂号、病历药品管理与 ECharts 数据统计,集成 Shiro 权限与百度 AI 辅助,适合 Java 医疗信息化毕业设计。

SpringBootVue2MySQL
4.876
大学生在线焦虑测试系统
高级

大学生在线焦虑测试系统

专为大学生设计的在线心理健康评估平台,Spring Boot 3+Vue3 实现焦虑测评、在线咨询与个性化建议,支持学生、医生、管理员三角色,含 JWT 认证与 ECharts 结果分析,适合 Java 心理健康类毕业设计。

SpringBootVue2MySQL
4.833
社区医院儿童健康信息管理系统
高级

社区医院儿童健康信息管理系统

Spring Boot 3+Vue 3 社区医院儿童健康信息管理系统,支持儿童档案、健康测评、疫苗预约与在线咨询,JWT 认证含管理员、医生与普通用户三角色,适合 Java 医疗健康类毕业设计。

SpringBootVue2MySQL
4.827
AI在线问诊平台
高级

AI在线问诊平台

基于若依框架的 AI 在线问诊平台,管理端、医生端与患者端三端分离,支持 WebSocket 即时聊天、AI 辅助诊断与 ECharts 数据可视化,Spring Boot+Vue2 技术栈,适合 Java 医疗 AI 毕业设计。

SpringBootVue2MySQL
4.892
社区医院儿童健康信息管理系统(java)
高级

社区医院儿童健康信息管理系统(java)

Spring Boot 3+Vue3 社区医院儿童健康档案管理平台,含儿童档案录入、健康数据统计、就诊记录、疫苗接种与成长曲线追踪,JWT 认证与医生工作台,适合 Java 社区医疗类毕业设计。

SpringBootVue2MySQL
4.836
心理健康教育小程序
进阶

心理健康教育小程序

微信小程序原生开发的心理健康教育与自助服务系统,涵盖情绪管理、压力应对、正念冥想、心理测评与自助工具箱等模块,纯前端 Mock 数据实现,适合心理健康主题毕业设计。

小程序
4.854