在小程序的轮播区域,不同的图片对应不同的专题,所有专题使用的是同一套样式模板,所有内容为后台动态设置。

国庆前刚好有线下推广的活动,所以需求为,不同的页面分享转发出去,对应的样式不同。

具体的需求为:当用户进入“大凉山 喜德优质特产”专题时,分享出去的样式为“喜德特产”,如下:

当用户进入其它专题时,分享出去的样式为“500元购物卡活动”,如下:

在所有专题使用同一套模板的情况下,需要判断,具体代码如下:

核心:由于每个专题在后台生成时,会产生唯一的id,所以用id的不同来判断分享的样式

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (options) {
    let id = this.data.id;
    if (id == '8') {//id==8时,当前专题为喜德专题
      let shareObj = {
        title: '大凉山喜德优质特产',
        path: '/pages/index/index?isShare=special&id=' + id,
        imageUrl: '/static/images/common/share-xd.jpg',
      }
      return shareObj;
    } else {//其它专题
      let shareObj = {
        title: '购物卡活动惊喜来袭!',
        path: '/pages/index/index',
        imageUrl: '/static/images/common/share-index.jpg',
      }
      return shareObj;
    }
  },

思路很简单,当id=8时,当前专题为“喜德特产”专题,设置特定的分享对象,那么剩余的专题设置另一套分享对象即可。