import sheep from '@/sheep'; import { formatImageUrlProtocol } from './index'; async function getImagePath(imagePath) { return new Promise((resolve, reject) => { // #ifdef MP-WEIXIN // console.log(123) wx.getImageInfo({ src: imagePath, success: (res) => { resolve(res.path); }, fail: (err) => { reject(err); } }); // #endif // #ifndef MP-WEIXIN const fullPath = window.location.origin + imagePath; resolve(fullPath); // #endif }); } const goods = async (poster) => { const width = poster.width; const userInfo = sheep.$store('user').userInfo; return { background: await getImagePath('/static/goods-poster-bg.jpg'), list: [{ name: 'nickname', type: 'text', val: userInfo.nickname, x: width * 0.21, y: width * 0.06, paintbrushProps: { fillStyle: '#333', font: { fontSize: 16, fontFamily: 'sans-serif', }, }, }, { name: 'avatar', type: 'image', val: poster.avatar, x: width * 0.04, y: width * 0.04, width: width * 0.14, height: width * 0.14, d: width * 0.14, }, { name: 'goodsBg', type: 'rect', x: width * 0.03, y: width * 0.3, width: width * 0.94, height: width * 0.75, r: 5, }, { name: 'goodsImage', type: 'image', val: poster.shareInfo.poster.image, x: width * 0.03, y: width * 0.3, width: width * 0.94, height: width * 0.5, r: 5, }, { name: 'goodsTitle', type: 'text', val: poster.shareInfo.poster.title, x: width * 0.05, y: width * 0.83, maxWidth: width * 0.91, line: 5, lineHeight: 10, paintbrushProps: { fillStyle: '#333', font: { fontSize: 16, }, }, }, { name: 'goodsIntroduction', type: 'text', val: poster.shareInfo.poster.introduction, x: width * 0.05, y: width * 0.89, maxWidth: width * 0.9, height: width * 0.1, line: 3, lineHeight: 4, paintbrushProps: { fillStyle: '#333', font: { fontSize: 12, fontFamily: 'OPPOSANS', }, }, }, { name: 'goodsOriginalPrice', type: 'text', val: poster.shareInfo.poster.original_price > 0 ? '¥' + poster.shareInfo.poster.original_price : '', x: width * 0.3, y: width * 1.32, paintbrushProps: { fillStyle: '#999', font: { fontSize: 10, fontFamily: 'OPPOSANS', }, }, textDecoration: { line: 'line-through', style: 'solide', }, }, // #ifndef MP-WEIXIN { name: 'qrcode', type: 'qrcode', val: poster.shareInfo.link, x: width * 0.75, y: width * 1.07, size: width * 0.2, }, // #endif // #ifdef MP-WEIXIN { name: 'wxacode', type: 'image', val: sheep.$api.third.wechat.getWxacode(poster.shareInfo.path), x: width * 0.75, y: width * 1.3, width: width * 0.2, height: width * 0.2, }, // #endif ], }; }; export default goods;