更新日志
本文档记录 RushChat 的所有版本更新和功能变更。
更新日志概览
[未发布] - 开发中
新增功能
- ✅ 频道系统:支持创建和管理私密频道
- ✅ 积分系统:用户积分管理和频道创建消耗
- ✅ 钱包地址验证:EVM和SOL地址格式验证
- ✅ Rush高管特权:免费创建频道、自由进出私密频道
- ✅ 邀请系统:个性化邀请码、分享到X、二维码分享
- ✅ 自定义表情包:用户可上传 GIF 表情包(10个/普通用户,100个/管理员和房主)
- ✅ 表情包重复检测:使用 SHA256 哈希值防止重复上传
- ✅ 语音聊天功能:WebRTC 语音通话,支持多人、屏幕共享、邀请、权限管理
- ✅ 红包系统:EVM 和 Solana 链红包,支持普通红包和拼手气红包
- ✅ X402 协议:实现 Coinbase X402 支付协议,支持链上支付验证
- ✅ 钱包验证增强:支持 Metaplex Core NFT、DAS API、自动 RPC 回退
改进
- ✅ 优化用户列表去重逻辑
- ✅ 改进会话管理,防止重复登录
- ✅ 增强钱包地址验证的实时反馈
- ✅ 修复头像上传问题:将avatar字段从VARCHAR(500)改为LONGTEXT,支持存储大容量base64图片数据
- ✅ 图片压缩功能:上传头像时自动压缩图片,减少数据大小
- ✅ 统一文件路径逻辑:确保上传和服务的文件路径一致
- ✅ 优化路由顺序:确保特定路由优先于通用静态文件服务
- ✅ Solana NFT 验证优化:使用 getAssetsByOwner (DAS API) 支持 Metaplex Core NFT
- ✅ RPC 端点优化:默认使用 Helius RPC,自动检测 DAS API 支持并回退
- ✅ 钱包连接优化:改进 Phantom、OKX 等钱包的连接和切换逻辑
- ✅ 错误处理增强:全局错误处理,抑制浏览器扩展和钱包相关错误
[v1.0.0] - 2024-01-XX
核心功能
用户系统
- ✅ 游客模式:无需注册,一键进入聊天室
- ✅ 用户注册:支持用户名、密码、邮箱注册
- ✅ 用户登录:密码验证登录
- ✅ 会话保持:刷新页面自动恢复登录状态
- ✅ 保留字保护:admin、root等用户名必须使用密码登录
聊天功能
- ✅ 实时消息:基于WebSocket的实时通信
- ✅ 文本消息:支持纯文本消息发送
- ✅ 图片分享:支持图片上传和分享(最大5MB)
- ✅ 打字指示器:显示正在输入的用户
- ✅ 在线用户列表:实时显示在线用户
- ✅ 消息历史:自动加载历史消息
权限管理
- ✅ 三级管理员体系:A级(超级管理员)、B级(Rush高管)、C级(普通管理员)
- ✅ IP封禁:管理员可封禁违规IP(60分钟)
- ✅ 用户禁言:管理员可对用户进行临时禁言(15分钟)
- ✅ 管理员任命:高级管理员可任命下级管理员
频道系统
- ✅ 公共频道:所有用户可访问的默认频道
- ✅ 私密频道:需要密码才能加入的频道
- ✅ 频道创建:
- 普通用户:需要10万积分,创建消耗5万积分
- Rush高管:免费创建,不消耗积分
- ✅ 频道管理:房主可设置/修改频道密码
- ✅ 频道切换:用户可以随时切换频道
- ✅ 消息隔离:不同频道的消息相互隔离
用户资料
- ✅ 个人资料管理:可设置头像、邮箱、钱包地址
- ✅ 头像上传:支持图片上传(最大5MB)
- ✅ 钱包地址:
- EVM地址(以太坊等):格式验证
- SOL地址(Solana):格式验证
- ✅ 密码修改:支持修改登录密码
界面设计
- ✅ Slack风格:现代化的聊天界面设计
- ✅ 日夜间模式:支持主题切换
- ✅ 响应式设计:适配桌面和移动设备
- ✅ 多语言支持:中文/英文切换
技术特性
前端
- React 18 + Hooks
- Socket.io Client
- CSS Variables(主题系统)
- React Context(状态管理)
- 实时验证和反馈
后端
- Rust + Axum
- Tokio WebSocket(WebSocket)
- MySQL(可选,支持内存模式)
- bcrypt(密码加密)
- 会话管理
数据库
表结构
users: 用户表messages: 消息表channels: 频道表sessions: 会话表banned_ips: IP封禁表muted_users: 禁言表admin_logs: 管理员操作日志表
安全特性
- 密码加密存储(bcrypt)
- 保留字保护
- IP封禁机制
- 用户禁言机制
- 管理员操作日志
使用 Rust、React 和 MySQL 构建 ❤️