/Spring-CQ-web

Spring-CQ demo 词库设置功能、入群欢迎功能,包含WEB控制台页面。

Primary LanguageJava

Spring-CQ-web

简介

这是Spring-CQ框架的一个demo,实现了基本的学习、入群欢迎功能,并提供移动端自适应的web控制页面方便查询机器人在线状态、管理学习内容、设置入群欢迎内容等。

框架项目地址:https://github.com/lz1998/spring-cq

前端项目地址:https://github.com/lz1998/spring-cq-web-ui

项目环境

  • Java8
  • Intellij IDEA
  • Maven
  • Windows/Docker
  • H2/MySQL

技术栈

机器人

  • 酷Q
  • CQHTTP插件

后端

  • SpringBoot 基本框架
  • SpringCQ 用于收发QQ消息
  • SpringDataJpa 用于数据库访问
  • SpringSecurity 用于登陆认证
  • jjwt 用于生成json web token

数据库

  • H2 默认数据库(为了新手直接运行)
  • MySQL 可选

前端

  • Vue 框架
  • Vuetify 可以自适应移动端的组件库
  • Axios 用于HTTP通信
  • VueRouter 前端路由管理
  • js-cookie 用于存储jwt

功能

机器人功能

  • 前缀 过滤所有不带有前缀的信息,默认“.”
  • 授权 未授权的群不处理任何指令
  • 学习 给机器人添加自定义回复内容
  • 欢迎 设置新人入群欢迎内容
  • 注册 接受验证码,配合页面进行注册
  • 监控 接受心跳包,记录机器人状态

页面功能

  • 登陆/注册 QQ必须与账号相同,密码随意设置。输入密码正确为登陆,错误为注册/修改密码(需要发送验证码)
  • 状态监控 根据监控插件收到的心跳包,显示机器人在线状态
  • 学习管理 在页面上对机器人学习内容进行增删改查,超级管理员/群主/群管理员有权限
  • 欢迎管理 在页面上对机器人学习内容进行增删改查,超级管理员/群主/群管理员有权限

总体设计

  • Controller层 用于接受HTTP请求
  • Plugin层 用于接受机器人消息,并处理消息逻辑
  • Service层 用于处理服务
  • Repository层 用于操作数据库(JPA)
  • Entity 实体类 映射数据库表
  • Security 登陆认证,使用JWT验证是否登陆

注意

  • 项目正式使用,尽量采用MySQL,不要使用H2数据库
  • 如果基于本项目进行开发,发布时请说明基于Spring-CQ开发,并附带Spring-CQ框架链接
  • 顺手点个星星吧~