项目需求 只能拍照并且每张照片都要获取定位
配置信息,参考微信官方开发文档
// 调取相机
var URL = location.href.split('#')[0];
var shareConfig = {
timestamp: Math.round(new Date() / 1000),
nonceStr: Math.round(new Date() / 1000) + Math.random(),
url: URL,
shop_name: "",
shop_id: "",
share_url: ""
};
$.get(APICOM + "mobile/index.php?m=default&c=apicom&a=jsSign&noncestr=" + shareConfig.nonceStr + "×tamp=" + shareConfig.timestamp + "&url=" + URL + "&refresh=", function(data, status) {
var data = JSON.parse(data);
//校验签名
console.log(data);
//微信配置
wx.config({
debug: false,
appId: data.data.appid,
timestamp: data.data.timestamp,
nonceStr: data.data.noncestr,
signature: data.data.sign,
jsApiList: ['chooseImage', 'previewImage', 'uploadImage','getLocation']
});
//调取相机
wx.ready(function() {
//检测api权限是否生效
wx.checkJsApi({
jsApiList: ['chooseImage', 'previewImage', 'uploadImage','getLocation'],
success: function(res) {
}
});
var images={
localId:[],
serverId:[]
};
var zuobiao=[];
$('.camera img').on('click',function(){
var that=$(this);
wx.chooseImage({
count: 1, // 默认9
sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有,指定压缩
sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有,指定相机
success: function(res) {
console.log(res);
//图片本地临时存储路径
// images.localId = res.localIds;
images.localId.push(res.localIds[0])
//选中图片在img中显示
that.prop('src', res.localIds[0]);
// alert(that.prop('src'))
//兼容苹果机直接显示图片的问题(只在苹果机起作用)判断机型为苹果手机
if(navigator.userAgent.indexOf('iPhone') > -1){
wx.getLocalImgData({
localId: res.localIds[0], // 图片的localID
success: function (res) {
var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
that.prop('src', localData);
}
});
}
wx.getLocation({
type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
var coordinate=[res.longitude,res.latitude];
zuobiao.push(coordinate);
// latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
// longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
var speed = res.speed; // 速度,以米/每秒计
var accuracy = res.accuracy; // 位置精度
}
});
wx.uploadImage({
localId: res.localIds[0],
success: function (res) {
images.serverId.push(res.serverId);
},
fail: function (res) {
alert(JSON.stringify(res));
}
});
}
});
})
var flag=true;
//点击保存上传图片
$('footer button').on('click',function(){
// alert(stu)
var name=$('.name').val(),
idcard=$('.IDcard').val(),
phoneNum=$('.phoneNum').val();
if(name=='' || !regname.test(name) || idcard=='' || !regid.test(idcard) || phoneNum=='' || !regphone.test(phoneNum) ){
alert('用户信息格式不正确')
return;
}
//首先确认是否选定了图片
if (images.serverId.length < 4) {
alert('未选中图片');
return;
}
var datas={
xy:zuobiao,
imgurl: images.serverId,
userName:$('.name').val(),
idNo:$('.IDcard').val(),
phone:$('.phoneNum').val(),
user_id:user_id,
type:1
}
save(datas,flag);
})
})
});