苹果手机使用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));
});
-------------------------
<%@ 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>
-------------------------
-------------------------