add http and websocket

This commit is contained in:
xyz
2025-06-10 20:17:39 +08:00
parent 030b5d6101
commit 68cd53a80c
23 changed files with 650 additions and 171 deletions

View File

@ -1,5 +1,6 @@
syntax = "proto3";
package bite_im;
option cc_generic_services = true;
//用户信息结构
@ -13,14 +14,11 @@ message UserInfo {
//聊天会话信息
message ChatSessionInfo {
//群聊会话不需要设置,单聊会话设置为对方用户ID
optional string single_chat_friend_id = 1;
optional string single_chat_friend_id = 1;//群聊会话不需要设置单聊会话设置为对方ID
string chat_session_id = 2; //会话ID
string chat_session_name = 3;//会话名称git
//会话上一条消息,新建的会话没有最新消息
optional MessageInfo prev_message = 4;
//会话头像 --群聊会话不需要,直接由前端固定渲染,单聊就是对方的头像
optional bytes avatar = 5;
optional MessageInfo prev_message = 4;//会话上一条消息,新建的会话没有最新消息
optional bytes avatar = 5;//会话头像 --群聊会话不需要,直接由前端固定渲染,单聊就是对方的头像
}
//消息类型
@ -34,23 +32,18 @@ message StringMessageInfo {
string content = 1;//文字聊天内容
}
message ImageMessageInfo {
//图片文件id,客户端发送的时候不用设置由transmit服务器进行设置后交给storage的时候设置
optional string file_id = 1;
//图片数据在ES中存储消息的时候只要id不要文件数据, 服务端转发的时候需要原样转发
optional bytes image_content = 2;
optional string file_id = 1;//图片文件id,客户端发送的时候不用设置由transmit服务器进行设置后交给storage的时候设置
optional bytes image_content = 2;//图片数据在ES中存储消息的时候只要id不要文件数据, 服务端转发的时候需要原样转发
}
message FileMessageInfo {
optional string file_id = 1;//文件id,客户端发送的时候不用设置
optional int64 file_size = 2;//文件大小
optional string file_name = 3;//文件名称
//文件数据在ES中存储消息的时候只要id和元信息不要文件数据, 服务端转发的时候也不需要填充
optional bytes file_contents = 4;
int64 file_size = 2;//文件大小
string file_name = 3;//文件名称
optional bytes file_contents = 4;//文件数据在ES中存储消息的时候只要id和元信息不要文件数据, 服务端转发的时候也不需要填充
}
message SpeechMessageInfo {
//语音文件id,客户端发送的时候不用设置
optional string file_id = 1;
//文件数据在ES中存储消息的时候只要id不要文件数据, 服务端转发的时候也不需要填充
optional bytes file_contents = 2;
optional string file_id = 1;//语音文件id,客户端发送的时候不用设置
optional bytes file_contents = 2;//文件数据在ES中存储消息的时候只要id不要文件数据, 服务端转发的时候也不需要填充
}
message MessageContent {
MessageType message_type = 1; //消息类型
@ -70,13 +63,18 @@ message MessageInfo {
MessageContent message = 5;
}
message Message {
string request_id = 1;
MessageInfo message = 2;
}
message FileDownloadData {
string file_id = 1;
bytes file_content = 2;
}
message FileUploadData {
string file_name = 1; //文件名称
int64 file_size = 2; //文件大小
bytes file_content = 3; //文件数据
string file_name = 1;
int64 file_size = 2;
bytes file_content = 3;
}