微信呼び出しカメラ画像アップロード


var localIds = 0; // config wx.config({ beta: true,// , wx.invoke jsapi debug: false, // true , api alert , , pc , log , pc 。 appId: '<?=$config['appId'];?>', // , corpID timestamp: <?=$config['timestamp'];?>, // , nonceStr: '<?=$config['nonceStr'];?>', // , signature: '<?=$config['signature'];?>',// , , 1 //jsApiList: [<?=json_encode($config['jsApiList']);?>] jsApiList: ['uploadImage','getLocalImgData','scanQRCode','chooseImage']// , JS , JS 2 }); wx.ready(function () { $("#start_qrcode_id").click(function () { wx.chooseImage({ count: 1, // 9 sizeType: ['original', 'compressed'], // , sourceType: ['camera'], // , 'album', 'camera' defaultCameraMode: "batch", // , normal batch ,normal ,batch , normal 。( : ) isSaveToAlbum: 0, // ,0 ,1 , 1 success: function (res) { var images = []; var ioslocId = []; //images ioslocaId , var rows = ''; localIds = res.localIds; // ID , images.push(localIds); if (window.__wxjs_is_wkwebview) { // ios wkwebview for (var i = 0; i < localIds.length; i++) { wx.getLocalImgData({ // getLocalImgData localId: localIds[i], // localID success: function(res) { var localData = res.localData; // localData base64 , img localData = localData.replace('jgp', 'jpeg'); //iOS , image/jgp, ioslocId.push(localData); rows = ""; for (var j = 0; j < ioslocId.length; j++) { rows += `<img src="` + ioslocId[j] + `" width="100%" height="30%"/>`; } $("#img").html(rows); }, fail: function(res) { alert("res"); } }); } } else { // wkwebview $.each(images, function(index, el) { rows += `<img src="` + el + `" width="100%" height="30%"/>`; }); $("#img").html(rows); } // for (var i = 0; i < localIds.length; i++) { wx.uploadImage({ localId: localIds[i], // ID, chooseImage isShowProgressTips: 1, // 1, success: function (res) { // , var serverId = res.serverId; // ID, media_id $('#media_id').val(serverId); } }); } }, error: function (res) { // alert(res); if (res.errMsg.indexOf('function_not_exist') > 0) { $.dialog.tips(' ', '1' , 'error.gif'); return false; } } }); }); }); // $('#submit').click(function () { var media_id = $('#media_id').val(); if (!media_id) { $.dialog.tips(' ', '1' , 'error.gif'); return false; } var url = '<?=Yii::$app->urlManager->createUrl('/Wxmsg/wximg/doadd');?>'; $.ajax({ url : url, type : "POST", dataType : "json", data : {'media_id' : media_id}, success : function (res) { if (res.status == 1) { $.dialog.tips(res.info, '1' , 'success.gif'); if (isAndroid()) { document.addEventListener('WeixinJSBridgeReady', function(){ WeixinJSBridge.call('closeWindow'); }, false) } else if(isIos) { WeixinJSBridge.call('closeWindow'); } } else { $.dialog.tips(res.info, '1' , 'error.gif'); } } }); return false; }); // function isAndroid() { var u = navigator.userAgent; if (u.indexOf("Android") > -1 || u.indexOf("Linux") > -1) { if (window.ShowFitness !== undefined) return true; } return false; } // ios function isIos() { var u = navigator.userAgent; if (u.indexOf("iPhone") > -1 || u.indexOf("iOS") > -1) { return true; } return false; }