[Taro3] Taro@3.0.3内设置分享朋友圈时自定义内容(title,imageUrl)失效

在页面内使用了onShareTimeline方法,右上角内也出现了分享朋友圈的按钮,但是页面内的分享自定义内容却没有成功设置,分享出去还是默认的小程序名称。

原因:taro@3.0.3内缺失相应的类型定义,在设置分享朋友圈自定义内容时导致自定义内容失效。


#7055

解决:
方法一: 升级至3.0.3以上;
方法二:在global.d.ts内添加缺失的类型定义,并在需要分享朋友圈的页面配置文件内添加enableShareTimeline: true

// global.d.ts
declare module '*.json' {
  const value: any
  export default value
}
declare module '@tarojs/taro' {
  interface PageConfig {
    /**
     * 是否启用分享给好友。
     *
     * @default false
     */
    enableShareAppMessage?: boolean
    /**
     * 是否启用分享到朋友圈。
     *
     * @default false
     */
    enableShareTimeline?: boolean
  }
}
// index.config.js
export default {
    enableShareAppMessage: true,
    enableShareTimeline: true
}

参考#7055: https://github.com/NervJS/taro/pull/7055

注:
设置自定义分享时query需要采用object的形式。

  // 分享朋友圈
  onShareTimeline(res) {
    let { detail, user_info, is_myRep, work_pos } = this.state;
    return {
      // 这是我创作的第3幅作品,获得了5星评价,快来给我点赞吧
      title: `这是我创作的第3幅作品,获得了5星评价,快来给我点赞吧`,
      // query: `is_fromShare=true&id=${detail.id}`,
      query: {is_fromShare: true, id: detail.id},
      imageUrl: detail.work_img
    };
  }

效果:


分享朋友圈效果