开发者社区> 问答> 正文

苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?!

苹果手机使用JSAPI扫码功能提示scan err,安卓扫描功能一切正常,什么情况?!?!求大神指点。


展开
收起
蓝小新 2016-06-02 15:17:24 12061 0
3 条回答
写回答
取消 提交回答
  • 回 5楼靖山的帖子
    $('.saomiao').on('click', function() {

           dd.biz.util.scan({
                type: 'qrCode',//type为qrCode或者barCode
                onSuccess: function(data) {
                //onSuccess将在扫码成功之后回调
                  /* data结构
                    { 'text': String}
                  */
                  
                },
               onFail : function(err) {
               }
            });

        });

    我这里的参数改成了 qrCode 为什么安卓可以而IOS无法打开相机扫码呢?

    已解决:缓存问题太严重了,缓存原因,我禁止他缓存了,为什么缓存问题这么严重呢?
    2017-04-03 00:46:34
    赞同 展开评论 打赏
  • 把相关的代码代码块贴一下:调用了哪个js-api,入参和返回错误码

    -------------------------

    1. $('.scan').on('click', function () {
    2.     dd.biz.util.scan({
    3.         type: String,//type为qrCode或者barCode
    4.         onSuccess: function (data) {
    5.             //onSuccess将在扫码成功之后回调
    6.             /* data结构
    7.                { 'text': String}
    8.             */
    9.             window.location.href = "?ma=" + data.text;
    10.         },
    11.         onFail: function (err) {
    12.             alert("scan err");
    13.         }
    14.     });
    15. });

    16. dd.biz.util.scan 的入参接受'qrCode'或者'barCode' 要使用二维码的话改成
    17. $('.scan').on('click', function () {
    18.     dd.biz.util.scan({
    19.         type: 'qrCode',
    20.         onSuccess: function (data) {
    21.             //onSuccess将在扫码成功之后回调
    22.             /* data结构
    23.                { 'text': String}
    24.             */
    25.             window.location.href = "?ma=" + data.text;
    26.         },
    27.         onFail: function (err) {
    28.             alert("scan err");
    29.         }
    30.     });
    31. });
    2016-06-02 15:30:29
    赞同 展开评论 打赏
  • Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?!
    钉钉自带的扫描在苹果下也可以用,微应用里使用JSAPI就不行,苹果手机权限也看了,全都放开着呢,为什么啊?!?

    -------------------------

    Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?!
    /**
    * Created by liqiao on 8/10/15.
    */
    //logger.i('Here we go...');
    //logger.i(location.href);
    /**
    * _config comes from server-side template. see views/index.jade
    */
    dd.config({
        agentId: _config.agentId,
        corpId: _config.corpId,
        timeStamp: _config.timeStamp,
        nonceStr: _config.nonceStr,
        signature: _config.signature,
        jsApiList: [
            'runtime.info',
            'device.notification.prompt',
            'biz.chat.pickConversation',
            'device.notification.confirm',
            'device.notification.alert',
            'device.notification.prompt',
            'biz.chat.open',
            'biz.util.open',
            'biz.user.get',
            'biz.contact.choose',
            'biz.telephone.call',
            'biz.ding.post',
            'biz.util.scan']
    });
    dd.userid = 0;
    dd.ready(function () {
        //logger.i('dd.ready rocks!');
        dd.runtime.info({
            onSuccess: function (info) {
                //logger.i('runtime info: ' + JSON.stringify(info));
            },
            onFail: function (err) {
                logger.e('fail: ' + JSON.stringify(err));
            }
        });
        dd.runtime.permission.requestAuthCode({
            corpId: _config.corpId, //企业id
            onSuccess: function (info) {
                //logger.i('authcode: ' + info.code);
                $.ajax({
                    url: '/sendMsg.php',
                    type: "POST",
                    data: { "event": "get_userinfo", "code": info.code },
                    dataType: 'json',
                    timeout: 900,
                    success: function (data, status, xhr) {
                        var info = JSON.parse(data);
                        if (info.errcode === 0) {
                            //logger.i('user id: ' + info.userid);
                            dd.userid = info.userid;
                        }
                        else {
                            logger.e('auth error: ' + data);
                        }
                    },
                    error: function (xhr, errorType, error) {
                        if(error!=null)
                            logger.e(errorType + ', ' + error);
                    }
                });
            },
            onFail: function (err) {
                logger.e('requestAuthCode fail: ' + JSON.stringify(err));
            }
        });
        dd.biz.user.get({
            onSuccess: function (info) {
                //logger.e('userGet success: ' + JSON.stringify(info));
            },
            onFail: function (err) {
                logger.e('userGet fail: ' + JSON.stringify(err));
            }
        });
        $('.chooseonebtn').on('click', function () {
            dd.biz.chat.pickConversation({
                corpId: _config.corpId, //企业id
                isConfirm: 'false', //是否弹出确认窗口,默认为true
                onSuccess: function (data) {
                    var chatinfo = data;
                    if (chatinfo) {
                        console.log(chatinfo.cid);
                        dd.device.notification.prompt({
                            message: "发送消息",
                            title: chatinfo.title,
                            buttonLabels: ['发送', '取消'],
                            onSuccess: function (result) {
                                var text = result.value;
                                if (text == '') {
                                    return false;
                                }
                                $.ajax({
                                    url: '/sendMsg.php',
                                    type: "POST",
                                    data: { "event": "send_to_conversation", "cid": chatinfo.cid, "sender": dd.userid, "content": text },
                                    dataType: 'json',
                                    timeout: 900,
                                    success: function (data, status, xhr) {
                                        var info = data;
                                        //logger.i('sendMsg: ' + JSON.stringify(data));
                                        if (info.errcode == 0) {
                                            //logger.i('sendMsg: 发送成功');
                                            /**
                                             * 跳转到对话界面
                                             */
                                            dd.biz.chat.open({
                                                cid: chatinfo.cid,
                                                onSuccess: function (result) {
                                                },
                                                onFail: function (err) { }
                                            });
                                        } else {
                                            logger.e('sendMsg: 发送失败' + info.errmsg);
                                        }
                                    },
                                    error: function (xhr, errorType, error) {
                                        logger.e(errorType + ', ' + error);
                                    }
                                });
                            },
                            onFail: function (err) { }
                        });
                    }
                },
                onFail: function (err) {
                }
            });
        });
        $('.scan').on('click', function () {
            dd.biz.util.scan({
                type: String,//type为qrCode或者barCode
                onSuccess: function (data) {
                    //onSuccess将在扫码成功之后回调
                    /* data结构
                      { 'text': String}
                    */
                    window.location.href = "?ma=" + data.text;
                },
                onFail: function (err) {
                    alert("scan err");
                }
            });
        });
        $('.phonecall').on('click', function () {
            dd.biz.contact.choose({
                startWithDepartmentId: 0, //-1表示打开的通讯录从自己所在部门开始展示, 0表示从企业最上层开始,(其他数字表示从该部门开始:暂时不支持)
                multiple: false, //是否多选: true多选 false单选; 默认true
                users: [], //默认选中的用户列表,userid;成功回调中应包含该信息
                corpId: _config.corpId, //企业id
                max: 10, //人数限制,当multiple为true才生效,可选范围1-1500
                onSuccess: function (data) {
                    if (data && data.length > 0) {
                        var selectUserId = data[0].emplId;
                        if (selectUserId > 0) {
                            dd.biz.telephone.call({
                                users: [selectUserId], //用户列表,工号
                                corpId: _config.corpId, //企业id
                                onSuccess: function (info) {
                                    //logger.i('biz.telephone.call: info' + JSON.stringify(info));
                                },
                                onFail: function (err) {
                                    logger.e('biz.telephone.call: error' + JSON.stringify(err));
                                }
                            })
                        } else {
                            return false;
                        }
                    } else {
                        return false;
                    }
                },
                onFail: function (err) { }
            });
        });

    });
    dd.error(function (err) {
        logger.e('dd error: ' + JSON.stringify(err));
    });


    -------------------------

    Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?!
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>


    <!DOCTYPE HTML>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width" />
        <link rel="stylesheet" type="text/css" href="css/style.css" />
        <link rel="stylesheet" href="http://g.alicdn.com/ilw/ding/0.2.3/styles/main.css?v=262192719_110744" type="text/css" />
        <!-- config中signature由jsticket产生,若jsticket失效,则signature失效,表现为dd.error()返回“权限校验失败”之错误。 -->
        <!-- 在请求新的jsticket之后,旧的ticket会失效,导致旧ticket产生的signature失效。 -->
        <script type="text/javascript">
            var _config = {
                url: '<%=url%>',
                appId: '<%=appId%>',
                corpId: '<%=corpId%>',
                timeStamp: '<%=timestamp%>',
                nonceStr: '<%=nonceStr%>',
                signature: '<%=signature%>'
            };</script>
        <script type="text/javascript" src="/public/javascripts/zepto.min.js"></script>
        <script type="text/javascript" src="https://g.alicdn.com/ilw/ding/0.8.9/scripts/dingtalk.js"></script>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div class="carsearch">
                <div class="carsearchcon">
                    <asp:TextBox CssClass="carsin" ID="txtKey" runat="server" placeholder="输入车牌号,如豫A66666"></asp:TextBox>
                     <asp:Button CssClass="carsum" ID="btnQuery" runat="server" Text=" " OnClick="btnQuery_Click" />
                </div>
                <p class="recur"><a class="scan" data-method="biz.util.qrcode" data-param='{}' data-action="alert">重新扫一扫</a></p>
            </div>

            <h1 class="cartit">车主信息</h1>
            <div class="carlist">
                <div class="carcon">
                    <div class="carlisttit">
                        车牌号
                    </div>
                    <div class="carlistcon">
                        <asp:HiddenField ID="hidGuid" runat="server" />
                        <asp:HiddenField ID="hidKey" runat="server" />
                        <asp:Label ID="LB_CarCode" runat="server" Text=""></asp:Label>
                    </div>
                </div>
            </div>
            <div class="carlist">
                <div class="carcon">
                    <div class="carlisttit">
                        车主姓名
                    </div>
                    <div class="carlistcon">

                        <asp:Label ID="LB_Name" runat="server" Text=""></asp:Label>
                    </div>
                </div>
            </div>
            <h1 class="cartit">办卡信息</h1>
            <div class="carlist">
                <div class="carcon">
                    <div class="carlisttit">
                        卡号
                    </div>
                    <div class="carlistcon">

                        <asp:Label ID="LB_CardNo" runat="server" Text=""></asp:Label>
                    </div>
                </div>
            </div>
            <div class="carlist">
                <div class="carcon">
                    <div class="carlisttit">
                        办卡时间
                    </div>
                    <div class="carlistcon">

                        <asp:Label ID="LB_EmitDate" runat="server" Text=""></asp:Label>
                    </div>
                </div>
            </div>
            <div class="carlist">
                <div class="carcon">
                    <div class="carlisttit">
                        有效期
                    </div>
                    <div class="carlistcon">

                        <asp:Label ID="LB_StartDate" runat="server" Text=""></asp:Label>
                        至
                        <asp:Label ID="LB_EndDate" runat="server" Text=""></asp:Label>
                    </div>
                </div>
            </div>

            <div class="carlist">
                <div class="carcon">
                    <div class="carlisttit">
                        卡状态
                    </div>
                    <div class="carlistcon">
                        <asp:Label ID="LB_State" runat="server" Text=""></asp:Label>
                    </div>
                </div>
            </div>
            <h1 class="cartit">进出车记录(限最近50条)
            </h1>
            <div class="carotim">
                <div class="cotconlist">
                    <p><asp:Literal ID="ltMsg" runat="server"></asp:Literal></p></div>
                <asp:Repeater ID="RepList" runat="server">
                    <ItemTemplate>
                        <div class="cotconlist">
                            <p><%#Eval("Car_No") %> <%#Eval("Come_Date") %>-><%#Eval("Go_Date") %></p>
                        </div>
                    </ItemTemplate>
                </asp:Repeater>
            </div>

        </form>
        <script type="text/javascript" src="/public/javascripts/logger.js"></script>
        <script type="text/javascript" src="/public/javascripts/demo.js"></script>
    </body>
    </html>


    -------------------------

    Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?!
    全部代码都在上面了,苹果手机扫描失败!安卓正常!

    -------------------------

    Re苹果手机使用JSAPI扫码功能提示scan err,安卓正常,什么情况?!?!
    学习了!!大神就是牛X
    2016-06-02 15:23:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载