::btn[👉 快速开始]{link="https://github.com/JASM1AM/TalkEase"}

::btn[👉 体验地址]{link="https://talkease-room.jasmiam.top/"}

项目概述

TalkEase 是一款轻量级实时聊天,支持用户注册登录、实时消息发送与接收、在线用户查看、消息导出与清空等功能,采用响应式设计,适配手机端与桌面端,后端基于 Cloudflare Worker 实现,数据库使用 Cloudflare D1(关系型数据库),部署便捷且无需自建服务器。

技术栈

模块技术 / 工具说明
前端HTML5 + CSS3 + JavaScript核心界面与交互逻辑
前端依赖Font Awesome、Anime.js、Typed.js图标库、动画库、文字打字效果
后端Cloudflare Worker处理 API 请求、定时任务(用户离线检测)
数据库Cloudflare D1存储用户数据与聊天消息
认证SHA-256 密码哈希用户密码加密存储
实时性轮询机制(3 秒 / 次)+ 心跳检测保证消息实时更新与在线状态同步

项目结构

TalkEase/

├─ index.html    # 前端界面(登录/注册、聊天、用户列表、设置)

├─ schema.sql    # 数据库表结构(用户表、消息表)

└─ worker.js     # 后端逻辑(API 处理、数据库操作、定时任务、速率限制)

各文件核心作用:

  1. index.html:包含完整前端界面与交互逻辑,如登录注册表单、聊天窗口、消息输入区、底部导航等,集成响应式样式与动画效果。

  2. schema.sql:定义 D1 数据库表结构(users 用户表、messages 消息表),并创建索引优化查询。

  3. worker.js:Cloudflare Worker 核心逻辑,处理所有 API 请求(注册 / 登录 / 消息 / 用户状态)、定时检测离线用户、提供 HTML 页面访问。

环境准备

  1. Cloudflare 账号:需注册 Cloudflare 账号(免费版足够使用)。

  2. Cloudflare D1 数据库:在 Cloudflare 控制台创建 D1 数据库(用于存储用户与消息数据)。

部署步骤

1. 创建 Cloudflare D1 数据库

  1. 登录 Cloudflare 控制台,进入 存储和数据库 > D1 SQL 数据库,点击 创建数据库

  2. 输入数据库名称(如 talkease-db),选择免费计划,点击 创建

  3. 数据库创建完成后,进入 查询 页面,复制 schema.sql 中的所有代码,粘贴到查询框,点击 运行,创建 usersmessages 表及索引。

2. 创建 Cloudflare Worker

  1. 进入 Cloudflare 控制台 Workers 和 Pages > Workers,点击 创建 Worker

  2. 输入 Worker 名称(如 talkease-worker),点击 部署(默认生成的代码可删除)。

  3. 部署完成后,点击 编辑代码,进入 Worker 代码编辑器。

3. 上传项目代码

  1. 在 Worker 代码编辑器中,删除默认代码,将 worker.js 中的内容完整粘贴进去。

  2. 处理 index.html 导入:

function serveHTML() {

&#x20; const html = \`\<!DOCTYPE html>

&#x20; \<html lang="zh-CN">

&#x20; \<!-- 此处粘贴 index.html 完整内容 -->

&#x20; \</html>\`;

&#x20; return new Response(html, {

&#x20;   headers: {

&#x20;     'Content-Type': 'text/html; charset=utf-8',

&#x20;     'Access-Control-Allow-Origin': '\*',

&#x20;     'Cache-Control': 'public, max-age=300'

&#x20;   }

&#x20; });

}
  1. 绑定 D1 数据库:
  1. 点击编辑器顶部 部署,完成 Worker 部署。

4. 测试访问

  1. 部署完成后,点击 Worker 详情页的 触发器 > 路由,查看默认访问域名(如 talkease-worker.your-account.workers.dev)。

  2. 在浏览器中访问该域名,若能正常显示 TalkEase 登录界面,说明部署成功。

功能使用说明

1. 注册与登录

2. 实时聊天

3. 消息管理

4. 用户列表

5. 个人设置

常见问题与解决方案

  1. 访问 Worker 时显示 “500 错误”
  1. 注册时提示 “QQ 号码已被注册”
  1. 手机端控制台操作不便
  1. 消息不实时更新
  1. 头像不显示

许可证

本项目采用 MIT 许可证,可自由使用、修改和分发

(注:本文档部分内容可能由 AI 生成)