基于 React 前端和 Node.js 后端创建的实时聊天应用

        本文介绍一款适用于公司内网的实时聊天应用。该应用采用轻量级架构:后端基于Node.js+MongoDB技术栈,前端使用React.js框架实现。

后端技术实现

        Express.js框架搭建RESTful API服务,处理HTTP请求和响应。MongoDB存储用户数据和聊天记录,通过Mongoose进行数据建模。Socket.IO建立双向实时通信通道,支持即时消息传递。JWT实现无状态认证机制,bcryptjs保障密码存储安全。

前端技术实现

        React构建组件化用户界面,Vite提供快速的开发体验。Socket.IO-client建立与后端的实时连接,Axios封装REST API调用。React Router管理前端路由导航,状态管理采用React内置Hooks。

核心功能模块

用户认证系统

  • 注册流程包含密码哈希处理
  • 登录流程生成JWT访问令牌
  • 用户列表展示所有可通信对象

实时通信系统

  • WebSocket连接维持实时会话
  • 消息发送接收双向同步
  • 聊天历史记录存储与检索
  • 消息状态实时反馈

状态管理系统

  • 在线状态实时监测
  • 登录登出全局通知
  • 用户活跃状态指示

项目目录结构

后端项目布局:

server/ ├── config/ # 环境配置 ├── controllers/ # 请求处理器 ├── middlewares/ # 认证中间件 ├── models/ # 数据模型 ├── routes/ # API端点 ├── services/ # 业务逻辑 └── socket/ # 实时通信模块 

前端项目布局:

client/ ├── assets/ # 静态资源 ├── components/ # UI组件 │ ├── auth/ # 认证组件 │ ├── chat/ # 聊天组件 │ └── common/ # 通用组件 ├── hooks/ # 自定义Hooks ├── services/ # API服务 └── utils/ # 工具函数 

开发环境配置

后端服务启动

  1. 启动MongoDB服务
  2. 安装依赖:npm install
  3. 运行开发服务器:npm run dev
  4. 访问API基础地址:http://localhost:5000

前端应用启动

  1. 安装依赖:npm install
  2. 启动开发服务器:npm run dev
  3. 访问应用界面:http://localhost:5173

功能测试方案

  1. 多用户场景测试
  • 不同浏览器登录独立账号
  • 验证消息实时同步
  • 检查在线状态更新
  1. 消息完整性验证
  • 发送多种内容格式
  • 检查历史记录持久化
  • 验证消息状态指示
  1. 异常情况测试
  • 网络中断恢复测试
  • 令牌过期处理
  • 错误输入处理

关键注意事项

  • MongoDB服务需保持运行状态
  • 开发环境配置跨域支持
  • 生产环境需要HTTPS加密
  • 敏感信息使用环境变量管理
  • 建议实现消息持久化存储

扩展能力设计

  • 支持文件附件传输
  • 实现消息已读回执
  • 添加消息搜索功能
  • 集成通知提醒系统
  • 开发移动端适配版本

欢迎体验并拓展实时聊天应用功能!

Read more

发送webhook到飞书机器人

发送webhook到飞书机器人

发送webhook到飞书机器人 参考链接 自定义机器人使用指南 创建自定义机器人 1. 邀请自定义机器人进群。 2. 3. 获取签名校验 在 安全设置 区域,选择 签名校验。 获取自定义机器人的 webhook 地址 机器人对应的 webhook 地址 格式如下: https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx 请妥善保存好此 webhook 地址,不要公布在 Gitlab、博客等可公开查阅的网站上,避免地址泄露后被恶意调用发送垃圾消息。 设置自定义机器人的头像、名称与描述,并点击 添加。 在 群机器人 界面点击 添加机器人。在 添加机器人 对话框,找到并点击 自定义机器人。

【硬核实战】Mac mini M4 部署 OpenClaw + Ollama 本地大模型:从零到一打通飞书机器人

【硬核实战】Mac mini M4 部署 OpenClaw + Ollama 本地大模型:从零到一打通飞书机器人

文章目录 * 一、 核心环境准备 * 二、 避坑指南:环境初始化在 Mac 终端部署时,首要解决的是权限与路径问题。 * 1. 终端常用快捷键* `Control + C`:强制停止当前运行的命令(如安装卡死时)。 * 2. Node.js 环境修复若遇到 `zsh: command not found: openclaw`,说明 NVM 路径未加载。 * 3. 临时加载环境 * 4. 永久写入配置 * 三、 模型选择:M4 性能调优 * 四、 OpenClaw 配置手术 (JSON 详解) * 五、 飞书机器人接入:最后的临门一脚 * 六、 运行与调试 * 启动 Gateway * 第一次发消息需授权 (Pairing) * 💡 结语

宇树G1机器人强化学习训练完整实战教程

宇树G1机器人强化学习训练完整实战教程

0. 前言 人形机器人的运动控制一直是机器人领域的重要挑战,而强化学习为解决这一问题提供了强有力的工具。本教程将基于宇树G1人形机器人,从基础的强化学习环境搭建开始,逐步深入到高自由度模型的训练配置、奖励函数设计与优化,最终实现复杂动作的训练控制。作者看到一个很棒的系列,所以针对性的对文章内容进行了整理和二次理解,方便大家更好的阅读《不同自由度的宇树G1机器人强化学习训练配置及运行实战 + RSL-RL代码库问题修复》、《宇树G1机器人强化学习训练奖励函数代码架构 + 创建新的奖励函数(1)》、《RL指标分析与看板应用 — 宇树G1机器人高自由度模型强化学习训练实战(3)》、《调参解析 — 宇树G1机器人高自由度模型强化学习训练实战(4)》、《舞蹈训练?手撕奖励函数 — 宇树G1机器人高自由度模型强化学习训练实战(5)》。 1. 强化学习训练环境配置 1.1 基础环境搭建 宇树机器人的强化学习训练基于Isaac Gym物理仿真环境和RSL-RL强化学习框架。首先需要确保这两个核心组件正确安装和配置。 在开始训练之前,我们通过简单的命令来启动12自由度G1机器人的基础训练:

教育场景落地:gpt-oss-20b-WEBUI实现自动答疑机器人

教育场景落地:gpt-oss-20b-WEBUI实现自动答疑机器人 教育行业正面临一个长期痛点:学生提问量大、时间分散、教师响应滞后,尤其在课后复习、自习答疑、在线学习等非教学时段,知识盲点无法及时消除。传统方式依赖人工值守或预设FAQ,覆盖有限、更新缓慢、缺乏交互深度。而gpt-oss-20b-WEBUI镜像的出现,为一线教育工作者提供了一种轻量、可控、可私有化部署的智能答疑解决方案——它不依赖云端API,不上传学生数据,模型运行在本地算力上,真正把“AI助教”装进了学校的IT基础设施里。 本文将聚焦真实教育场景,不讲抽象架构,不堆参数对比,而是带你从零开始:如何用一台双卡4090D服务器(或云上vGPU实例),快速部署gpt-oss-20b-WEBUI,构建一个能理解数理化题干、解析错因、分步讲解、支持多轮追问的自动答疑机器人。所有操作基于镜像内置能力,无需编译、不改代码、不配环境,重点落在“怎么用对”和“怎么用好”上。 1. 为什么是gpt-oss-20b-WEBUI?教育场景的三重适配 教育场景对AI答疑工具的要求很具体:不是越“全能”