苹果手机使用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>
-------------------------
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。