2023-02-16 06:09:37 +08:00
|
|
|
|
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 RpcSendImageMsg(ImageMsg) 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_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;
|
|
|
|
|
ImageMsg img = 5;
|
|
|
|
|
DbQuery query = 6;
|
|
|
|
|
Verification v = 7;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message Response
|
|
|
|
|
{
|
|
|
|
|
Functions func = 1;
|
|
|
|
|
oneof msg
|
|
|
|
|
{
|
2023-02-16 22:04:31 +08:00
|
|
|
|
int32 status = 2;
|
|
|
|
|
string str = 3;
|
|
|
|
|
WxMsg wxmsg = 4;
|
|
|
|
|
MsgTypes types = 5;
|
2023-02-16 06:09:37 +08:00
|
|
|
|
RpcContacts contacts = 6;
|
2023-02-16 22:04:31 +08:00
|
|
|
|
DbNames dbs = 7;
|
|
|
|
|
DbTables tables = 8;
|
|
|
|
|
DbRows rows = 9;
|
2023-02-16 06:09:37 +08:00
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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 ImageMsg
|
|
|
|
|
{
|
|
|
|
|
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;
|
|
|
|
|
}
|