企业微信的iPhone端无法调用chooseImage方法

qq_38388286 2018-08-08 04:57:58
企业微信的iPhone无法调用chooseImage方法,但是安卓正常运行
代码贴了 最简单的一段,图示是效果图,点击以后会调用chooseImage拍照。安卓OK,苹果不行。
用vconsole查看的报错如下

TypeError: undefined is not a function (near '...a.oldWXJSObj.invoke...')
...全文
1855 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
proudzhen 2018-08-13
  • 打赏
  • 举报
回复
好专业的分析啊,佩服
Susanoon 2018-08-09
  • 打赏
  • 举报
回复
wx.config({
beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,企业微信的corpID
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

楼主你在config部分加上beta:true参数就解决了
讨厌走开啦 2018-08-09
  • 打赏
  • 举报
回复
js.jssdkwixin(['openLocation','getLocation','chooseImage','uploadImage']);


是这里出错吧?你的js.js是什么东东,要看jssdkwixin这个方法你是怎么写的。
qq_38388286 2018-08-08
  • 打赏
  • 举报
回复
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
<title>前端的测试</title>
<link rel="stylesheet" type="text/css" href="web/res/fontawesome/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
<link rel="stylesheet" type="text/css" href="mode/weui/weui.min.css"/>
<link rel="stylesheet" href="weui/css/jquery-weui.css">
<link rel="stylesheet" href="weui/lib/weui.css">

<script type="text/javascript" src="weui/lib/jquery-2.1.4.js"></script>
<script type="text/javascript" src="js/js.js"></script>
<script type="text/javascript" src="js/jswx.js"></script>
<script type="text/javascript" src="js/base64-min.js"></script>
<!--<script charset="utf-8" src="http://map.qq.com/api/js?v=2.exp&libraries=convertor,geometry"></script>-->
<script src="weui/js/jquery-weui.js" type="text/javascript" charset="utf-8" ></script>
<script src="weui/js/vconsole.min.js" type="text/javascript" charset="utf-8"></script>
<script>
var vConsole = new VConsole();




var kqrs = <?=json_encode($kqrs);?>,isgzh = <?=$isgzh?>;
var iswcdkid = <?=json_encode($iswcdkid);?>;
js.servernow = '<?=$rock->now?>';
var infoWin,marker,circle;
var label='',accuracy=0,latitude='',longitude='',kqjuli=-1,addbo = true;
apiready = function(){
initbodyss()
}
function initbody(){
if(js.request('ftype')!='app')initbodyss();
}
function initbodyss(){
js.getsplit();
js.jssdkwixin(['openLocation','getLocation','chooseImage','uploadImage']);
if(isgzh==1){
js.jssdkwxgzh();
}else{
js.jssdkwixin();
}
showtimessabc();
var lata = js.getoption('latlongedu','39.908254886997774,116.39744281768799').split(',');
if(!lata[2])lata[2]=16;
scale = parseFloat(lata[2]);
var center = new qq.maps.LatLng(parseFloat(lata[0]), parseFloat(lata[1]));
map = new qq.maps.Map(document.getElementById('container'),{
center: center,
zoom: scale
});
if(kqrs){
var enddt = new qq.maps.LatLng(parseFloat(kqrs.location_x), parseFloat(kqrs.location_y));
new qq.maps.Marker({
map: map,
position:enddt
});
}
geocoder = new qq.maps.Geocoder({
complete : function(result){
js.msg();
addbo = true;
scale = map.getZoom();
js.setoption('latlongedu',''+latitude+','+longitude+','+scale+'');
clearTimeout(dwtimeer);
dwbool = false;
var center = result.detail.location;
map.setCenter(center);
var address = result.detail.address;
var dzarr = result.detail.addressComponents;
address = ''+dzarr.province+''+dzarr.city+''+dzarr.district+''+dzarr.street+'';
if(dzarr.streetnumber)address+=dzarr.streetnumber;
label = address+'';
if(accuracy>0)address+='(精确'+accuracy+'米)';
showinfo(center ,accuracy, '定位成功<br>地址:'+address+'');
if(kqrs){
kqjuli = parseInt(qq.maps.geometry.spherical.computeDistanceBetween(center, enddt));
}
var slju = parseFloat(kqrs.precision);
if(kqjuli<=slju || iswcdkid!="false"){
$(".btns").removeClass('btn_disabled');
$(".errdk").siblings('span').css({"color": '#999999'});
showinfo(center ,accuracy, '定位成功,距离('+kqjuli+')米。<br>地址:'+address+'');

}
if(kqjuli>slju && iswcdkid=="false" )
{
showinfo(center ,accuracy, '定位成功,距离('+kqjuli+')米,考勤设置误差不能超过('+slju+')米。请勾选<font color=#FF0000>[异常打卡]</font>选项。<br>地址:'+address+'');
}
}
});
}
function showtimessabc(){
var dt = js.serverdt('H:i:s');
$('#timess').html(dt);
setTimeout('showtimessabc()',1000);
}


js.jssdkcall = function(bo){
dingweidak();
}
function showinfo(center ,fw, str){
if(!infoWin)infoWin = new qq.maps.InfoWindow({
map: map
});
infoWin.open();
infoWin.setContent(str);
infoWin.setPosition(center);

if(!marker)marker= new qq.maps.Marker({
map: map
});
marker.setPosition(center);
if(!circle)circle=new qq.maps.Circle({
map:map,
strokeWeight:1
});
circle.setCenter(center);
circle.setRadius(parseFloat(fw));
}
var dwbool=false,dwtimeer;
function dingweidak(){
if(dwbool)return;
dwbool = true;
chaoshi();
if(js.jssdkstate != 1){
htmldingw();
return;
}
var msg = '微信定位中...';
if(js.isqywx)msg='企业微信定位中...';
js.msg('wait',msg);
wx.getLocation({
type: 'gcj02',
success: function (res){
js.setmsg('');
clearTimeout(dwtimeer);
latitude = res.latitude;
longitude = res.longitude;
scale = map.getZoom();
accuracy = parseFloat(res.accuracy);
js.msg('wait','定位成功,获取位置信息...');
var center = new qq.maps.LatLng(latitude, longitude);
geocoder.getAddress(center);
},
error:function(){
js.msg('msg','微信定位失败,请重试', 0,function(){
$(".errdk").removeClass('defnot');
});
js.jssdkstate = 2;
clearTimeout(dwtimeer);
}
});

}
function chaoshi(){
clearTimeout(dwtimeer);
dwtimeer = setTimeout(function(){
js.msg('msg','定位超时,请确认手机[位置信息]开启后重新定位', 0, function(){
$(".errdk").removeClass('defnot');
});
js.jssdkstate = 2;
dwbool=false;
},20*1000);
}
function htmldingw(){
if(api.appName){
baidingwei();
return;
}
if(!navigator.geolocation){
js.msg('msg','不支持浏览器定位', 0, function(){
$(".errdk").removeClass('defnot');
});
clearTimeout(dwtimeer);
}else{
js.msg('wait','浏览器定位中...');
navigator.geolocation.getCurrentPosition(showPosition,showError,{
enableHighAccuracy: true,
timeout: 19000,
maximumAge: 3000
});
}
}
function showError(error){
clearTimeout(dwtimeer);dwbool=false;
js.setmsg('');
var msg='无法定位';
switch(error.code){
case error.PERMISSION_DENIED:
msg="用户拒绝对获取地理位置的请求。"
break;
case error.POSITION_UNAVAILABLE:
msg="位置信息是不可用的。"
break;
case error.TIMEOUT:
msg="请求用户地理位置超时。"
break;
case error.UNKNOWN_ERROR:
msg="未知错误。"
break;
}
js.msg('msg', msg, 0, function(){
$(".errdk").removeClass('defnot');
});

}








</script>
<style>
.relogin{position:absolute;right:10px;top:40px;width:40px;height:40px; line-height: 40px; background:rgba(0,0,0,0.5);z-index:1;border-radius:50%;font-size:14px;color:white;text-align:center}
.record{position:absolute;right:10px;bottom:10px;width:40px;height:40px; line-height: 40px; background:rgba(0,0,0,0.5);z-index:1;border-radius:50%;font-size:14px;color:white;text-align:center}
.record:active{background:rgba(0,0,0,0.8)}
a.relogin:link,a.relogin:visited,
a.record:link,a.record:visited{color: #ffffff;}
a:link, a:visited{ color: #454545; }
.btn_disabled{opacity: 0.4;}
.status{
width: 54px;
background: #dedede;
border-radius: 4px;
padding: 2px 4px;
text-align: center;
margin-left: 10px;
}
.atype{
background: #dedede;
border-radius: 4px;
padding: 2px 4px;
margin-right: 10px;
}
</style>
</head>


<body>


<div>

<div style="width:100%;height:340px;position:relative">
<div id="container" style="position:absolute;width:100%;height:340px;"></div>
<a class="relogin" href="?m=ying&d=we&a=relogin"><i class="icon-refresh" style='display: block; margin-top: 10px; font-size: 20px;'></i></a>
<a class="record" href="?d=we&m=ying&a=locationed"><i class="icon-calendar" style='display: block; margin-top: 10px; font-size: 20px;'></i></a>
</div>


<div style="padding:10px">
<table width="100%"><tr>
<td width="30%"></td>
<td width="15" nowrap></td>
<td width="65%"><a type="button" href="javascript:void(0);" id="fuckimg" class="weui_btn weui_
讨厌走开啦 2018-08-08
  • 打赏
  • 举报
回复
你应该先找企业微信的技术客服问,在这里问的话把代码先贴一下,就一段错误信息很少人可以帮你。
qq_38388286 2018-08-08
  • 打赏
  • 举报
回复

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