zoukankan      html  css  js  c++  java
  • 微信公众号扫码,安桌可以,但IOS中 wx.config 不执行!

    1、问题

    今天测试公众号的扫码程序,发现安桌可用,但在IOS下,wx.config 和 wx.error 都不执行。

    代码如下:

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>MiniRegistor</title>
    </head>
    <body>
    </body>
    </html>
    <script src="~/lib/jquery/dist/jquery.js"></script>
    <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
    <script type="text/javascript">
        var link = location.href;
        $.ajax({
            url: "@Url.Action("GetInfoMation", "Weixin")",//后台给你提供的接口
            type: "Post",
            data: "{ 'url': '" + link + "' }",
            async: false,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (res) {
                var datad = JSON.parse(res.data); //转译为Json字符串
                wx.config({
                    debug: false,
                    appId: datad.appid,
                    timestamp: datad.timestamp,
                    nonceStr: datad.noncestr,
                    signature: datad.signature,
                    jsApiList: [
                        'scanQRCode'
                    ]
                });
                wx.ready(function () {
                    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如需要在页面加载时就调用相关接口,
                    // 则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不要放在ready函数中。
                    wx.scanQRCode({
                        needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果; 这里我们要处理扫码结果,所以一定要设为 1
                        scanType: ["qrCode"], // 可以指定扫二维码还是一维码,默认二者都有
                        success: function (res) {
                            var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
                            // 在这里我们就可以对 result 这个扫码结果做处理了
                            // 处理代码如下。。。
    
                        }
                    });
                });
                wx.error(function (res) {
                    alert(res);
                });
            },
            error: function (e) {
                alert(e.responseText);
            }
        });
    </script>

    2、问题分析

        IOS下,wx.config 和 wx.error 都不执行,说明微信相关代码都没起作用。说明 jweixin-1.2.0.js 没有生效。

    换了多个版本也没有生效。

    3、问题解决

        猜了一下 IOS对网络安全要求比较高,无法访问 http 的网站,于是换为 https 就能访问到 jweixin 库了。

        ---- 问题解决了。

        贴上解决后的代码:

    <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
  • 相关阅读:
    配置PyCharm(背景色+字体大小+解释器选择)
    面向对象的三大特性(封装、继承、多态)
    hashlib模块
    logging模块
    Mac OSX系统、Linux、Windows命令行教程
    Python2和Python3的一些语法区别
    python——内置函数和lambda匿名函数
    python——异常处理
    SVN
    实体框架Entity Framework 4.1快速入门
  • 原文地址:https://www.cnblogs.com/citycomputing/p/13730509.html
Copyright © 2011-2022 走看看