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.
70 lines
2.3 KiB
70 lines
2.3 KiB
Page({
|
|
data: {
|
|
productNames: [],
|
|
loading: false,
|
|
error: ''
|
|
},
|
|
onLoad(options) {
|
|
this.loadProductNames();
|
|
},
|
|
|
|
loadProductNames() {
|
|
this.setData({ loading: true, error: '' });
|
|
|
|
const api = require('../../utils/api');
|
|
// 使用较大的pageSize来获取更多商品数据
|
|
api.getProducts(1, 1000).then(result => {
|
|
console.log('API返回结果:', result);
|
|
// 从返回对象中提取products数组,如果不存在则使用空数组
|
|
const products = result.products || [];
|
|
console.log('提取的products数组:', products);
|
|
console.log('products数组长度:', products.length);
|
|
|
|
// 过滤出price不为空的商品
|
|
const productsWithPrice = products.filter(product => product.price);
|
|
console.log('price不为空的商品:', productsWithPrice);
|
|
console.log('price不为空的商品数量:', productsWithPrice.length);
|
|
|
|
// 提取这些商品的productName
|
|
const productNames = productsWithPrice.map(product => product.productName);
|
|
console.log('提取的productName数组:', productNames);
|
|
|
|
// 过滤掉空的productName
|
|
const nonEmptyProductNames = productNames.filter(Boolean);
|
|
console.log('非空的productName数组:', nonEmptyProductNames);
|
|
|
|
// 去重
|
|
const uniqueProductNames = [...new Set(nonEmptyProductNames)];
|
|
console.log('去重后的productName数组:', uniqueProductNames);
|
|
console.log('去重后的productName数量:', uniqueProductNames.length);
|
|
|
|
this.setData({
|
|
productNames: uniqueProductNames,
|
|
loading: false
|
|
});
|
|
}).catch(err => {
|
|
console.error('获取商品列表失败:', err);
|
|
this.setData({
|
|
error: '获取商品列表失败,请稍后重试',
|
|
loading: false
|
|
});
|
|
});
|
|
},
|
|
|
|
selectProduct(e) {
|
|
const productName = e.currentTarget.dataset.product;
|
|
console.log('选择商品:', productName);
|
|
// 将商品名称存储到本地存储,因为wx.switchTab不支持URL参数
|
|
wx.setStorageSync('selectedProductName', productName);
|
|
// 使用wx.switchTab导航到tabBar页面
|
|
wx.switchTab({
|
|
url: '/pages/evaluate1/index',
|
|
success: function(res) {
|
|
console.log('跳转成功:', res);
|
|
},
|
|
fail: function(err) {
|
|
console.error('跳转失败:', err);
|
|
}
|
|
});
|
|
}
|
|
});
|