From 89cc8aad55ec1d82ae48bfbcfafac5b2a809d506 Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Tue, 1 Jul 2025 11:02:28 +0000 Subject: [PATCH] Update README.md --- README.md | 129 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 115 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 4562dd0..68c65b2 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,117 @@ + + # SeiChat -#### 介绍 -概况 (SeiChat) -即时聊天项目 (IM) 的 api -#### 主要功能 -* 登录、注册、用户信息更新、账号注销 -* 单聊、群聊 -* 发送文字、表情包、图片、语音 -* 加好友、好友列表、建群、加入群 -#### 技术栈 -Go、Gin、Websocket、UDP、Mysql、Redis、Viper、Gorm、Zap、Md5、Jwt。 -#### 软件架构 -暂无 -#### 安装教程 -暂无 \ No newline at end of file +## 介绍 +SeiChat 是一个基于 Golang 实现的即时通讯系统,支持用户注册、登录、添加好友、创建和加入群组、发送消息等功能。适用于构建分布式实时通信场景。 + +## 主要功能 +- 用户注册与登录 +- 好友添加与管理 +- 群组创建与加入 +- 单聊与群聊消息发送 +- 用户与群组信息管理 + +## 技术栈 +- Golang +- GORM:用于数据库操作 +- Redis:用于消息缓存与持久化 +- Gin:用于构建 RESTful API +- JWT:用于身份认证 +- WebSocket:用于实时消息通信 + +## 软件架构 +项目采用典型的分层架构,包含以下模块: +- **handler**:提供 HTTP 接口,处理请求和响应。 +- **service**:业务逻辑层,实现具体功能。 +- **dao**:数据访问层,负责与数据库或 Redis 交互。 +- **models**:定义数据库模型。 +- **config**:配置文件管理。 +- **initialize**:初始化组件,如数据库、Redis、日志等。 +- **middleware**:中间件,如 JWT 认证。 +- **types**:定义请求参数结构体。 +- **biz**:业务通用逻辑,如错误码和返回结构。 + +## 安装教程 +1. 安装 Golang 环境(1.18+) +2. 安装并配置 MySQL 和 Redis +3. 获取项目代码: + ```bash + git clone https://gitee.com/your-repo/SeiChat.git + ``` +4. 安装依赖: + ```bash + go mod tidy + ``` +5. 配置数据库、Redis 及服务信息: + - 修改 `etc/im.yaml` 文件,填写 MySQL、Redis 等配置。 +6. 初始化数据库和 Redis: + - 确保数据库已创建,服务会自动进行 ORM 映射。 +7. 运行服务: + ```bash + go run main.go + ``` + +## 接口文档 +### 用户模块 +- `POST /user/register`:用户注册 +- `POST /user/login`:用户登录 +- `GET /user/list`:获取用户列表 +- `POST /user/update`:更新用户信息 +- `POST /user/delete`:删除用户 + +### 好友模块 +- `POST /relation/add_friend`:添加好友 +- `POST /relation/add_friend_by_name`:通过用户名添加好友 +- `GET /relation/friend_list`:获取好友列表 + +### 群组模块 +- `POST /community/new_group`:创建新群组 +- `POST /community/join`:加入群组 +- `GET /community/list`:获取用户所在群组列表 + +### 消息模块 +- `GET /message/chat`:发送并存储消息 +- `GET /message/list`:获取历史消息列表 + +## 使用示例 +1. 注册新用户: + ```bash + curl -X POST http://localhost:8080/user/register -d '{"name":"testuser", "password":"testpass"}' + ``` + +2. 用户登录: + ```bash + curl -X POST http://localhost:8080/user/login -d '{"name":"testuser", "password":"testpass"}' + ``` + +3. 添加好友: + ```bash + curl -X POST http://localhost:8080/relation/add_friend -H "Authorization: Bearer " -d '{"userId":1, "targetId":2}' + ``` + +4. 创建群组: + ```bash + curl -X POST http://localhost:8080/community/new_group -H "Authorization: Bearer " -d '{"name":"testgroup"}' + ``` + +5. 发送消息: + ```bash + curl -X GET http://localhost:8080/message/chat?key=user_1_2 + ``` + +## 贡献指南 +欢迎贡献代码,帮助完善 SeiChat。请遵循以下步骤: +1. Fork 项目 +2. 创建新分支 +3. 提交 Pull Request + +## Gitee 特性 +本项目托管于 Gitee,可利用 Gitee 提供的以下功能: +- 代码审查 +- Issue 跟踪 +- Pull Request 流程 +- Wiki 文档 + +## 许可证 +本项目基于 MIT 许可证发布。详情请查看仓库中的 LICENSE 文件。 \ No newline at end of file -- Gitee