123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- <template>
- <view>
- <l-painter
- css="width: 640rpx; padding-bottom: 35rpx; background-color: #ffffff; box-shadow: 0 20rpx 58rpx rgba(0,0,0,.15);border-radius: 10rpx;"
- isCanvasToTempFilePath @success="handleSuccess" @fail="handleFail" custom-style="position: fixed; left: 200%">
- <l-painter-view css="padding-left: 40rpx;">
- <l-painter-image :src="config.avatar"
- css="margin-top: 15rpx; width: 72rpx; height: 72rpx; border-radius: 50%;" />
- <l-painter-view css="margin-top: 30rpx; padding-left: 20rpx; display: inline-block">
- <l-painter-text :text="`来自${config.nickname}的分享`"
- css="display: block; padding-bottom: 10rpx; color: #333333; font-size: 28rpx;line-clamp:1;width: 100%;" />
- </l-painter-view>
- <l-painter-image :src="config.image"
- css="object-fit: cover; object-position: center; width: 560rpx; height: 560rpx;margin-top: 15rpx;" />
-
- <l-painter-view css="margin-top: 30rpx;">
- <!-- 商品分享海报文字内容 -->
- <l-painter-view :css="`display: ${type == '1' ? 'inline-block' : 'none'}; width: 400rpx;`">
- <l-painter-view
- :css="`vertical-align: bottom; color: #FF2C3C; font-size: 30rpx; line-height: 1em;`">
- <l-painter-text text="¥" css="vertical-align: bottom;font-size: 28rpx;" />
- <l-painter-text :text="price.prev" css="vertical-align: bottom; font-size: 38rpx;" />
- <l-painter-text :text="price.next" css="vertical-align: bottom; font-size: 30rpx;" />
- <l-painter-text :text="marketPrice"
- css="vertical-align: bottom; padding-left: 10rpx;font-size: 28rpx; font-weight: normal; text-decoration: line-through; color: #999999" />
- </l-painter-view>
- <l-painter-view css="margin-top:30rpx;">
- <l-painter-text
- css="line-clamp: 2; color: #333333; line-height: 1.5em;font-size: 30rpx; width: 378rpx; padding-right:22rpx; box-sizing: border-box"
- :text="config.name"></l-painter-text>
- </l-painter-view>
- </l-painter-view>
-
- <!-- 砍价分享海报文字内容 -->
- <l-painter-view :css="`display: ${type == '2' ? 'inline-block' : 'none'}; width: 400rpx;`">
- <l-painter-view>
- <l-painter-text
- :css="`line-clamp: 2; color: #FF2C3C; line-height: 1.5em;font-size: 32rpx; width: 375rpx; padding-right:22rpx; box-sizing: border-box`"
- text="我正在参与砍价 还差一步"></l-painter-text>
- </l-painter-view>
- <l-painter-view css="margin-top:8rpx;">
- <l-painter-text
- css="line-clamp: 2; color: #F95F2F; line-height: 1.5em;font-size: 24rpx; width: 378rpx; padding-right:22rpx; box-sizing: border-box"
- text="帮忙砍一刀"></l-painter-text>
- </l-painter-view>
- <l-painter-view css="margin-top:8rpx;">
- <l-painter-text
- css="line-clamp: 2; color: #333333; line-height: 1.5em;font-size: 28rpx; width: 378rpx; padding-right:22rpx; box-sizing: border-box"
- :text="config.name"></l-painter-text>
- </l-painter-view>
- </l-painter-view>
-
- <l-painter-view css="display: inline-block;">
- <!-- #ifdef H5 || APP-PLUS -->
- <l-painter-qrcode css="width: 168rpx; height: 168rpx;" :text="link">
- </l-painter-qrcode>
- <!-- #endif -->
- <!-- #ifdef MP -->
- <l-painter-image :src="qrcode" css="width: 168rpx; height: 168rpx;" />
- <!-- #endif -->
- <l-painter-text text="长按识别二维码"
- css="display: block; padding-top: 10rpx; color: #999999;font-size: 24rpx;" />
- </l-painter-view>
- </l-painter-view>
- </l-painter-view>
- </l-painter>
- </view>
- </template>
- <script>
-
- import lPainter from '@/components/lime-painter/components/l-painter/l-painter.vue'
- import lPainterImage from '@/components/lime-painter/components/l-painter-image/l-painter-image.vue'
- import lPainterText from '@/components/lime-painter/components/l-painter-text/l-painter-text.vue'
- import lPainterView from '@/components/lime-painter/components/l-painter-view/l-painter-view.vue'
- import lPainterQrcode from '@/components/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue'
- export default {
- name: "share-poster",
- components: {
- lPainter,
- lPainterImage,
- lPainterText,
- lPainterView,
- lPainterQrcode
- },
- props: {
- config: {
- type: Object,
- default: () => ({})
- },
- shareId: {
- type: [Number, String],
- default: ''
- },
- qrcode: {
- type: [String],
- default: ''
- },
- pagePath:{
- type: String,
- default: ''
- },
- link: {
- type: String,
- default: ''
- },
- type: {
- type: String,
- default: 'goods'
- }
- },
- data() {
- return {
-
- };
- },
- computed: {
- price() {
- let {
- price
- } = this.config
- console.log(price)
- if (price == undefined) return {}
- price = String(parseFloat(price)).split('.')
- return {
- prev: price[0],
- next: price[1] ? `.${price[1]}` : ''
- }
- },
- marketPrice() {
- return `¥${parseFloat(this.config.marketPrice)}`
- }
- },
- methods: {
- handleSuccess(val) {
- this.$emit('success', val)
- },
- handleFail(err) {
- this.$emit('fail')
- }
- }
- }
- </script>
- <style>
- </style>
|