做了个拼多多客户端,提供收发消息接口

🚀拼多多商家工作台

image-20260826230116881

目前已经实现的功能

  1. 发文字,发图片,发视频
  2. 收消息,右下角提示弹窗
  3. 标记已读,转接到客服
  4. 获取cookie

//起一个websocket client
let heartbeatInterval;
let socket = new WebSocket("ws://127.0.0.1:41010");

socket.onopen = async (e) => {
    console.log('[WebSocket] Connected');
    startHeartbeat();
};

socket.onmessage = async function(event) {
    let recvData = JSON.parse(event.data);
    console.log(recvData);
};

socket.onclose = function(event) {
    clearInterval(heartbeatInterval);
};

function startHeartbeat() {
    heartbeatInterval = setInterval(() => {
        if (socket.readyState === WebSocket.OPEN) {
            socket.send(JSON.stringify({ method: 'heartbeat',token:'token' }));
        } else {
            clearInterval(heartbeatInterval); 
        }
    }, 3000);
}

socket.onerror = function(error) {
    console.error('[WebSocket] Error:', error);
};

1. 接受到的消息都在  socket.onmessage里
2. 所有接口的返回值也都在 socket.onmessage里



//获取所有登录的店铺
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getmalls'}))

//获取当前选中的店铺
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getcurrentmall'}))

//发文字
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'sendtext',mallid:'账号的csid',uid:"客户Id",text:'你好'}))

//发图片
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'sendimage',mallid:'账号的csid',uid:"客户Id",image:'data:image/png;base64,iVBORw0KGgoAAAA'}))

//获取店铺视频素材
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getvideos',mallid:'账号的csid'}))

//发视频
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'sendvideo',mallid:'账号的csid',uid:"客户Id",videoUrl:'https://xxx'}))

//获取店铺在线子账号
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getassigncslist',mallid:'账号的csid'}))

//转到到其他客服
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'moveconv',mallid:'账号的csid',tomallid:"目标客服csid",uid:"客户Id",reason:'转接原因'}))

//获取店铺聊天客户的列表
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getchatlist',mallid:'账号的csid'}))

//passid 约等于 cookie
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getpassid',mallid:'账号的csid'}))

//获取anticontent
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getanticontent',mallid:'账号的csid'}))

//标记已读
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'markread',mallid:'账号的csid',uid:"客户Id"}))

//获取店铺商品
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getgoods',mallid:'账号的csid',page:1,pageSize:10}))

//获取买家足迹
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'getfootprint',mallid:'账号的csid',uid:"客户Id",page:1,pageSize:10}))

//获取买家历史消息, cursor 传最近的消息id,从传入的消息id开始获取历史消息
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'gethistorymessages',mallid:'账号的csid',uid:"客户Id",cursor:'214987741649',pageSize:10}))

//修改订单备注
socket.send(JSON.stringify({id:crypto.randomUUID(),method:'updateorderremark',mallid:'账号的csid',orderSn:"订单号",remark:'',remarkTag:'',RemarkTagName:''}))

🛡 注意事项

⚠️ 注意:本项目仅供学习与交流,如有侵权联系作者删除。
鉴于项目的特殊性,开发团队可能在任何时间停止更新删除项目

通过网盘分享的文件:dd_setup.exe
链接: https://pan.baidu.com/s/1lCGbj134edLeeu1aOG9f2A 提取码: 1g5w

posted @ 2026-09-06 11:10  靓仔超  阅读(72)  评论(0)    收藏  举报