169 lines
3.7 KiB
JavaScript
169 lines
3.7 KiB
JavaScript
|
var app = getApp();
|
||
|
var timer = null;
|
||
|
var location = require("../../utils/Location")
|
||
|
const bgMusic = wx.getBackgroundAudioManager();
|
||
|
|
||
|
Page({
|
||
|
|
||
|
/**
|
||
|
* 页面的初始数据
|
||
|
*/
|
||
|
data: {
|
||
|
list: [],
|
||
|
noData: 0
|
||
|
},
|
||
|
_onPlay: false,
|
||
|
handlerGobackClick(delta) {
|
||
|
const pages = getCurrentPages();
|
||
|
if (pages.length >= 2) {
|
||
|
wx.navigateBack({
|
||
|
delta: delta
|
||
|
});
|
||
|
} else {
|
||
|
wx.switchTab({
|
||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
handlerGohomeClick(url) {
|
||
|
wx.switchTab({
|
||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||
|
});
|
||
|
},
|
||
|
/**
|
||
|
* 生命周期函数--监听页面加载
|
||
|
*/
|
||
|
onLoad: function (options) {
|
||
|
this.getData();
|
||
|
},
|
||
|
|
||
|
onReady: function() {
|
||
|
bgMusic.onEnded(()=>{
|
||
|
this._onPlay = false;
|
||
|
})
|
||
|
},
|
||
|
|
||
|
initFn: function(){
|
||
|
timer = setInterval(()=>{
|
||
|
this.getData();
|
||
|
}, 1500)
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面显示
|
||
|
*/
|
||
|
onShow: function () {
|
||
|
this.initFn();
|
||
|
},
|
||
|
|
||
|
onHide: function () {
|
||
|
clearInterval(timer);
|
||
|
timer = null;
|
||
|
},
|
||
|
|
||
|
onUnload: function () {
|
||
|
clearInterval(timer);
|
||
|
timer = null;
|
||
|
},
|
||
|
|
||
|
getData: function () {
|
||
|
let token = wx.getStorageSync('token');
|
||
|
app.util.ProReq('localtown.get_localtown_delivery', { token }).then(res => {
|
||
|
let list = res.data || [];
|
||
|
if(res.new_order_notice==1 && !this._onPlay) {
|
||
|
this._onPlay = true;
|
||
|
bgMusic.src = "https://demo.ch871.com/assets/ep/mp3/click.mp3";
|
||
|
bgMusic.title = '您有新订单';
|
||
|
bgMusic.play()
|
||
|
}
|
||
|
this.setData({
|
||
|
noData: false,
|
||
|
list
|
||
|
})
|
||
|
}).catch(err => {
|
||
|
console.log(err)
|
||
|
if(err.code==2) {
|
||
|
this.setData({
|
||
|
list: [],
|
||
|
noData: true
|
||
|
})
|
||
|
return;
|
||
|
}
|
||
|
app.util.message(err.msg || '请求出错', 'switchTo:/eaterplanet_ecommerce/pages/user/me', 'error');
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 查看地图
|
||
|
*/
|
||
|
gotoMap: function (e) {
|
||
|
let idx = e.currentTarget.dataset.idx;
|
||
|
if(idx<0) { return; }
|
||
|
let list = this.data.list || [];
|
||
|
let item = list[idx];
|
||
|
let longitude = parseFloat(item.member_lon),
|
||
|
latitude = parseFloat(item.member_lat),
|
||
|
name = item.shop_name,
|
||
|
address = item.member_address;
|
||
|
wx.openLocation({
|
||
|
latitude: latitude,
|
||
|
longitude: longitude,
|
||
|
name: name,
|
||
|
address: address,
|
||
|
scale: 28
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 抢单
|
||
|
*/
|
||
|
rob: function(e){
|
||
|
let order_id = e.currentTarget.dataset.orderid;
|
||
|
if(!order_id) {
|
||
|
app.util.message('订单ID错误', '', 'error');
|
||
|
return;
|
||
|
}
|
||
|
let ps_lon=0, ps_lat=0;
|
||
|
location.getGps().then(res=>{
|
||
|
console.log('经纬度结果', res);
|
||
|
if(res.errCode==2) {
|
||
|
console.log(res.errMsg)
|
||
|
app.util.message('请检查手机定位是否开启', '', 'error');
|
||
|
return;
|
||
|
}
|
||
|
ps_lon = res.latitude
|
||
|
ps_lat = res.longitude
|
||
|
let token = wx.getStorageSync('token');
|
||
|
app.util.ProReq('localtown.rob_distribution_order', { token, order_id, ps_lon, ps_lat }).then(res => {
|
||
|
app.util.message('抢单失败,请重试', '', 'error');
|
||
|
this.getData();
|
||
|
}).catch(err => {
|
||
|
if(err.code==1) {
|
||
|
app.util.message(err.msg || '抢单成功', '', 'error');
|
||
|
} else {
|
||
|
app.util.message(err.msg || '抢单失败', '', 'error');
|
||
|
}
|
||
|
this.getData();
|
||
|
})
|
||
|
}).catch(()=>{
|
||
|
app.util.message('请先开启定位服务', '', 'error');
|
||
|
return;
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||
|
*/
|
||
|
onPullDownRefresh: function () {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 页面上拉触底事件的处理函数
|
||
|
*/
|
||
|
onReachBottom: function () {
|
||
|
|
||
|
}
|
||
|
|
||
|
})
|