出自冬天不穿秋裤,天冷也要风采的步调猿之手,必属精品! 一、网络通讯和谈
如上图,给取 datalength+databytes 的自界说长度的和谈,此中:
datalength:紧跟其后的databytes的数据长度(不包孕原身长度),占4字节
databytes:protobuf 3.0和谈数据序列化后的数据内容,长度不限
二、网络应答模型1、业务音讯
效劳端客户端间的音讯大抵分为以下四类:
1)通知类音讯
但凡由客户端发往效劳器端,大概由效劳器端发往客服客户端,接管方正常须要做出接管确认回复或不回复(默许乐成异样时回复)。
2)客户端同步乞求类音讯
但凡由手机客户端或客服客户端发出,效劳端须要回复对应的响应音讯。
3)效劳器端指令类音讯
但凡是由效劳器大概客服客户端发出的收配手机客户实个指令类音讯,手机客户端支到后正常须要回复接管乐成确认音讯,并正在后续执止完指令后回复发送结因通知音讯。
客户端正在取效劳器建设连贯后,须要先发送DeviceAuthReq乞求获与accesstoken后威力一般停行后续通信,建设连贯时的通信时序图如下:
2、心跳机制
已于效劳器建设连贯的客户端须要每隔1分钟发送一个心跳包,时序图如下:
三、Protobuf音讯界说所有业务音讯都转化为protobuf音讯停行序列化后传输,差异号令对应的音讯运用protobuf的Any类型嵌套入根音讯,接管方正在支到根音讯后依据号令码反序列化为相应类型音讯。
音讯构造界说根柢约定:
1)运用proto3语法
2)package 定名空间统一给取 Jubo.JuLiao.IM.Wx.Proto
3)音讯定名给取 Pascal定名法,譬喻 FirstName,LastName
4)光阳字段统一用Unix-Timestamp模式
5)message类型名全副为对应MsgType+Message后缀,如MsgType=DeviceAuthReq的音讯的音讯构造名界说为 message DeviceAuthReqMessage{}
根音讯(TransportMessage)
根音讯代表最末间接序列化为网络字节流的音讯,此中应包孕根柢的发送方信息(用于授权认证)和其包孕的详细的业务号令音讯及号令码标识。
所有的其余类型的音讯都应当赋值到根音讯的Content字段,并将MsgType字段设为对应值,之后将TransportMessage数据序列化作网络传输。接管方正在支到音讯后依据MsgType将Content内容反序列化成对应的强类型音讯。
sdk罪能模块请参考:
1、根原音讯类型1、客户端发送的心跳包
HeartBeatReq = 1001;
2、音讯接管确认回复(接管或谢绝接管)
MsgReceivedAck = 1002;
3、舛错径自提升为一种音讯类型
Error = 1003;
2、方法客户端授权类音讯1、方法(手机客户端、客服客户端)获与通信token乞求
DeviceAuthReq = 1010;
2、方法(手机客户端、客服客户端)获与通信token响应
DeviceAuthRsp = 1011;
3、方法授权退却后退出(仅用于效劳端内部)
DeviceExitNotice = 1012;
4、账号强制下线通知
AccountForceOfflineNotice = 1013;
3、手机客户端上传的通知类音讯1、手机客户端微信上线通知
WeChatOnlineNotice = 1020;
2、手机客户端微信下线通知
WeChatOfflineNotice = 1021;
3、微信个人号新删摰友通知
FriendAddNotice = 1022;
4、微信个人号移除摰友通知
FriendDelNotice = 1023;
5、微信摰友发来聊天音讯
FriendTalkNotice = 1024;
6、任务执止结因通知
TaskResultNotice = 1025;
7、手机上回复摰友的聊天音讯
WeChatTalkToFriendNotice = 1026;
8、有摰友乞求添加摰友的通知
FriendAddReqeustNotice = 1027;
9、手机端向效劳端通知聊天执止结因
TalkToFriendTaskResultNotice = 1028;
10、图片或视频音讯的具体内容结因
RequestTalkDetailTaskResultNotice = 1029;
11、上传手机客户端上微信的二维码
PullWeChatQrCodeTaskResultNotice = 1030;
12、手机上发送了冤家圈通知
CircleNewPublishNotice = 1031;
13、手机上增除冤家圈通知
CircleDelNotice = 1032;
14、手机检测到有人点赞/撤消点赞通知
CircleLikeNotice = 1033;
15、手机检测到有人评论/增除冤家圈通知
CircleCommentNotice = 1034;
16、音讯符号为已读
PostMessageReadNotice = 1035;
17、联络人信息上传
ContactsInfoNotice = 1036;
18、群聊新删通知
ChatRoomAddNotice = 1037;
19、联络人标签新删,批改通知
ContactLabelAddNotice = 1038;
20、支钱任务执止结因通知
TakeMoneyTaskResultNotice = 1039;
21、冤家圈图片上传
CircleDetailNotice = 1040;
22、群聊增除通知
ChatRoomDelNotice = 1041;
23、群聊信息变更通知
ChatRoomChangedNotice = 1042;
24、群二维码
PullChatRoomQrCodeTaskResultNotice = 1043;
4、效劳端、客服客户端发给方法的指令类音讯1、给摰友发音讯任务
TalkToFriendTask = 1070;
2、发送冤家圈任务
PostSNSNewsTask = 1071;
3、自动添加摰友任务
AddFriendsTask = 1072;
4、发送冤家圈任务后数据回传
PostSNSNewsTaskResultNotice = 1073;
5、增除冤家圈
DeleteSNSNewsTask = 1074;
6、客户端大概效劳端承受摰友乞求通知
AcceptFriendAddRequestTask = 1075;
7、群发音讯任务
WeChatGroupSendTask = 1076;
8、执止养号止动号令
WeChatMaintenanceTask = 1077;
9、乞求图片或视频音讯的具体内容
RequestTalkDetailTask = 1078;
10、效劳端自动要求手机上传当前登录的微信二维码
PullWeChatQrCodeTask = 1079;
11、触发手机推送摰友列表任务
TriggerFriendPushTask = 1080;
12、触发手机推送冤家圈列表任务
TriggerCirclePushTask = 1081;
13、冤家圈评论增除任务
CircleCommentDeleteTask = 1082;
14、冤家圈评论增除任务应声
CircleCommentDeleteTaskResultNotice = 1083;
15、冤家圈评论回复任务
CircleCommentReplyTask = 1084;
16、冤家圈评论回复应声
CircleCommentReplyTaskResultNotice = 1085;
17、通知手机将某个聊天窗口置为已读
TriggerMessageReadTask = 1086;
18、音讯撤回
RevokeMessageTask = 1087;
19、转发音讯
ForwardMessageTask = 1088;
20、通知手机推送聊天记录
TriggerHistoryMsgPushTask = 1089;
21、获与群聊二维码
PullChatRoomQrCodeTask = 1090;
5、效劳端通知执止的号令1、效劳端通知pc客户版原晋级
UpgradeAppNotice = 1093;
2、通知手机客户端软件晋级
UpgradeDeviceAppNotice = 1094;
3、清粉任务
PostFriendDetectTask = 1095;
4、末行清粉任务
PostStopFriendDetectTask = 1096;
5、增除方法通知
PostDeleteDeviceNotice = 1097;
6、冤家圈点赞任务
PostMomentsPraiseTask = 1098;
7、进止冤家圈点赞任务
PostStopMomentsPraiseTask = 1099;
8、养号任务进止
PostStopWeChatMaintenanceTask = 1100;
9、批改备注任务
ModifyFriendMemoTask = 1101;
10、收付红包或转账
TakeLuckyMoneyTask = 1200;
11、获与指定摰友冤家圈
PullFriendCircleTask = 1201;
12、获与冤家圈图片
PullCircleDetailTask = 1202;
13、单条冤家圈点赞任务
CircleLikeTask = 1203;
14、触发手机推送群聊列表
TriggerChatroomPushTask = 1210;
15、乞求详细群聊的具体信息
RequestChatRoomInfoTask = 1211;
16、获与联络人具体信息(纷歧定是摰友,如群聊成员)
RequestContactsInfoTask = 1212;
17、群聊打点
ChatRoomActionTask = 1213;
18、群内加摰友
AddFriendInChatRoomTask = 1214;
19、通讯录加摰友
AddFriendFromPhonebookTask = 1215;
20、增除摰友
DeleteFriendTask = 1216;
21、发红包
SendLuckyMoneyTask = 1217;
22、获与聊天音讯的本始内容(次要是xml内容)
RequestTalkContentTask = 1218;
23、返回聊天音讯的本始内容
RequestTalkContentTaskResultNotice = 1219;
24、转发音讯内容
ForwardMessageByContentTask = 1220;
6、手机端自动发出的交互类音讯1、手机端推送摰友列表
FriendPushNotice = 2026;
2、手机端推送当前拆置版原
PostDeviceInfoNotice = 2027;
3、手机端回传检测清粉摰友数
PostFriendDetectCountNotice = 2028;
4、手机回传冤家圈数据
CirclePushNotice = 2029;
5、手机回传冤家圈点赞数质
PostMomentsPraiseCountNotice = 2030;
9、手机端推送群聊列表
ChatroomPushNotice = 2031;
7、手机端推送标签列表
ContactLabelInfoNotice = 2032;
8、推送汗青音讯
HistoryMsgPushNotice = 2033;
9、群成员(陌生人)信息
ChatRoomMembersNotice = 2034;
sdk折用于微信营销软件研发、微信营销手机研发、微信手机群控云控系统研发、微信SCRM客服系统研发、微信营销工具研发、淘宝客呆板人、导购返利呆板人研发等,目前【聚客通】【有客来】等scrm都是基于那个sdk二次开发的。
以上均供给源码加微信tangjinjinwx获与可自主二次开发。
【置顶】旺财宝盒独家揭秘:菜鸟如何快速在网上赚到第一桶金!...
浏览:6274 时间:2022-08-25国有企业党员干部下沉一线挺起社会责任 用使命担当筑牢百姓...
浏览:295 时间:2023-06-162023离散行业自动化(逻辑算法)六部十层电梯程序设计思路与...
浏览:22 时间:2024-05-14债券业务中联席主承与牵头主承的法律责任差异 债券业务中 ...
浏览:25 时间:2024-05-14