import http from '../../../utils/api' const baseUr = require('../../../utils/baseUrl') Page({ data: { // 药品数据 medicineData: null, // 是否收藏 isFavorite: false, baseUr: baseUr, // 加载状态 loading: true, imageUrl:'' }, onLoad: function (options) { // 获取传递过来的药品ID const medicineId = options.id; if (medicineId) { // 根据ID加载药品数据 this.loadMedicineData(medicineId); } else { wx.showToast({ title: '药品信息不存在', icon: 'error', duration: 2000, complete: () => { setTimeout(() => { wx.navigateBack(); }, 1500); } }); } }, onShow: function () { }, // 根据ID加载药品数据 loadMedicineData: function (id) { this.setData({ loading: true }); // 模拟网络请求,实际项目中应该从服务器获取 setTimeout(() => { http.recommendationXq({ data: { id: id }, success: res => { const mockData = res.data const imageUrl = mockData.imageUrl.split(',') this.setData({ medicineData: mockData, imageUrl: imageUrl }); } }) }, 500); }, // 打开位置地图 openLocation: function () { const store = this.data.medicineData; if (store.latitude && store.longitude) { wx.openLocation({ latitude: parseFloat(store.latitude), longitude: parseFloat(store.longitude), name: store.name, address: store.address, scale: 18 }); } else { wx.showToast({ title: '位置信息不可用', icon: 'none' }); } }, // 拨打电话 makePhoneCall: function () { const phone = this.data.medicineData.storePhone; if (phone) { wx.makePhoneCall({ phoneNumber: phone }) } }, // 预览主图片 previewMainImage: function () { const url = this.data.imageUrl.split(','); if (url) { wx.previewImage({ current: url, urls: [url] }); } }, // 预览轮播图片 previewImage: function (e) { const imageUrl = this.data.imageUrl const index = parseInt(e.currentTarget.dataset.index); const images = imageUrl|| []; const urls = [imageUrl, ...images]; wx.previewImage({ current: urls[index + 1], // +1 因为第一个是主图 urls: urls }); }, // 预览店铺图片 previewStoreImage: function (e) { const index = parseInt(e.currentTarget.dataset.index); const images = this.data.imageUrl || []; wx.previewImage({ current: images[index], urls: images }); }, });