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); } }); } });