AI摘要:XQFChat是一个现代化、实时聊天的系统,它结合了简洁界面和强大功能,支持多房间通信、文件协作以及机器人集成。技术架构包括前端HTML5, CSS3, JavaScript和MVC框架,后端使用PHP 8.0+,数据库采用MySQL 8.0,并支持消息索引和文件元数据存储。此外,它还提供了快速部署、环境要求、安装步骤、配置伪静态、WebHook定时推送以及开发接口等详细指南。项目遵循Apache License 2.0开源许可,欢迎贡献者通过Issue提交反馈或直接PR参与开发。

Powered by AISummary.

XQFChat: 现代化现代化实时聊天系统

XQFChat 是一款企业级实时聊天解决方案,融合了简洁界面与强大功能,支持多房间通信、文件协作与机器人集成,为团队协作和社区交流提供高效平台。

注意:此项目目前处于测试阶段可能会有些许不良

核心特性

  • 富媒体支持
  • 多维度协作
  • 扩展能力

技术架构

模块技术栈核心组件
前端HTML5, CSS3, JavaScriptMDUI框架, 自定义组件系统
后端PHP 8.0+自研MVC框架, PSR-4自动加载
通信HTTP/HTTPS消息轮询
存储MySQL 8.0消息索引, 文件元数据
扩展API, Webhook事件回调, 第三方集成

快速部署

环境要求

  • PHP 8.2+ (需开启gd, fileinfo, curl,Redis(可选)扩展)
  • MySQL 5.7+ 或 MariaDB 10.5+ Redis(Webhook推送队列)
  • Web服务器 (Nginx/Apache)
  • Composer (依赖管理)

安装步骤

# 克隆仓库
git clone https://gitee.com/XiaoFengQWQ/xqfchat.git
cd xqfchat

# 安装依赖
composer install

# 启动内置服务器(开发环境)
php -S localhost:8000

并确保Writable可读写

配置伪静态(Apache用户无需手动配置)

location / {
    try_files $uri $uri/ @rewrite;
}

# 重定向尾部斜杠的 URL
location ~ ^(.+)/$ {
    if (!-d $request_filename) {
        return 301 /$1;
    }
}

# 将特定目录及其子目录和文件返回404
location ~ ^/(App|vendor|System|Writable)(/.*)?$ {
    return 404;
}

# 将所有其他请求发送到 index.php
location @rewrite {
    rewrite ^/(.*)$ /index.php?/$1 last;
}

# 处理 PHP 文件(需要额外的 PHP 配置)
location ~ \.php$ {
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

配置WebHook定时推送(可选,如果你有机器人需求)

  1. 服务器安装Redis(保持默认用户名和密码)
  2. 添加定时任务(推荐一秒执行一次)
cd 你的站点目录/CLI
php WebhookProcessor.php

开发接口

API 集成

系统提供标准化RESTful接口,支持用户认证、消息管理、房间操作等功能:

POST /api/v1/chat/send HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json

{
  "room_id": 42,
  "content": "Hello World",
  "is_markdown": false
}

详细接口文档请查阅 API 参考手册

机器人开发

通过Webhook实现自动化交互,支持消息监听、定时任务等场景:

// 事件回调示例 (消息接收)
{
  "event": "message.received",
  "data": {
    "message_id": 12345,
    "room_id": 42,
    "sender": {
      "id": 789,
      "name": "User"
    },
    "content": "请查询今日天气",
    "timestamp": 1620000000
  }
}

机器人开发指南见 Webhook 文档

📄 许可证

本项目采用 Apache License 2.0 开源许可,详情参见 LICENSE 文件。


Copyright 2025 XiaoFengQWQ

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

🤝 贡献指南

欢迎通过Issue提交反馈或直接PR参与开发

欢迎通过Issue提交反馈或直接PR参与开发,贡献前请阅读 贡献规范