WeChatFerry/rpc/proto/wcf.proto
2023-02-23 07:42:58 +08:00

140 lines
3.4 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package wcf;
option java_package = "com.iamteer.wcf";
/*
service Wcf {
rpc RpcIsLogin(Empty) returns (Response) {}
rpc RpcGetSelfWxid(Empty) returns (String) {}
rpc RpcEnableRecvMsg(Empty) returns (stream WxMsg) {}
rpc RpcDisableRecvMsg(Empty) returns (Response) {}
rpc RpcSendTextMsg(TextMsg) returns (Response) {}
rpc RpcSendPathMsg(PathMsg) returns (Response) {}
rpc RpcGetMsgTypes(Empty) returns (MsgTypes) {}
rpc RpcGetContacts(Empty) returns (Contacts) {}
rpc RpcGetDbNames(Empty) returns (DbNames) {}
rpc RpcGetDbTables(String) returns (DbTables) {}
rpc RpcExecDbQuery(DbQuery) returns (DbRows) {}
rpc RpcAcceptNewFriend(Verification) returns (Response) {}
}
*/
enum Functions {
FUNC_RESERVED = 0x00;
FUNC_IS_LOGIN = 0x01;
FUNC_GET_SELF_WXID = 0x10;
FUNC_GET_MSG_TYPES = 0x11;
FUNC_GET_CONTACTS = 0x12;
FUNC_GET_DB_NAMES = 0x13;
FUNC_GET_DB_TABLES = 0x14;
FUNC_SEND_TXT = 0x20;
FUNC_SEND_IMG = 0x21;
FUNC_SEND_FILE = 0x22;
FUNC_ENABLE_RECV_TXT = 0x30;
FUNC_DISABLE_RECV_TXT = 0x40;
FUNC_EXEC_DB_QUERY = 0x50;
FUNC_ACCEPT_FRIEND = 0x51;
}
message Request
{
Functions func = 1;
oneof msg
{
Empty empty = 2;
string str = 3;
TextMsg txt = 4;
PathMsg file = 5;
DbQuery query = 6;
Verification v = 7;
}
}
message Response
{
Functions func = 1;
oneof msg
{
int32 status = 2;
string str = 3;
WxMsg wxmsg = 4;
MsgTypes types = 5;
RpcContacts contacts = 6;
DbNames dbs = 7;
DbTables tables = 8;
DbRows rows = 9;
};
}
message Empty { }
message WxMsg
{
bool is_self = 1; // 是否自己发送的
bool is_group = 2; // 是否群消息
int32 type = 3; // 消息类型
string id = 4; // 消息 id
string xml = 5; // 消息 xml
string sender = 6; // 消息发送者
string roomid = 7; // 群 id如果是群消息的话
string content = 8; // 消息内容
}
message TextMsg
{
string msg = 1; // 要发送的消息内容
string receiver = 2; // 消息接收人,当为群时可@
string aters = 3; // 要@的人列表,逗号分隔
}
message PathMsg
{
string path = 1; // 要发送的图片的路径
string receiver = 2; // 消息接收人
}
message MsgTypes { map<int32, string> types = 1; }
message RpcContact
{
string wxid = 1; // 微信 id
string code = 2; // 微信号
string name = 3; // 微信昵称
string country = 4; // 国家
string province = 5; // 省/州
string city = 6; // 城市
int32 gender = 7; // 性别
}
message RpcContacts { repeated RpcContact contacts = 1; }
message DbNames { repeated string names = 1; }
message DbTable
{
string name = 1; // 表名
string sql = 2; // 建表 SQL
}
message DbTables { repeated DbTable tables = 1; }
message DbQuery
{
string db = 1; // 目标数据库
string sql = 2; // 查询 SQL
}
message DbField
{
int32 type = 1; // 字段类型
string column = 2; // 字段名称
bytes content = 3; // 字段内容
}
message DbRow { repeated DbField fields = 1; }
message DbRows { repeated DbRow rows = 1; }
message Verification
{
string v3 = 1;
string v4 = 2;
}