企微hook源码

企微hook源码已经在QQ群内开源。速度进群下载,避免和谐。

QQ群:649480745


//pc端发送消息回调
void RecvPcMsgRes(DWORD eax)
{

    // OutputDebugStringA("pc发送消息");

    PWX_STRING pMsgPb = (PWX_STRING)(eax);//消息pb结构体
    string pbData = WxStringToString(pMsgPb);//消息pb
    // OutputDebugStringA(StringToHex(pbData).c_str());
    ResMessageData pmd;
    pmd.ParseFromString(pbData);
    sessiondata sd = pmd.sessiondata();
    BaseResponse brs = pmd.baseresponse();
    for (int i = 0; i < sd.msg_size(); i++) {

        nlohmann::json root;
        root["errcode"] = brs.ret();
        if (brs.errmsg().size() > 0) {
            root["errmsg"] = brs.errmsg();
        }
        msgdata md = sd.msg(i);

        // OutputDebugStringA(md.appinfo().c_str());
        string syncKey = "";
        string file = "";
        long source = 0L;
        //同步发送消息
        //for (auto it = SsenMsgQueue.begin(); it != SsenMsgQueue.end(); ++it)
        //{
        //    map<string, string> resVal = *it;
        //    if (resVal.count(md.appinfo())>0) {
        //        syncKey = resVal[md.appinfo()];
        //        SsenMsgQueue.erase(it);
        //        break;
        //    }
        //}
        //OutputDebugStringA("当前消息队列长度");
        //OutputDebugStringA(to_string(SsenMsgQueue.size()).c_str());

        if (SsenMsgQueue.count(md.appinfo()) > 0)
        {
            string json = SsenMsgQueue[md.appinfo()];
            auto j3 = json::parse(json);
            syncKey = j3["syncKey"];
            file = j3["file"];
            if (!j3["data"]["source"].is_null() && j3["data"]["source"].is_number() == TRUE) {
                // 存在字段进行校验
                source = j3["data"]["source"];
            }
            SsenMsgQueueDel(md.appinfo());
        }

        nlohmann::json item;
        item["is_pc_send"] = 1;
        item["synckey"] = syncKey;
        item["source"] = source;
        item["msg_id"] = md.id();
        item["server_id"] = md.seq();
        msgMap[md.appinfo()] = "val";
        item["sender"] = to_string(md.sender());
        item["receiver"] = to_string(md.receiver());
        item["sendtime"] = md.sendtime();
        item["msgtype"] = md.contenttype();

        if (md.messagetype() == 1) {
            string strRoomId = to_string(md.roomid());
            item["room_conversation_id"] = ("R:" + strRoomId);
            item["is_room"] = 1;
        }
        else if (md.messagetype() == 4) {
            item["receiver"] = "FILEASSIST";
            item["is_room"] = 0;
        }
        else {
            item["is_room"] = 0;
        }
        string msgPb = md.content();

        switch (md.contenttype())
        {
        case 0: //文本消息
            //root["type"] = SEND_MSG_TEXT;
            ThisPcTestMsg(msgPb, item, root);
            break;
        case 2: //文本消息
            //root["type"] = SEND_MSG_TEXT;
            ThisPcTestMsg(msgPb, item, root);
            break;
        case 6://位置消息
            root["type"] = SEND_LOCATION_MSG;
            RecvPositionMsg(msgPb, item, root);
            break;
        case 29://gif消息
            root["type"] = SEND_MSG_GIF;
            ExpressionMsg(msgPb, item, root);

            break;
        case 78://小程序
            root["type"] = SEND_MSG_APPLETS;
            AppletsPcMsg(msgPb, item, root);

            break;
        case 141://视频号
            root["type"] = SEND_WECHAT_SPH_FEED;
            WechatSphFeedMeg(msgPb, item, root);

            break;
        case 13://链接
            root["type"] = SEND_LINK_MSG;
            LinkPcMsg(msgPb, item, root);

            break;
        case 0x29://名片消息
            root["type"] = SEND_BUSSINESS_CARD;
            BusinessCardMsg(msgPb, item, root);

            break;
        case 14://图片消息
            root["type"] = SEND_MSG_IMG;
            item["file"] = file;
            ImgMsg(msgPb, item, root);

            break;
        case 15://文件消息
            root["type"] = SEND_FILE_MSG;
            item["file"] = file;
            FileMsg(msgPb, item, root);

            break;
        case 16://语音消息
            root["type"] = SEND_VOICE_MSG;
            VoiceMsg(msgPb, item, root);
            break;
        case 23://视频消息
            root["type"] = SEND_VIDEO_MSG;
            item["file"] = file;
            VideoMsg(msgPb, item, root);

            break;
        default:
            break;
        }
    }


}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打卡--MySQL8.0 一(单机部署)

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人。如有侵权&#xff0c;请留言&#xff0c;我及时删除&#xff01; MySQL 8.0 简介 MySQL 8.0与5.7的区别主要体现在&#xff1a;1、性能提升&#xff1b;2、新的默认…

鸿蒙开发学习入门教程之环境配置

最近鸿蒙开发越来越火&#xff0c;各个大厂都有鸿蒙版本的计划和宣传&#xff0c;看这个趋势&#xff0c;可能会在几年内发展壮大&#xff0c;为我们移动端码农开辟一片新的职场。所以现在开始学起来还是很有必要的。今天就一起开始配置环境搞起来吧。 首先&#xff0c;找到官…

用户管理【MySQL】

