微信公众号,静默获取用户openid简单有效的方法

公众号后台设置

现在订阅号已经不能静默获取openid,认证服务号才可以静默获取openid

需要准备的资料

注意订阅号已经不能静默获取openid,不要去白费力气了

1.注册认证的服务号

2.可以访问的域名

3.基础appid,后面开发要用到哦

第一步.开始设置

登录公众号后台,进入<接口权限>菜单

下一步,配置公众号域名,微信平台需要验证填写域名是否正确

微信平台通过访问特定的验证文件验证域名的合法性,根据提示下载验证文件,并放到自己的服务器中,配置好之后,微信后台会到服务器中访问这个验证文件的链接地址,如果能够正常访问,则认为配置成功

第二步.设置开发静默获取openid的页面

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
    <meta name="aplus-terminal" content="1"/>
    <meta name="apple-mobile-web-app-title" content="Vote"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
    <meta name="format-detection" content="telephone=no, address=no"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Cache-Control" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>
    <title>3D展示自定义页面</title>
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

    <script type="text/javascript">
        window.onpageshow=function(evt){
            if(evt.persisted){
                window.location.reload();
            }
        }
    </script>
    <style>
        .red{
            color: #ff0628;
        }
        input::-webkit-input-placeholder {
            color: #999;
            -webkit-transition: color.5s;
        }
        input:focus::-webkit-input-placeholder, input:hover::-webkit-input-placeholder {
            color: #c2c2c2;
            -webkit-transition: color.5s;
        }
    </style>

</head>
<body  style="background:yellow">
<script th:inline="javascript">
    /*<![CDATA[*/

    /*
     获取参数
     */
    function getUrlParam(paramName) {
        var url = window.location.href;
        var oRegex = new RegExp("[\?&]" + paramName + "=([^&]+)", "i");
        var oMatch = oRegex.exec(url);
        if (oMatch && oMatch.length > 1) {
            return decodeURI(oMatch[1]);
        } else {
            return "";
        }
    }
    function jumpLink(){
        var url=encodeURIComponent(window.location.href.split("?")[0]);
        // var url=window.location.href.split("?")[0];
        var time=Date.now();
        //正确填写公众号的appid,本例子是错误号请勿照搬 wxacfccc9bb6d07c50
        var link="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxacfccc9bb6d07c50&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state="+time+"#wechat_redirect";
        // alert(link);
        window.location.replace(link);
    }


    var id=localStorage.getItem("wx-openid");
    if(id) {
        $("body").attr("data-id",id);
        // alert(id);
    }else{
        var code = getUrlParam("code");
        var state= getUrlParam("state");
        // alert(state);
        if(!state){
            jumpLink();
        }else{
            var expired = (Date.now() - state)> 4*60*1000 ;
            if(expired){
                jumpLink();
            }else{
                if(code){
                    $.ajax({
                        type:"GET",
                        // 在服务端接收code,调用维信平台接口获取用户openid
                        url :"http://www.test.com/weixin/auth.json?code="+code,
                        success:function(result){
                            var obj;
                            if(typeof result==="string"){
                                try{
                                    obj=JSON.parse(result);
                                }catch(e){
                                    obj={};
                                }
                            }else{
                                obj=result;
                            }
                            if(obj.openid){
                                var openid=$.trim(obj.openid);
                                $("body").attr("data-id", openid);
                                localStorage.setItem("wx-openid",openid);
                            }else{
                                jumpLink();
                            }

                        },
                        error:function(err){
                            alert(err);
                        }
                    })
                }else{
                    jumpLink();
                }
            }
        }
    }

    /*]]>*/
</script>
<ul><li>这是测试页面</li></ul>
<div class="votePage">
    <!--文字说明!-->
    <div>
        <div>支付金额:</div>
        <div>
            <input style="height:25px;ime-mode:disabled" id="amount" type="number" name="amount" step="0.1" min="1" max="999"  placeholder="支付金额" required="required"/>
            <button id="btnPay" name="pay" >付款</button>
        </div>
    </div>

</div>
</body>
</html>

第三步.把开发出来的html页面放到服务器

http://www.test.com/4d.html

通过微信访问这个页面,后台就可以获得相应的openid啦

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值