1.引用js
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
2.初始化
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: "<%=appId %>", // 必填,公众号的唯一标识
timestamp: "<%=timestamp %>", // 必填,生成签名的时间戳
nonceStr: '<%=noncestr %>', // 必填,生成签名的随机串
signature: '<%=signature %>',// 必填,签名,见附录1
jsApiList: ['chooseImage','previewImage','uploadImage','getLocalImgData','downloadImage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
3.上传图片设置
wx.chooseImage({
count: 7-length, // 默认9
sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
syncUpload(localIds);
}
});
function syncUpload(localIds) {
var localId = localIds.pop();
wx.uploadImage({
localId: localId,
isShowProgressTips: 1,
success: function (res) {
var serverId = res.serverId; // 返回图片的服务器端ID
getLocalImgData(localId,serverId);
if(localIds.length > 0){
syncUpload(localIds);
}
}
});
}
//重点(iOS系统和安卓系统分开处理)
function getLocalImgData(localId,serverId){
if (window.__wxjs_is_wkwebview){
wx.getLocalImgData({
localId:localId,
success: function (res){
var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
localData = localData.replace('jgp', 'jpeg');//iOS 系统里面得到的数据,类型为 image/jgp,因此需要替换一下
$('<li sid="'+serverId+'"><span class="insertimg" style="background-image: url('+localData+')"></span></li>').insertBefore($(".insertimgbtn").parent());
}
});
}else{ //如果不是用的wkwebview 内核 或者是用的安卓系统 执行下面的xunh
$('<li sid="'+serverId+'"><span class="insertimg" style="background-image: url('+localId+')"></span></li>').insertBefore($(".insertimgbtn").parent());
}
}