文章目录 查看用户信息创建用户修改密码删除用户授予权限收回权限 查看用户信息 在名为mysql的数据库中有一个表user维护着 MySQL 的用户信息。 其中&#xff1a; user&#xff1a; 表示该用户的用户名。host&#xff1a; 表示该用户可以从哪个主机登录&#xff0c;localhost…

【Spark编程基础】实验一Spark编程初级实践(附源代码)

文章目录 一、实验目的二、实验平台三、实验内容和要求1. 计算级数2. 模拟图形绘制3.统计学生成绩 一、实验目的 1.掌握 Scala 语言的基本语法、数据结构和控制结构&#xff1b; 2.掌握面向对象编程的基础知识&#xff0c;能够编写自定义类和特质&#xff1b; 3.掌握函数式编程…

SSL证书:构建网络安全的基石

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

简单接入电商API接口|轻松实现实时采集淘宝、抖音、快手、1688商品,挖掘潜力款

今天给大家带来一款非常实用的电商API接口&#xff0c;这款数据采集接口支持淘宝采集、抖音采集、快手采集、1688采集以及潜力款分析&#xff0c;功能强大&#xff0c;助您在电商领域更上一层楼。 首先&#xff0c;我们来了解一下淘宝采集功能。作为国内最大的电商平台&#xf…

基于Java+springboot+VUE+redis实现的前后端分类版网上商城项目

基于Java springbootVUEredis实现的前后端分类版网上商城项目 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言…

Contact-GraspNet: Efficient 6-DoF Grasp Generationin Cluttered Scenes

总结 提出一种端到端的网络&#xff0c;解决复杂场景中对未知物体的抓取。将六自由度抓取投影到观察到的点云中的接触点&#xff0c;表示只有4-DoF。 摘要 我们提出了一个端到端网络&#xff0c;可以直接从场景的深度记 录中有效地生成六自由度平行颚抓取的分布。 我们的新…

06 数据结构之树

引言&#xff1a; 数的代码实现&#xff0c; 先序遍历、中序、后序、层次遍历 /* binary_tree.h */ #ifndef _BINARY_TREE_H #define _BINARY_TREE_H#include <stdio.h> #include <stdlib.h> #include <string.h>#define DEBUG(msg) \printf("--%s--, %…

车载诊断协议DoIP系列 —— 诊断报文和诊断报文应答传输层安全(TLS)

车载诊断协议DoIP系列 —— 诊断报文和诊断报文应答&传输层安全(TLS) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎…

NLP:文本相似度计算

前面我们已经实现了把长段的句子&#xff0c;利用HanLP拆分成足够精炼的分词&#xff0c;后面我们要实现“联想”功能&#xff0c;我这里初步只能想到通过文本相似度计算来实现。下面介绍一下文本相似度计算 &#xff08;当然HanLP也有文本相似度计算的方法&#xff0c;这里我…

【JAVA】CSS3伸缩盒案例、响应式布局、BFC

1.CSS3伸缩盒案例 效果&#xff1a;用伸缩盒模型 <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&…

Windows电脑安装Linux(Ubuntu 22.04)系统(图文并茂)

Windows电脑安装Ubuntu 22.04系统&#xff0c;其它版本的Ubuntu安装方法相同 Ubuntu 16.04、Ubuntu 18.04安装方法相同&#xff0c;制作U盘启动项的镜像文件下载你需要的版本即可&#xff01; Ubuntu的中文官网网址&#xff1a;https://cn.ubuntu.com/&#xff0c;聪明的你一定…

redisson解决redis服务器的主从一致性问题

redisson解决redis的主节点和从节点一致性的问题。从而解决锁被错误获取的情况。 实际开发中我们会搭建多台redis服务器&#xff0c;但这些服务器分主次&#xff0c;主服务器负责处理写的操作&#xff08;增删改&#xff09;&#xff0c;从服务器负责处理读的操作&#xff0c;…

TCP粘包和分包

TCP的粘包和分包是网络通信中常见的问题&#xff0c;特别是在使用TCP协议进行数据传输时。这两个问题都涉及到TCP在传输数据时的工作机制。 粘包&#xff08;TCP数据合并&#xff09; 粘包指的是发送方发送的多个小数据包在传输过程中被TCP协议合并成一个大的数据包接收&…

英飞凌电源管理PMIC的安全应用

摘要 本篇文档主要用来介绍英飞凌电源管理芯片TLF35584的使用&#xff0c;基于电动助力转向应用来介绍。包含一些安全机制的执行。 TLF35584介绍 TLF35584是英飞凌推出的针对车辆安全应用的电源管理芯片&#xff0c;符合ASIL D安全等级要求&#xff0c;具有高效多电源输出通道&…

AI认知与科普(通识)

一、宏观分析 1.全球人工智能产业概况&#xff1a; 近年来&#xff0c;全球人工智能产业呈现出快速增长的趋势。据相关数据显示&#xff0c;全球人工智能市场规模预计将在2025年达到约600亿美元&#xff0c;年复合增长率达到约25%。其中&#xff0c;美国、中国、欧洲、日本等地…

Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(一)

前言 Jmeter&#xff0c;Postman一些基本大家相比都懂。那么真实在项目中去使用&#xff0c;又是如何使用的呢&#xff1f;本文将一文详解jmeter接口测试 一、接口测试分类 二、目前接口架构设计 三、市面上的接口测试工具 四、Jmeter简介&#xff0c;安装&#xff0c;环境…

opencv解析系列 - 基于DOM提取大面积植被(如森林)

Note&#xff1a;简单提取&#xff0c;不考虑后处理&#xff08;填充空洞、平滑边界等&#xff09; #include <iostream> #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include <opencv2/opencv.hpp> using namespace cv…

深入理解React中的useReducer:管理复杂状态逻辑的利器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…