673 lines
18 KiB
JavaScript

// pages/product-con/index.js
var app = getApp();
var wxh = require('../../utils/wxh.js');
var WxParse = require('../../wxParse/wxParse.js');
Page({
/**
* 页面的初始数据
*/
data: {
posterImage:'',//海报路径
attrName:'',
attr:'选择商品属性',
attrValue:'',
url: app.globalData.urlImages,
storeInfo: [],
storeKeyWord:[],
similarity: [],
productAttr: [],
productValue: [],
productSelect:[
{ image: "" },
{ store_name: "" },
{ price: 0 },
{ unique: "" },
{ stock: 0 },
],
reply: [],
replyCount:0,
description:'',
collect:false,//是否收藏
indicatorDots: true,//是否显示面板指示点;
autoplay: true,//是否自动播放;
interval: 3000,//动画间隔的时间;
duration: 500,//动画播放的时长;
indicatorColor: "rgba(51, 51, 51, .3)",
indicatorActivecolor: "#ffffff",
id:0,
num: 1,
show: false,
prostatus: false,
CartCount:0,
status:0,
actionSheetHidden:true,
},
setTouchMove: function (e) {
var that = this;
wxh.home(that, e);
},
goPhone: function () {
wx.request({
url: app.globalData.url + '/routine/auth_api/get_site_phone?uid=' + app.globalData.uid,
method: 'GET',
success: function (res) {
wx.makePhoneCall({
phoneNumber: res.data.msg,
})
}
})
},
setNumber:function(e){
var that = this;
var num = parseInt(e.detail.value);
that.setData({
num: num ? num : 1
})
},
goCoupon:function(){
wx.navigateTo({
url: "/pages/coupon-status/coupon-status"
})
},
getAttrInfo:function(){
var that = this;
wxh.footan(that);
that.setData({
status:1
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
app.globalData.openPages = '/pages/product-con/index?id=' + options.id;
app.setBarColor();
var that = this;
app.setUserInfo();
that.getCartCount();
that.setData({
id: options.id
})
var header = {
'content-type': 'application/x-www-form-urlencoded',
};
wx.request({
url: app.globalData.url + '/routine/auth_api/details?uid=' + app.globalData.uid,
method: 'POST',
data:{
id:that.data.id
},
header: header,
success: function (res) {
if(res.data.code == 200){
var image = "productSelect.image";
var store_name = "productSelect.store_name";
var price = "productSelect.price";
var unique = "productSelect.unique";
var stock = "productSelect.stock";
that.setData({
storeInfo: res.data.data.storeInfo,
storeKeyWord: res.data.data.storeInfo.keyword.split(","),
similarity: res.data.data.similarity,
productAttr: res.data.data.productAttr,
productValue: res.data.data.productValue,
reply: res.data.data.reply,
replyCount: res.data.data.replyCount,
description: res.data.data.storeInfo.description,
collect:res.data.data.storeInfo.userCollect,
[image]: res.data.data.storeInfo.image,
[stock]: res.data.data.storeInfo.stock,
[store_name]: res.data.data.storeInfo.store_name,
[price]: res.data.data.storeInfo.price,
[unique]: ''
})
WxParse.wxParse('description', 'html', that.data.description, that, 0);
}else{
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 1000
})
setTimeout(function(){
wx.navigateBack({});
},1200)
}
}
})
},
listenerActionSheet: function () {
this.setData({
actionSheetHidden: !this.data.actionSheetHidden
})
},
savePosterPath:function(){
var that = this;
wx.downloadFile({
url: that.data.posterImage,
success: function(res) {
var path = res.tempFilePath;
wx.saveImageToPhotosAlbum({
filePath: path,
success: function(res) {
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 1500,
})
},
fail: function (res) {
wx.showToast({
title: '保存失败',
icon: 'none',
duration: 1500,
})
},
complete: function(res) {},
})
},
fail: function(res) {},
complete: function(res) {},
})
},
goPoster:function(){
var that = this;
wx.request({
url: app.globalData.url + '/routine/auth_api/poster?uid=' + app.globalData.uid,
method: 'GET',
data: {
id: that.data.id,
},
success: function (res) {
if(res.data.code == 200){
that.setData({
posterImage: app.globalData.url + res.data.msg,
actionSheetHidden: !that.data.actionSheetHidden
})
that.savePosterPath();
}else{
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 1500,
mask: true,
})
}
}
})
},
goPhoto:function(){
var that = this;
wx.showActionSheet({
itemList: ['发送给朋友', '生成海报'],
success: function (res) {
if (res.tapIndex){
wx.request({
url: app.globalData.url + '/routine/auth_api/get_pages?uid=' + app.globalData.uid,
method: 'GET',
data: {
path: app.globalData.openPages,
productId: that.data.id
},
success: function (res) {
console.log(res);
}
})
}else{
that.onShareAppMessage();
}
},
fail: function (res) {
console.log(res.errMsg)
}
})
},
parameterShow: function () {
var that = this;
if (that.data.productSelect.unique != ''){
var header = {
'content-type': 'application/x-www-form-urlencoded',
};
wx.request({
url: app.globalData.url + '/routine/auth_api/set_cart?uid=' + app.globalData.uid,
method: 'GET',
data: {
productId: that.data.id,
cartNum: that.data.num,
uniqueId: that.data.productSelect.unique
},
header: header,
success: function (res) {
if (res.data.code == 200) {
wx.showToast({
title: '添加购物车成功',
icon: 'success',
duration: 2000
})
that.setData({
prostatus: false
})
that.getCartCount();
} else {
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
}
}
})
} else {
wxh.footan(that);
that.setData({
status: 2
})
}
},
goOrder: function () {
var that = this;
if (that.data.productSelect.unique != '') {
var header = {
'content-type': 'application/x-www-form-urlencoded',
};
wx.request({
url: app.globalData.url + '/routine/auth_api/now_buy?uid=' + app.globalData.uid,
method: 'GET',
data: {
productId: that.data.id,
cartNum: that.data.num,
uniqueId: that.data.productSelect.unique
},
header: header,
success: function (res) {
if (res.data.code == 200) {
wx.navigateTo({ //跳转至指定页面并关闭其他打开的所有页面(这个最好用在返回至首页的的时候)
url: '/pages/order-confirm/order-confirm?id=' + res.data.data.cartId
})
} else {
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
}
}
})
} else {
wxh.footan(that);
that.setData({
status: 3
})
}
},
modelbg: function (e) {
this.setData({
prostatus: false
})
},
bindMinus: function () {
var that = this;
wxh.carmin(that)
},
bindPlus: function () {
var that = this;
wxh.carjia(that);
},
tapsize: function (e) {
var that = this;
var key = e.currentTarget.dataset.key;
var attrValues = [];
var attrName = that.data.attrName;
var attrNameArr = attrName.split(",");
var array = that.data.productAttr;
for (var i in that.data.productAttr){
for (var j in that.data.productAttr[i]['attr_values']){
if (that.data.productAttr[i]['attr_values'][j] == key){
attrValues = that.data.productAttr[i]['attr_values'];
}
}
}
for (var ii in attrNameArr) {
if (that.in_array(attrNameArr[ii],attrValues)){
attrNameArr.splice(ii, 1);
}
}
attrName = attrNameArr.join(',');
if (attrName) var eName = e.currentTarget.dataset.key + ',' + attrName;
else var eName = e.currentTarget.dataset.key;
attrNameArr = eName.split(",");
var isBool = false;
var isattrNameArrLength = 0;
for (var an in attrNameArr) {
if (attrNameArr[an]) isattrNameArrLength = isattrNameArrLength + 1;
}
for (var b in that.data.productValue) {
var sukValue = that.data.productValue[b].suk.split(",");
if (sukValue.length == isattrNameArrLength) {
if (that.in_array_two(attrNameArr, sukValue)) {
isBool = true;
}
} else {
isBool = true;
}
}
if (!isBool){
wx.showToast({
title: '属性不存在,请重新选择',
icon: 'none',
duration: 1500,
})
} else {
that.setData({
attrName: e.currentTarget.dataset.key + ',' + attrName
})
attrNameArr = that.data.attrName.split(",");
var attrNameArrSort = '';
for (var jj in that.data.productAttr) {
for (var jjj in that.data.productAttr[jj]['attr_values']) {
if (that.in_array(that.data.productAttr[jj]['attr_values'][jjj], attrNameArr)) {
attrNameArrSort += that.data.productAttr[jj]['attr_values'][jjj] + ',';
}
}
}
for (var jj in array) {
for (var jjj in array[jj]['attr_values']) {
if (that.in_array(array[jj]['attr_values'][jjj], attrNameArr)) {
array[jj]['attr_value'][jjj].check = true;
} else {
array[jj]['attr_value'][jjj].check = false;
}
}
}
that.setData({
productAttr: array
})
var attrNameArrSortArr = attrNameArrSort.split(",");
attrNameArrSortArr.pop();
that.setData({
attrName: attrNameArrSortArr.join(',')
})
var arrAttrName = that.data.attrName.split(",");
for (var index in that.data.productValue) {
var strValue = that.data.productValue[index]['suk'];
var arrValue = strValue.split(",");
if (that.in_array_two(arrValue, arrAttrName)) {
var image = "productSelect.image";
var store_name = "productSelect.store_name";
var price = "productSelect.price";
var unique = "productSelect.unique";
var stock = "productSelect.stock";
that.setData({
[image]: that.data.productValue[index]['image'],
[price]: that.data.productValue[index]['price'],
[unique]: that.data.productValue[index]['unique'],
[stock]: that.data.productValue[index]['stock'],
})
}
}
}
},
in_array_two:function(arr1,arr2){
if (arr1.sort().toString() == arr2.sort().toString()) {
return true;
}
else {
return false;
}
},
in_array: function (str, arr) {
for (var f1 in arr) {
if (arr[f1] == str) {
return true;
}
}
},
tapcolor: function (e) {
var that = this;
wxh.tapcolor(that, e);
},
subBuy:function(e){
wx.request({
url: app.globalData.url + '/routine/auth_api/get_form_id?uid=' + app.globalData.uid,
method: 'GET',
data: {
formId: e.detail.formId
},
success: function (res) {}
})
var that = this;
if (that.data.num > that.data.productSelect.stock){
wx.showToast({
title: '库存不足' + that.data.num,
icon: 'none',
duration: 2000
})
that.setData({
num: that.data.productSelect.stock,
})
} else if (that.data.productAttr.length > 0 && that.data.productSelect.unique == '') {
wx.showToast({
title: '请选择属性',
icon: 'none',
duration: 2000
})
}else{
if (that.data.status == 1){
var attrValueData = [];
for (var i in that.data.productValue){
if (that.data.productValue[i].unique == that.data.productSelect.unique) {
for (var j in that.data.productAttr) {
for (var k in that.data.productAttr[j].attr_values) {
var sukArr = that.data.productValue[i].suk.split(',');
if (that.in_array(that.data.productAttr[j].attr_values[k], sukArr)){
attrValueData.push(that.data.productAttr[j].attr_name + ':' + that.data.productAttr[j].attr_values[k]) ;
}
}
}
}
}
that.setData({
attr:'已选',
attrValue: attrValueData.join(','),
prostatus: false
})
}else if (that.data.status == 2) {
var header = {
'content-type': 'application/x-www-form-urlencoded',
};
wx.request({
url: app.globalData.url + '/routine/auth_api/set_cart?uid=' + app.globalData.uid,
method: 'GET',
data: {
productId: that.data.id,
cartNum: that.data.num,
uniqueId: that.data.productSelect.unique
},
header: header,
success: function (res) {
if (res.data.code == 200) {
wx.showToast({
title: '添加购物车成功',
icon: 'success',
duration: 2000
})
that.setData({
prostatus: false
})
that.getCartCount();
} else {
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
}
}
})
} else if (that.data.status == 3){
var header = {
'content-type': 'application/x-www-form-urlencoded',
};
wx.request({
url: app.globalData.url + '/routine/auth_api/now_buy?uid=' + app.globalData.uid,
method: 'GET',
data: {
productId: that.data.id,
cartNum: that.data.num,
uniqueId: that.data.productSelect.unique
},
header: header,
success: function (res) {
if (res.data.code == 200) {
wx.navigateTo({ //跳转至指定页面并关闭其他打开的所有页面(这个最好用在返回至首页的的时候)
url: '/pages/order-confirm/order-confirm?id=' + res.data.data.cartId
})
} else {
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
}
}
})
}
}
},
getCartCount:function(){
var that = this;
var header = {
'content-type': 'application/x-www-form-urlencoded',
};
wx.request({
url: app.globalData.url + '/routine/auth_api/get_cart_num?uid=' + app.globalData.uid,
method: 'POST',
header: header,
success: function (res) {
that.setData({
CartCount: res.data.data
})
}
})
},
setCollect:function(){
if (this.data.collect) this.unCollectProduct();
else this.collectProduct();
},
unCollectProduct: function () {
var that = this;
var header = {
'content-type': 'application/x-www-form-urlencoded',
};
wx.request({
url: app.globalData.url + '/routine/auth_api/uncollect_product?uid=' + app.globalData.uid,
method: 'POST',
header: header,
data: {
productId: that.data.id
},
success: function (res) {
wx.showToast({
title: '取消收藏成功',
icon: 'success',
duration: 1500,
})
that.setData({
collect: false,
})
}
})
},
collectProduct:function(){
var that = this;
var header = {
'content-type': 'application/x-www-form-urlencoded',
};
wx.request({
url: app.globalData.url + '/routine/auth_api/collect_product?uid=' + app.globalData.uid,
method: 'POST',
header: header,
data:{
productId:that.data.id
},
success: function (res) {
wx.showToast({
title: '收藏成功',
icon: 'success',
duration: 1500,
})
that.setData({
collect: true,
})
}
})
},
getCar:function(){
wx.switchTab({
url: '/pages/buycar/buycar'
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
var that = this;
return {
title: '小程序',
path: app.globalData.openPages,
// imageUrl: that.data.url + that.data.product.image,
success: function () {
wx.showToast({
title: '分享成功',
icon: 'success',
duration: 2000
})
}
}
}
})