小程序生成分享海报,带二维码可携带参数!

最近开发小程序遇到一个需求,后端提供一个二维码,携带分享参数,前端来生成一个分享海报,下面是部分截图

在这里插入图片描述
在这里插入图片描述
这里我就只说一下点击生成海报的方法,这里调用了第三方插件,直接下载,下载直通车
代码下载好了,直接拷贝到自己的项目目录,我是这样放的miniprogram_dist就是下载好的组件包
在这里插入图片描述

在需要的页面引入组件
JSON文件引入组件

{
  "usingComponents": {
    "poster": "/miniprogram_dist/poster"
  }
}

WXML

<view>
 <poster id="poster" config="{{posterConfig}}" bind:success="onPosterSuccess" bind:fail="onPosterFail">
    <view style="display: flex;align-items: center;justify-content: center;flex-direction: column;">
      <image style="width:100rpx;height:100rpx;"
        src="图片就自己去找啦"></image>
      <button class="tx-14 cl-info">生成分享海报</button>
    </view>
  </poster>
</view>

JS

  const posterConfig = {
      width: 750,
      height: 1334,
      backgroundColor: '#ffffff',
      debug: false,
      pixelRatio: 1,
      blocks: [{
          width: 690,
          height: 808,
          x: 30,
          y: 183,
          borderWidth: 2,
          borderColor: '#ebebeb',
          borderRadius: 20,
        }
      ],
      texts: [{
          x: 113,
          y: 61,
          baseLine: 'middle',
          text: '草帽男孩',
          fontSize: 32,
          color: '#8d8d8d',
        },
        {
          x: 30,
          y: 125,
          baseLine: 'top',
          text: str,
          fontSize: 36,
          color: '#080808',
        },
        {
          x: 59,
          y: 895,
          baseLine: 'middle',
          text: [{
              text: '经营分类:',
              fontSize: 30,
              color: '#333333',
            },
            {
              text: '亿通建筑书店',
              fontSize: 30,
              color: '#6d6d6d',
              marginLeft: 10,
            }
          ]
        },
        {
          x: 59,
          y: 945,
          baseLine: 'middle',
          text: [{
              text: '地理位置:',
              fontSize: 30,
              color: '#333333',
            },
            {
              text: '湖北襄阳',
              fontSize: 28,
              color: '#6d6d6d',
              marginLeft: 10,
            }
          ]
        },
        {
          x: 360,
          y: 1105,
          baseLine: 'top',
          text: '长按识别小程序码',
          fontSize: 36,
          color: '#333333',
        },
        {
          x: 360,
          y: 1163,
          baseLine: 'top',
          text: '易享铺-共享您的店铺更赚钱',
          fontSize: 26,
          color: '#6d6d6d',
        },
      ],
      images: [{
          width: 62,
          height: 62,
          x: 30,
          y: 30,
          borderRadius: 62,
          url: '顶部头像照片',
        },
        {
          width: 634,
          height: 634,
          x: 59,
          y: 210,
          url: '中间大图链接',
        },
        {
          width: 280,
          height: 280,
          x: 50,
          y: 1000,
          url: '分享二维码',
        }
      ]
    }
  onPosterSuccess(e) { // 海报生成成功
    this.setData({
      posterSrc: e.detail,
      showpops: false,
      showPoster: true,
    })
    const {
      detail
    } = e;
    console.log(e.detail,'生成的海报')
  },
  
 onPosterFail(err) {
    app.ShowToast('生成失败!')
  },
  
  savePoster() { // 点击保存到手机相册
    wx.getImageInfo({
      src: this.data.posterSrc,
      success: function (res) {
        var path = res.path;
        //保存图片到本地
        wx.saveImageToPhotosAlbum({
          filePath: path,
          success: function () {
            wx.showToast({
              title: '保存成功'
            })
          },
          fail: function (res) {
            wx.showToast({
              title: '保存失败',
              icon: 'none'
            })
          }
        })
      }
    })
  },

onPosterSuccess()生成海报成功的函数,e.detail就是生成的海报,是一个https网路链接,可以直接下载也可以预览,savePoster()是点击保存的方法,onPosterFail()是生成错误的方法,至于二维码携带参数也很简单,看官方文档,按文档传参,在onLoad里面即可获取https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html

这里调用的第三方插件,如果这个海报不能满足你的需求,或者是样式不是那就想要的,请移步插件文档:戳我直达api
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
ThinkPHP5开发小程序推广分享参数二维码生成是一种在小程序中推广活动的有效方式。我们可以利用ThinkPHP5框架提供的接口和功能来实现这个需求。 首先,我们需要在小程序生成一个参数二维码。可以使用小程序提供的wx.getSceneParams方法来获取当前页面的参数,并将参数转化为字符串拼接到跳转链接中。然后,使用微信开放平台提供的qr_code接口生成一个参数二维码图片,并将图片保存到服务器上。 在ThinkPHP5中,我们可以创建一个二维码生成的控制器,接收前端传来的参数,并根据参数生成二维码。可以使用EasyWeChat等第三方库来调用微信开放平台的接口生成二维码图片。生成二维码可以保存到服务器上的指定路径。 接下来,我们需要将生成二维码图片返回给前端。在控制器中,可以使用ThinkPHP5提供的return方法将图片路径返回给前端。前端可以通过路径来展示二维码图片。 最后,我们可以在小程序中实现推广分享的逻辑。在用户点击分享按钮时,可以获取当前页面的路径和参数,并将路径和参数拼接到自定义的分享链接中,生成一个参数分享链接。通过这个链接,其他用户进入小程序后,可以通过分享者的分享链接获得参数,从而参与相应的推广活动。 总结来说,使用ThinkPHP5开发小程序推广分享参数二维码生成,需要在小程序生成参数二维码图片,并利用ThinkPHP5提供的功能将图片保存到服务器上。然后,将生成二维码图片路径返回给前端展示,并在小程序中实现推广分享的逻辑。这样,我们就可以实现小程序的推广分享功能,参数二维码生成和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端攻城狮路飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值