226 lines
6.7 KiB
JavaScript
226 lines
6.7 KiB
JavaScript
const app = getApp();
|
||
Page({
|
||
data: {
|
||
load_status: 0,
|
||
data_list_loding_status: 1,
|
||
data_bottom_line_status: false,
|
||
data_list: [],
|
||
banner_list: [],
|
||
navigation: [],
|
||
|
||
// 基础配置
|
||
currency_symbol: app.data.currency_symbol,
|
||
common_shop_notice: null,
|
||
common_app_is_enable_search: 0,
|
||
common_app_is_enable_answer: 0,
|
||
common_app_is_header_nav_fixed: 0,
|
||
common_app_is_online_service: 0,
|
||
common_app_mini_alipay_tnt_inst_id: null,
|
||
common_app_mini_alipay_scene: null,
|
||
common_app_mini_alipay_openid: null,
|
||
|
||
// 限时秒杀插件
|
||
plugins_limitedtimediscount_is_valid: 0,
|
||
plugins_limitedtimediscount_data: null,
|
||
plugins_limitedtimediscount_timer_title: '距离结束',
|
||
plugins_limitedtimediscount_is_show_time: true,
|
||
plugins_limitedtimediscount_timer: null,
|
||
},
|
||
|
||
onShow() {
|
||
// 主题颜色
|
||
app.set_nav_bg_color_main();
|
||
|
||
// 数据加载
|
||
this.init();
|
||
|
||
// 初始化配置
|
||
this.init_config();
|
||
},
|
||
|
||
// 初始化配置
|
||
init_config(status) {
|
||
if((status || false) == true) {
|
||
this.setData({
|
||
currency_symbol: app.get_config('currency_symbol'),
|
||
common_shop_notice: app.get_config('config.common_shop_notice'),
|
||
common_app_is_enable_search: app.get_config('config.common_app_is_enable_search'),
|
||
common_app_is_enable_answer: app.get_config('config.common_app_is_enable_answer'),
|
||
common_app_is_header_nav_fixed: app.get_config('config.common_app_is_header_nav_fixed'),
|
||
common_app_is_online_service: app.get_config('config.common_app_is_online_service'),
|
||
common_app_mini_alipay_tnt_inst_id: app.get_config('config.common_app_mini_alipay_tnt_inst_id'),
|
||
common_app_mini_alipay_scene: app.get_config('config.common_app_mini_alipay_scene'),
|
||
});
|
||
|
||
// 在线客服开启,获取用户openid
|
||
if(this.data.common_app_is_online_service == 1)
|
||
{
|
||
this.setData({common_app_mini_alipay_openid: app.get_user_openid()});
|
||
}
|
||
} else {
|
||
app.is_config(this, 'init_config');
|
||
}
|
||
},
|
||
|
||
// 获取数据
|
||
init() {
|
||
var self = this;
|
||
|
||
// 加载loding
|
||
this.setData({
|
||
data_list_loding_status: 1,
|
||
});
|
||
|
||
// 加载loding
|
||
my.request({
|
||
url: app.get_request_url("index", "index"),
|
||
method: "POST",
|
||
data: {},
|
||
dataType: "json",
|
||
header: { 'content-type': 'application/x-www-form-urlencoded' },
|
||
success: res => {
|
||
my.stopPullDownRefresh();
|
||
self.setData({load_status: 1});
|
||
|
||
if (res.data.code == 0) {
|
||
var data = res.data.data;
|
||
self.setData({
|
||
data_bottom_line_status: true,
|
||
banner_list: data.banner_list || [],
|
||
navigation: data.navigation || [],
|
||
data_list: data.data_list || [],
|
||
data_list_loding_status: data.data_list.length == 0 ? 0 : 3,
|
||
plugins_limitedtimediscount_data: data.plugins_limitedtimediscount_data || null,
|
||
plugins_limitedtimediscount_is_valid: ((data.plugins_limitedtimediscount_data || null) != null && (data.plugins_limitedtimediscount_data.is_valid || 0) == 1) ? 1 : 0,
|
||
});
|
||
|
||
// 导航购物车处理
|
||
var cart_total = data.common_cart_total || 0;
|
||
if (cart_total <= 0)
|
||
{
|
||
app.set_tab_bar_badge(2, 0);
|
||
} else {
|
||
app.set_tab_bar_badge(2, 1, cart_total);
|
||
}
|
||
|
||
// 限时秒杀倒计时
|
||
if (this.data.plugins_limitedtimediscount_is_valid == 1)
|
||
{
|
||
this.plugins_limitedtimediscount_countdown();
|
||
}
|
||
} else {
|
||
self.setData({
|
||
data_list_loding_status: 0,
|
||
data_bottom_line_status: true,
|
||
});
|
||
app.showToast(res.data.msg);
|
||
}
|
||
},
|
||
fail: () => {
|
||
my.stopPullDownRefresh();
|
||
self.setData({
|
||
data_list_loding_status: 2,
|
||
data_bottom_line_status: true,
|
||
load_status: 1,
|
||
});
|
||
app.showToast('服务器请求出错');
|
||
}
|
||
});
|
||
},
|
||
|
||
// 搜索事件
|
||
search_input_event(e) {
|
||
var keywords = e.detail.value || null;
|
||
if (keywords == null) {
|
||
app.showToast('请输入搜索关键字');
|
||
return false;
|
||
}
|
||
|
||
// 进入搜索页面
|
||
my.navigateTo({
|
||
url: '/pages/goods-search/goods-search?keywords='+keywords
|
||
});
|
||
},
|
||
|
||
// 下拉刷新
|
||
onPullDownRefresh() {
|
||
this.init();
|
||
},
|
||
|
||
// 显示秒杀插件-倒计时
|
||
plugins_limitedtimediscount_countdown() {
|
||
// 销毁之前的任务
|
||
clearInterval(this.data.plugins_limitedtimediscount_timer);
|
||
|
||
// 定时参数
|
||
var status = this.data.plugins_limitedtimediscount_data.time.status || 0;
|
||
var msg = this.data.plugins_limitedtimediscount_data.time.msg || '';
|
||
var hours = parseInt(this.data.plugins_limitedtimediscount_data.time.hours) || 0;
|
||
var minutes = parseInt(this.data.plugins_limitedtimediscount_data.time.minutes) || 0;
|
||
var seconds = parseInt(this.data.plugins_limitedtimediscount_data.time.seconds) || 0;
|
||
var self = this;
|
||
if (status == 1) {
|
||
// 秒
|
||
var timer = setInterval(function () {
|
||
if (seconds <= 0) {
|
||
if (minutes > 0) {
|
||
minutes--;
|
||
seconds = 59;
|
||
} else if (hours > 0) {
|
||
hours--;
|
||
minutes = 59;
|
||
seconds = 59;
|
||
}
|
||
} else {
|
||
seconds--;
|
||
}
|
||
|
||
self.setData({
|
||
'plugins_limitedtimediscount_data.time.hours': (hours < 10) ? '0' + hours : hours,
|
||
'plugins_limitedtimediscount_data.time.minutes': (minutes < 10) ? '0' + minutes : minutes,
|
||
'plugins_limitedtimediscount_data.time.seconds': (seconds < 10) ? '0' + seconds : seconds,
|
||
plugins_limitedtimediscount_timer: timer,
|
||
});
|
||
|
||
if (hours <= 0 && minutes <= 0 && seconds <= 0) {
|
||
// 停止时间
|
||
clearInterval(timer);
|
||
|
||
// 活动已结束
|
||
self.setData({
|
||
plugins_limitedtimediscount_timer_title: '活动已结束',
|
||
plugins_limitedtimediscount_is_show_time: false,
|
||
});
|
||
}
|
||
}, 1000);
|
||
} else {
|
||
// 活动已结束
|
||
self.setData({
|
||
plugins_limitedtimediscount_timer_title: msg,
|
||
plugins_limitedtimediscount_is_show_time: false,
|
||
});
|
||
}
|
||
},
|
||
|
||
// 页面从前台变为后台时执行
|
||
onHide: function () {
|
||
clearInterval(this.data.plugins_limitedtimediscount_timer);
|
||
},
|
||
|
||
// 页面销毁时执行
|
||
onUnload: function () {
|
||
clearInterval(this.data.plugins_limitedtimediscount_timer);
|
||
},
|
||
|
||
// 自定义分享
|
||
onShareAppMessage() {
|
||
var user_id = app.get_user_cache_info('id', 0) || 0;
|
||
return {
|
||
title: app.data.application_title,
|
||
desc: app.data.application_describe,
|
||
path: '/pages/index/index?referrer=' + user_id
|
||
};
|
||
},
|
||
|
||
});
|