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 () {
|
|
|
|
}
|
|
|
|
})
|