定位打卡提示完善
This commit is contained in:
parent
95d649f32a
commit
c92a2d1557
|
|
@ -665,7 +665,7 @@ export default {
|
|||
let res1 = await wx.getSetting();
|
||||
if (res1) {
|
||||
if (!res1.authSetting[authScope]) {
|
||||
let res = _this[callbackName]();
|
||||
let res = await _this[callbackName]();
|
||||
if (res && res[callbackSuccessKey]) {
|
||||
return res;
|
||||
}
|
||||
|
|
@ -677,7 +677,7 @@ export default {
|
|||
})
|
||||
return 'rejected';
|
||||
} else {
|
||||
return _this[callbackName]();
|
||||
return await _this[callbackName]();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -697,10 +697,25 @@ export default {
|
|||
return false;
|
||||
},
|
||||
async wxGetLocation() {
|
||||
let errCode = null;
|
||||
let res = await wx.getLocation({
|
||||
type: 'gcj02'
|
||||
type: 'gcj02',
|
||||
fail: async (result) => {
|
||||
if (result.errCode === 2) {
|
||||
uni.showToast({
|
||||
title: '定位获取失败,请确认是否开启定位',
|
||||
icon: 'none',
|
||||
duration: 2500
|
||||
})
|
||||
}
|
||||
},
|
||||
success: async (result) => {
|
||||
console.log("success");
|
||||
return result;
|
||||
}
|
||||
})
|
||||
// res.latitude, res.longitude
|
||||
console.log(res)
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1178,31 +1178,75 @@
|
|||
}
|
||||
},
|
||||
async recordClockInLocation(order) {
|
||||
let res = await this.$request.checkAuth('scope.userLocation', 'wxGetLocation', 'latitude');
|
||||
if (res && res === 'rejected') {
|
||||
this.hasAuthLocation = false;
|
||||
return;
|
||||
}
|
||||
if (!res || !res.latitude) {
|
||||
uni.showToast({
|
||||
title: '定位获取失败,打卡失败,请稍后重试',
|
||||
icon: 'none',
|
||||
duration: 2500
|
||||
})
|
||||
} else {
|
||||
let params = {
|
||||
id: order.orderDetailId,
|
||||
clockInLocation: res.longitude + "," + res.latitude
|
||||
}
|
||||
let updateOrderRes = await this.$request.updateDetailOrder(params);
|
||||
if (updateOrderRes && updateOrderRes.code === 0) {
|
||||
this.reloadMasterOrderPage();
|
||||
uni.showToast({
|
||||
icon: 'success',
|
||||
duration: 1000
|
||||
let _this = this;
|
||||
// 通过 wx.getSetting 先查询一下用户是否授权了authScope
|
||||
let res1 = await wx.getSetting();
|
||||
if (res1) {
|
||||
if (!res1.authSetting['scope.userLocation']) {
|
||||
let res2 = await wx.getLocation({
|
||||
type: 'gcj02',
|
||||
fail: async (result) => {
|
||||
console.log(result)
|
||||
if (result.errno === 103) {
|
||||
this.hasAuthLocation = false;
|
||||
// 用户授权
|
||||
uni.showToast({
|
||||
title: '请先授权',
|
||||
icon: 'none',
|
||||
duration: 1500
|
||||
})
|
||||
} else {
|
||||
// 用户授权
|
||||
uni.showToast({
|
||||
title: '请确认是否开启定位',
|
||||
icon: 'none',
|
||||
duration: 1500
|
||||
})
|
||||
}
|
||||
},
|
||||
success: async (result) => {
|
||||
_this.persistClockInLocation(order, result);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
wx.getLocation({
|
||||
type: 'gcj02',
|
||||
fail: async (result) => {
|
||||
console.log(result)
|
||||
if (result.errCode === 2 || result.errCode === 404) {
|
||||
uni.showToast({
|
||||
title: '定位获取失败,请确认是否开启定位',
|
||||
icon: 'none',
|
||||
duration: 2500
|
||||
})
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: '定位获取失败,请稍后重试',
|
||||
icon: 'none',
|
||||
duration: 2500
|
||||
})
|
||||
}
|
||||
},
|
||||
success: async (result) => {
|
||||
_this.persistClockInLocation(order, result);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
async persistClockInLocation(order, res) {
|
||||
let params = {
|
||||
id: order.orderDetailId,
|
||||
clockInLocation: res.longitude + "," + res.latitude
|
||||
}
|
||||
let updateOrderRes = await this.$request.updateDetailOrder(params);
|
||||
if (updateOrderRes && updateOrderRes.code === 0) {
|
||||
this.reloadMasterOrderPage();
|
||||
uni.showToast({
|
||||
icon: 'success',
|
||||
duration: 1000
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue