微信推送浏览功能拓展

更佳的浏览体验,更快获得微信推送封面图与文章摘要以及更多功能

目前为 2021-05-17 提交的版本。查看 最新版本

// ==UserScript==
// @name         微信推送浏览功能拓展
// @namespace    https://blog.csdn.net/Huuc6
// @version      0.5
// @description  更佳的浏览体验,更快获得微信推送封面图与文章摘要以及更多功能
// @author       huuc
// @match        *://mp.weixin.qq.com/s*
// @icon         https://gitee.com/ziuc/utool-filebed/raw/master/20210514-231824-0795.png
// @require      http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js
// @license      GPL-2.0

//New Features
/*
* 功能特性:
* 增加单击文本复制文章摘要功能
* 增加设置默认时间显示格式
* 增加设置引导关注栏的开启或关闭
* 移除了“封面链接”按钮,获取封面链接可以点击公众号蓝字后点击内部的二维码获取
* 性能优化:
* 用对象变量统一管理功能开闭的逻辑,所有功能的启用与关闭都可以自行配置
* 增加checkout()函数,脚本运行主要功能前首先进行逻辑判断,减小不必要的性能开销
* 引入jQuery库,相比原生DOM操作代码量更小,代码可读性更高
* 适配新标准,停用var声明变量,改用ES6新增的let与const
* */
// ==/UserScript==

(function() {
    'use strict';
    let state=
        {
            url_state : true, // 是否启用点击二维码跳转到封面图链接功能
            recommend_state : true, // 是否显示引导关注栏
            datetype_state : true, // 是否启用修改默认时间显示模式功能
            summary_state : true // 是否启用显示摘要功能
        }

    if(checkout(state)===true)
    {
        const data = document.documentElement.outerHTML;

        //点击二维码跳转到封面图链接
        if(state.url_state===true)
        {
            let linkReg_1 = /msg_cdn_url = "(.*)"/ig;
            let url = linkReg_1.exec(data);
            let trueurl = url[1];
            console.log(trueurl);
            $('#js_profile_qrcode_img').click(function(){window.location.href=trueurl});
        }

        // 向网页中添加文章摘要并加入复制到剪切板功能
        if(state.summary_state===true)
        {
            let meta = document.getElementsByName("description");
            let contents = meta[0].content;
            let d2 = document.getElementById('meta_content');
            let clipboard = new ClipboardJS('.btn'); // 要使用 clipboard.js 需要声明一个clipboard实例
            d2.insertAdjacentHTML('afterend','<div id="summary" class="btn" data-clipboard-text="#" style="color: #B3B3B3FF; border-radius: 5px"></div><br/>');
            $('#summary').html("文章摘要:"+contents);
            $('#summary').attr("data-clipboard-text",contents);
        }

        //修改时间格式
        if(state.datetype_state===true)
        {
            let linkReg_2 = /",i="(\d{4}-\d{1,2}-\d{1,2})";/g;
            let date = linkReg_2.exec(data);
            $('#publish_time').text(date[1]);
        }

        //隐藏引导关注栏
        if (state.recommend_state!==true)
        {
            $('.qr_code_pc').hide();
        }
    }
    else
    {
        console.log('WeChat article browsing function expansion scripts is disabled.');
    }

    // checkout()函数
    function checkout(state)
    {
        let states = Object.keys(state);
        let num = states.length;
        let j=0;
        for (let i = 0; i < num-1; i++) // num:状态判断个数
        {
            if(state[states[i]]===false)
            {
                j++;
            }
        }
        return j !== num - 1;
    }
})();

//todo:
/*
* 将全部原生jsDOM操作替换为jQuery操作
* 优化变量声明过程,让代码更简洁
* 增加设置窗口,可以设置脚本默认功能,如日期显示、不同形式的封面图
* 增加更多的可选样式(自定义样式)
*/

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址