BOSS直聘网页功能增强-聊天页面显示消息送达或已读状态

通过网页抓包分析可知:API:https://www.zhipin.com/wapi/zprelation/friend/getGeekFriendList.json?page=1 里面的数据是前100个BOSS的聊天消息数据,其中zpData.result[i].lastMessageInfo.status是第i个BOSS的聊天消息状态,值为1是送达,值为2是已读,值为0是系统提示(您的消息已被心仪Boss优先查看,也是已读状态)。

由此可编写JavaScript油猴脚本:

// ==UserScript==
// @name         BOSS聊天消息状态显示
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.zhipin.com/web/geek/chat*
// @require      https://unpkg.com/ajax-hook@2.0.9/dist/ajaxhook.min.js
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    ah.proxy({
        onRequest: (config, handler) => {
            handler.next(config);
        },
        onError: (err, handler) => {
            handler.next(err)
        },
        onResponse: (response, handler) => {
            if(response.config.url=="/wapi/zprelation/friend/getGeekFriendList.json?page=1"){
                let responseJson=JSON.parse(response.response);
                let resultData=responseJson.zpData.result;
                setTimeout(function () {
                    let text = document.getElementsByClassName('text');
                    for (let i = 0; i < resultData.length; i++) {
                        let span = document.createElement('span');
                        span.setAttribute('class','time');
                        if(resultData[i].lastMessageInfo.status==1){
                            span.textContent="-送达";
                        }else if(resultData[i].lastMessageInfo.status==2||resultData[i].lastMessageInfo.status==0){
                            span.textContent="-已读";
                        }else{
                            span.textContent="-status:"+resultData[i].lastMessageInfo.status;
                        }
                        text[i].children[0].insertBefore(span,text[i].children[0].children[0]);
                    }
                },1000);
            }
            handler.next(response);
        }
    });
})();

效果:BOSS直聘网页消息页面https://www.zhipin.com/web/geek/chat,在前100个BOSS的聊天时间后面显示消息状态:

posted @ 2022-10-17 12:28  harglo  阅读(337)  评论(0编辑  收藏  举报