• 不需要K值实现打开链接、扫码即可在手机、电脑端弹出QQ添加好友框的方法


    本篇文章主要讲解:pc与手机端浏览器打开链接即可弹出QQ好友添加框的代码实现方式
    日期:2022年10月22日

    有很多朋友,会觉得qq添加好友需要提供链接里的k值,但是实际上方向错了,k值是腾讯那边加密过的,因为看过很多QQ开放社区文档,没有找到K值的获取方式,所以我们是拿不到的。但是qq那边不仅仅只是提供了一种弹出框方法而是多种,我们可以用其他方法来解决这个问题。

    一、效果说明

    1.pc电脑端浏览器打开即可弹出添加好友框。
    在这里插入图片描述

    2.手机浏览器无论是安卓还是苹果ios系统打开即可弹出添加好友框。
    在这里插入图片描述

    二、实现思路

    1.PC端使用如下链接

    //支持pc任意浏览器
    tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=改成你的QQ
    
    • 1
    • 2

    2.手机端使用如下链接

    //支持ios、andorid
    mqqapi://card/show_pslcard?src_type=internal&version=1&uin=改成你的QQ&card_type=person&source=sharecard
    
    • 1
    • 2

    三、嵌入html界面,利用js进行执行

    <html>
    <script language="javascript" type="text/javascript">
        /**适用于PC和任何手机跳转qq添加好友界面的实例**/
        const uag = navigator.userAgent;
        const ipad = uag.match(/(iPad).*OS\s([\d_]+)/),
        isMqVer = !ipad && uag.match(/(iPhone\sOS)\s([\d_]+)/) || uag.match(/(Android)\s+([\d.]+)/);
        if(isMqVer){
            //手机端自动打开弹出 包括苹果ios、安卓等均可弹出
            location.href="mqqapi://card/show_pslcard?src_type=internal&version=1&uin=改成你的QQ&card_type=person&source=sharecard";
        }else{
            //pc浏览器默认打开弹出
            location.href="tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=改成你的QQ";
        }
    </script>
    </html>
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    四、其他界面应用说明

    1.实现一个界面自适应动态弹出添加框的方式

    思路:利用get参数获取qq,并通过上述的html界面进行执行弹出框,以php为例,如下:

    <html>
    <script language="javascript" type="text/javascript">
        /**适用于PC和任何手机跳转qq添加好友界面的实例**/
        const uag = navigator.userAgent;
        const ipad = uag.match(/(iPad).*OS\s([\d_]+)/),
        isMqVer = !ipad && uag.match(/(iPhone\sOS)\s([\d_]+)/) || uag.match(/(Android)\s+([\d.]+)/);
        if(isMqVer){
            //手机端自动打开弹出 包括苹果ios、安卓等均可弹出
            location.href="mqqapi://card/show_pslcard?src_type=internal&version=1&uin=$_GET['you_qq_number'];?>&card_type=person&source=sharecard";
        }else{
            //pc浏览器默认打开弹出
            location.href="tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=$_GET['you_qq_number'];?>";
        }
    </script>
    </html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    2.实现二维码扫码后弹出添加好友弹出框

    思路:利用上述的链接,我们把url用qcorde.js插件进行生成一个二维码,并绑定这个链接。

    扫码功能实现教程【附qcoder.js插件下载】:https://blog.csdn.net/hj960511/article/details/70184003

    //引入我们的插件文件
    <script type="text/javascript" src="assets/js/qrcode.min.js"></script>
    					<div style="margin-top:10px; float: left">
    						<div class="pull-left">
    							<div id="qrcode" style="width: 100px;margin:0 auto"></div>
    						</div>
    						<div class="pull-left">
    							<p style="margin-left: 10px">扫一扫,手机打开浏览。</p>
    						</div>
    					</div>
        					<script type="text/javascript">
                            var qrcode = new QRCode(document.getElementById("qrcode"), {
                            width : 100,
                            height : 100
                            });
                            function makeCode () {
                            qrcode.makeCode("http://你所定义的qq好友弹出框添加界面地址?you_qq_number=你的qq号。");
                            }
                            makeCode();
                            </script>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    五、其他运用方法

    1.一个界面多个按钮实现添加好友的方式

    思路:利用a便签牵引到我们上方设定的动态页面,带入qq参数

    <a href="/add_qq?you_qq_number=你的qq"/>
    
    • 1
    2.弹出咨询框的方法

    tips:需要我们先在qq的隐私设置中打开公开咨询的设置

    http://wpa.qq.com/msgrd?v=3&uin=你的QQ号&site=qq:你的QQ号&menu=yes
    
    • 1
  • 相关阅读:
    mybatis简介&idea导入mybatis
    Go if流程控制与快乐路径原则
    【干货】安全应用RPA的3个阶段
    ## 其它问题
    Java关键字
    幼儿安全消防知识教案
    B站:AB test [下]
    在线Excel的计算函数引入方法有哪些?提升工作效率的技巧分享!
    JVM(十九)—— 垃圾回收(五)
    Vue3 + ElementPlus 前端实现分片上传
  • 原文地址:https://blog.csdn.net/hj960511/article/details/127457571