You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
632 lines
16 KiB
632 lines
16 KiB
var app = getApp();
|
|
var zi = 0;
|
|
var cont_time=0;//首页tab点击
|
|
var util = require('../../utils/util.js')
|
|
Page({
|
|
data: {
|
|
pop: null,
|
|
inforList: [],//公告
|
|
banner: [],
|
|
indicatorDots: true, // 是否显示面板指示点
|
|
autoplay: true, // 是否自动切换
|
|
interval: 5000, // 自动切换时间间隔
|
|
duration: 1000, // 滑动动画时长
|
|
circular: true, // 是否采用衔接滑动
|
|
scrollLeft: 0, //tab标题的滚动条位置
|
|
current: 0,//当前选中的Tab项
|
|
current1:0,
|
|
page: 1,
|
|
index: 1,
|
|
cont:1,
|
|
tabid:0,
|
|
loading:false,
|
|
remind: '加载中',
|
|
showModal: false,
|
|
plug: [],
|
|
timestamp:0,
|
|
searchView:false,
|
|
images:{},
|
|
zjList: {},
|
|
zjList_box:false,
|
|
cart:0,//购物车数量
|
|
// mainHeight: 0,
|
|
},
|
|
//下拉事件
|
|
onPullDownRefresh: function () {
|
|
wx.showNavigationBarLoading() //在标题栏中显示加载
|
|
this.onLoad();
|
|
wx.hideNavigationBarLoading() //完成停止加载
|
|
wx.stopPullDownRefresh() //停止下拉刷新
|
|
},
|
|
current1Change:function(e){
|
|
this.setData({
|
|
current1: e.detail.current,
|
|
})
|
|
},
|
|
imgW: function (e) {
|
|
var $width = e.detail.width, //获取图片真实宽度
|
|
$height = e.detail.height,
|
|
ratio = $width / $height; //图片的真实宽高比例
|
|
var viewWidth = 718, //设置图片显示宽度,左右留有16rpx边距
|
|
viewHeight = 718 / ratio; //计算的高度值
|
|
var image = this.data.images;
|
|
//将图片的datadata-index作为image对象的key,然后存储图片的宽高值
|
|
image[e.target.dataset.index] = {
|
|
width: viewWidth,
|
|
height: viewHeight
|
|
}
|
|
this.setData({
|
|
images: image
|
|
})
|
|
},
|
|
getMore: function (e) {
|
|
var that = this;
|
|
var page = that.data.page;
|
|
var index = that.data.tabid;
|
|
var current = that.data.current;
|
|
that.setData({
|
|
page: page + 1
|
|
});
|
|
wx.request({
|
|
url: app.d.ceshiUrl + '&action=Index&m=get_more',
|
|
method: 'post',
|
|
data: {
|
|
page: page,
|
|
index: index,
|
|
},
|
|
header: {
|
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
},
|
|
success: function (res) {
|
|
var prolist = res.data.prolist;
|
|
wx.hideNavigationBarLoading() //完成停止加载
|
|
wx.stopPullDownRefresh() //停止下拉刷新
|
|
that.setData({
|
|
loading: false,
|
|
});
|
|
if (prolist == '' || res.data.status == 0) {
|
|
return false;
|
|
}else{
|
|
var twoList = that.data.twoList;
|
|
twoList[current].twodata.push(...prolist)
|
|
var indexTwoData = twoList[0].twodata
|
|
that.setData({
|
|
//page: page + 1,
|
|
twoList: twoList,
|
|
indexTwoData: indexTwoData
|
|
});
|
|
}
|
|
},
|
|
fail: function (e) {
|
|
wx.showToast({
|
|
title: '网络异常!',
|
|
duration: 2000
|
|
});
|
|
}
|
|
})
|
|
},
|
|
inputConfirm: function (e) {
|
|
var that = this, value = e.detail.value;
|
|
this.setData({
|
|
value: e.detail.value,
|
|
});
|
|
|
|
if (value != '') {
|
|
wx.navigateTo({
|
|
url: "../listdetail/listdetail?keyword=" + value
|
|
})
|
|
}
|
|
},
|
|
searchView:function(e){
|
|
console.log(e);
|
|
this.setData({
|
|
searchView:!this.data.searchView,
|
|
});
|
|
},
|
|
inputBlur: function (e) {
|
|
this.setData({
|
|
value: e.detail.value,
|
|
});
|
|
this.searchView();
|
|
},
|
|
search_cancel: function (e) {
|
|
var formId = e.detail.formId;
|
|
var value = e.detail.value.search_value;
|
|
console.log(this.data.value,e);
|
|
if(value.length > 0){
|
|
wx.navigateTo({
|
|
url: "../listdetail/listdetail?keyword=" + value
|
|
})
|
|
}else{
|
|
wx.showToast({
|
|
title: '请输入关键词!',
|
|
icon:'none',
|
|
duration: 2000
|
|
});
|
|
}
|
|
if (formId != 'the formId is a mock one') {
|
|
var page = 'pages/index/index'
|
|
app.request.wxRequest({
|
|
url: '&action=product&m=save_formid',
|
|
data: { from_id: formId, userid: app.globalData.userInfo.openid },
|
|
method: 'post',
|
|
success: function (res) {
|
|
|
|
}
|
|
})
|
|
}
|
|
},
|
|
search: function () {
|
|
var that = this, value = this.data.value;
|
|
if (value != '') {
|
|
wx.navigateTo({
|
|
url: "../listdetail/listdetail?keyword=" + value
|
|
})
|
|
}
|
|
},
|
|
|
|
loadProductDetail: function () {
|
|
var that = this;
|
|
|
|
var userinfo = wx.getStorageSync('userInfo');
|
|
if (userinfo.nickName) {
|
|
app.globalData.userInfo = userinfo;
|
|
}
|
|
|
|
var openid = app.globalData.userInfo.openid ? app.globalData.userInfo.openid:false;
|
|
if (openid) {
|
|
wx.request({
|
|
url: app.d.ceshiUrl + '&action=Index&m=index',
|
|
method: 'post',
|
|
data: {
|
|
user_id: app.globalData.userInfo.user_id
|
|
},
|
|
header: {
|
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
},
|
|
success: function (res) {
|
|
var banner = res.data.banner; // 轮播图
|
|
var twoList = res.data.twoList; //产品显示
|
|
var bgcolor = res.data.bgcolor; //产品显示
|
|
var plug = res.data.plug;
|
|
var title = res.data.title;
|
|
app.d.bgcolor = bgcolor;
|
|
var arr = Object.keys(twoList[0].distributor);
|
|
var banner_num = Object.keys(banner); // 轮播图
|
|
var notice = res.data.notice;
|
|
var indexTwoData = twoList[0].twodata// 获取首页的数据对象
|
|
|
|
app.globalData.logoimg = res.data.logo
|
|
app.globalData.title = res.data.title
|
|
that.setData({
|
|
distributor: arr,
|
|
inforList: notice,
|
|
banner: banner,
|
|
banner_num: banner_num,
|
|
twoList: twoList,
|
|
indexTwoData: indexTwoData,
|
|
bgcolor: bgcolor,
|
|
plug: plug,
|
|
mch_name: title,
|
|
logo: res.data.logo,
|
|
djname: res.data.djname,
|
|
zjList:res.data.list
|
|
});
|
|
|
|
wx.setNavigationBarColor({
|
|
frontColor: app.d.frontColor,
|
|
backgroundColor: app.d.bgcolor //页面标题为路由参数
|
|
});
|
|
wx.setNavigationBarTitle({
|
|
title: title,
|
|
success: function () {
|
|
},
|
|
});
|
|
|
|
that.setData({
|
|
remind: ''
|
|
});
|
|
|
|
console.log(res.data.list.length)
|
|
if (res.data.list.length){
|
|
that.listnsg();
|
|
}
|
|
|
|
},
|
|
fail: function (e) {
|
|
wx.showToast({
|
|
title: '网络异常!',
|
|
duration: 2000
|
|
});
|
|
},
|
|
})
|
|
}else{
|
|
wx.request({
|
|
url: app.d.ceshiUrl + '&action=Index&m=index',
|
|
method: 'post',
|
|
data: {},
|
|
header: {
|
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
},
|
|
success: function (res) {
|
|
var banner = res.data.banner; // 轮播图
|
|
var twoList = res.data.twoList; //产品显示
|
|
var bgcolor = res.data.bgcolor; //产品显示
|
|
var plug = res.data.plug; //抽奖产品
|
|
var title = res.data.title;
|
|
app.d.bgcolor = bgcolor;
|
|
var arr = [];//Object.keys(twoList[0].distributor);
|
|
var banner_num = Object.keys(banner); // 轮播图
|
|
var notice = res.data.notice;
|
|
var indexTwoData = twoList[0].twodata// 获取首页的数据对象
|
|
|
|
app.globalData.logoimg = res.data.logo
|
|
app.globalData.title = res.data.title
|
|
that.setData({
|
|
distributor: arr,
|
|
inforList: notice,
|
|
banner: banner,
|
|
banner_num: banner_num,
|
|
twoList: twoList,
|
|
indexTwoData: indexTwoData,
|
|
bgcolor: bgcolor,
|
|
plug: plug,
|
|
mch_name: title,
|
|
logo: res.data.logo,
|
|
djname: res.data.djname,
|
|
zjList: res.data.list
|
|
});
|
|
|
|
wx.setNavigationBarColor({
|
|
frontColor: app.d.frontColor,
|
|
backgroundColor: app.d.bgcolor //页面标题为路由参数
|
|
});
|
|
wx.setNavigationBarTitle({
|
|
title: title,
|
|
success: function () {
|
|
},
|
|
});
|
|
|
|
that.setData({
|
|
remind: ''
|
|
});
|
|
|
|
console.log(res.data.list.length)
|
|
if (res.data.list.length) {
|
|
// setTimeout(function () {
|
|
that.listnsg();
|
|
// }, 2000);
|
|
}
|
|
|
|
},
|
|
fail: function (e) {
|
|
wx.showToast({
|
|
title: '网络异常!',
|
|
duration: 2000
|
|
});
|
|
},
|
|
})
|
|
}
|
|
},
|
|
onHide: function () {
|
|
clearTimeout();
|
|
},
|
|
listnsg:function(){
|
|
var zjList = this.data.zjList;
|
|
var that = this;
|
|
|
|
var time = 1500;
|
|
if (zjList[zi].type == 2){
|
|
time = 6000;
|
|
}else{
|
|
time = 1500;
|
|
}
|
|
|
|
setTimeout(function () {
|
|
that.setData({
|
|
zjList_box: false
|
|
})
|
|
setTimeout(function () {
|
|
that.listnsg();
|
|
}, 2000);
|
|
}, time);
|
|
|
|
that.setData({
|
|
headimgurl: zjList[zi].headimgurl,
|
|
user_name: zjList[zi].user_name,
|
|
pname: zjList[zi].name,
|
|
zjList_box: true
|
|
})
|
|
zi++;
|
|
if (zi == zjList.length){
|
|
zi = 0;
|
|
}
|
|
},
|
|
//上拉事件
|
|
onReachBottom: function () {
|
|
var that = this;
|
|
that.setData({
|
|
loading: true,
|
|
});
|
|
that.getMore();
|
|
|
|
},
|
|
obm: function () {
|
|
var that = this;
|
|
var timestamp = Date.parse(new Date());
|
|
if (timestamp - that.data.timestamp > 2000){
|
|
that.setData({
|
|
timestamp: timestamp,
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
/**
|
|
* Tab的点击切换事件
|
|
*/
|
|
tabItemClick: function (e) {
|
|
//防止点击过快带来的闪屏问题
|
|
var timestamp = Date.parse(new Date());
|
|
timestamp = timestamp / 1000;
|
|
var data = e.currentTarget.dataset;
|
|
var that=this;
|
|
if (cont_time){
|
|
if (timestamp - cont_time >= 1){
|
|
that.nextpic(data);
|
|
cont_time = timestamp;
|
|
}else{
|
|
cont_time = timestamp;
|
|
}
|
|
}else{
|
|
that.nextpic(data);
|
|
cont_time = timestamp;
|
|
}
|
|
that.checkCor(e);
|
|
},
|
|
nextpic: function (data) {
|
|
this.setData({
|
|
current: data.pos,
|
|
tabid: data.tabid
|
|
});
|
|
},
|
|
//设置点击tab大于第七个是自动跳到后面
|
|
checkCor: function (e) {
|
|
if (this.data.current > 4) {
|
|
this.setData({
|
|
scrollLeft: 800
|
|
})
|
|
} else {
|
|
this.setData({
|
|
scrollLeft: 0
|
|
})
|
|
}
|
|
},
|
|
/**
|
|
* 内容区域swiper的切换事件
|
|
*/
|
|
contentChange: function (e) {
|
|
var that = this;
|
|
var id = e.detail.current;
|
|
var tabid = that.data.twoList[id].id;
|
|
this.setData({
|
|
current: id,
|
|
tabid: tabid,
|
|
page: 1,
|
|
})
|
|
this.checkCor();
|
|
},
|
|
onShow: function () {
|
|
console.log(app)
|
|
// app.getUserSessionKey()
|
|
|
|
var indexchase = app.d.indexchase;
|
|
var that = this;
|
|
if (indexchase){
|
|
that.onLoad();
|
|
app.d.indexchase = false;
|
|
}
|
|
util.getUesrBgplus(that, app,false)
|
|
},
|
|
onReady: function () {
|
|
this.pop = this.selectComponent("#pop")
|
|
},
|
|
onLoad: function (e) {
|
|
var that = this;
|
|
that.loadProductDetail();
|
|
},
|
|
|
|
preventTouchMove: function () {
|
|
|
|
},
|
|
|
|
go: function () {
|
|
this.setData({
|
|
showModal: false
|
|
})
|
|
},
|
|
navigate_sign: function (){
|
|
wx.navigateTo({
|
|
url: '../sign_in/sign_in',
|
|
})
|
|
},
|
|
material: function (res) {
|
|
wx.getUserInfo({
|
|
success: function (res) {
|
|
var userInfo = res.userInfo;
|
|
var nickName = userInfo.nickName;
|
|
var avatarUrl = userInfo.avatarUrl;
|
|
var gender = userInfo.gender; //性别 0:未知、1:男、2:女
|
|
wx.request({
|
|
url: app.d.ceshiUrl + '&action=user&m=material',
|
|
method: 'post',
|
|
data: {
|
|
openid: app.globalData.userInfo.openid,
|
|
nickName: nickName,
|
|
avatarUrl: avatarUrl,
|
|
gender: gender
|
|
},
|
|
header: {
|
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
},
|
|
success: function (res) {
|
|
wx.showToast({
|
|
title: res.data.info,
|
|
success: 2000
|
|
});
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//获取用户信息新接口
|
|
agreeGetUser: function (e) {
|
|
let that = this
|
|
if (e.detail.errMsg == 'getUserInfo:ok') {
|
|
//获取成功设置状态
|
|
app.globalData.userlogin = true;
|
|
wx.setStorageSync('userlogin', true);
|
|
//设置用户信息本地存储
|
|
try {
|
|
wx.setStorageSync('userInfo', e.detail.userInfo);
|
|
} catch (e) {
|
|
wx.showToast({
|
|
title: '系统提示:网络错误!',
|
|
icon: 'warn',
|
|
duration: 1500,
|
|
})
|
|
}
|
|
wx.showLoading({
|
|
title: '加载中...',
|
|
duration: 1500,
|
|
})
|
|
that.setData({
|
|
userlogin: false
|
|
})
|
|
that.getOP(e.detail.userInfo)
|
|
}
|
|
},
|
|
login: function () {
|
|
|
|
var that = this;
|
|
//取出本地存储用户信息,解决需要每次进入小程序弹框获取用户信息
|
|
var userInfo = wx.getStorageSync('userInfo');
|
|
console.log(userInfo)
|
|
wx.login({
|
|
success: res => {
|
|
app.globalData.code = res.code
|
|
wx.setStorageSync('code', res.code)
|
|
},
|
|
fail: function () {
|
|
wx.showToast({
|
|
title: '系统提示:网络错误!',
|
|
icon: 'warn',
|
|
duration: 1500,
|
|
})
|
|
}
|
|
})
|
|
|
|
wx.getSetting({
|
|
success: (res) => {
|
|
// 没有授权需要弹框
|
|
if (!res.authSetting['scope.userInfo']) {
|
|
that.setData({
|
|
userlogin: true
|
|
});
|
|
} else {
|
|
//判断用户已经授权。不需要弹框
|
|
if (app.globalData.userlogin) {
|
|
that.setData({
|
|
userlogin: false
|
|
})
|
|
app.globalData.userlogin = true;
|
|
wx.setStorageSync('userlogin', true);
|
|
} else {
|
|
that.setData({
|
|
userlogin: true
|
|
});
|
|
}
|
|
}
|
|
},
|
|
fail: function () {
|
|
wx.showToast({
|
|
title: '系统提示:网络错误!',
|
|
icon: 'warn',
|
|
duration: 1500,
|
|
})
|
|
}
|
|
})
|
|
},
|
|
getOP: function (res) {
|
|
//提交用户信息 获取用户id
|
|
let that = this
|
|
let userInfo = res;
|
|
var user = app.globalData.userInfo;
|
|
app.globalData.userInfo['avatarUrl'] = userInfo.avatarUrl; // 头像
|
|
app.globalData.userInfo['nickName'] = userInfo.nickName; // 昵称
|
|
app.globalData.userInfo['gender'] = userInfo.gender; // 性别
|
|
|
|
wx.setStorageSync('userInfo', app.globalData.userInfo);
|
|
//写入缓存
|
|
var nickName = userInfo.nickName;
|
|
var avatarUrl = userInfo.avatarUrl;
|
|
var gender = userInfo.gender; //性别 0:未知、1:男、2:女
|
|
wx.request({
|
|
url: app.d.ceshiUrl + '&action=user&m=material',
|
|
method: 'post',
|
|
data: {
|
|
openid: app.globalData.userInfo.openid,
|
|
nickName: nickName,
|
|
avatarUrl: avatarUrl,
|
|
gender: gender
|
|
},
|
|
header: {
|
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
},
|
|
success: function (res) {
|
|
wx.showToast({
|
|
title: '授权成功!',
|
|
success: 2000
|
|
});
|
|
that.onLoad();
|
|
}
|
|
})
|
|
},
|
|
getqx(event){
|
|
let name = event.currentTarget.dataset.name
|
|
|
|
if (name === "签到" || name === "订单" || name === "优惠券"){
|
|
if (app.userlogin(1)) {
|
|
this.pop.clickPup(this)
|
|
return
|
|
}
|
|
}
|
|
|
|
wx.navigateTo({
|
|
url: event.currentTarget.dataset.path,
|
|
})
|
|
},
|
|
onShareAppMessage: function (res) {
|
|
var that = this;
|
|
var id = that.data.productId;
|
|
var type1 = that.data.type1;
|
|
var uname = app.globalData.userInfo.nickName ? app.globalData.userInfo.nickName : '' ;
|
|
var title = uname + '邀请你来' + that.data.mch_name;
|
|
var user_id = app.globalData.userInfo.user_id;
|
|
if (res.from === 'button') {
|
|
// 来自页面内转发按钮
|
|
}
|
|
return {
|
|
title: title,
|
|
imageUrl: that.data.logo,
|
|
path: 'pages/index/index?userid='+ user_id,
|
|
success: function (res) {
|
|
console.log('转发成功');
|
|
},
|
|
fail: function (res) {
|
|
console.log('转发失败')
|
|
}
|
|
}
|
|
},
|
|
|
|
});
|