+
99
-

回答

1、分享或添加小程序页面会触发onShareAppMessage

Page({
  async onShareAppMessage(option) {
    const title = await this.getTitle();
    return {
      title, // 这是要转发的小程序标题
      desc: "转发文案",
      path: "/pages/index/index?from=sharebuttonabc&uid=推广者用户id", // ?后面的参数会在转发页面打开时传入onLoad方法
      imageUrl: "https://e.com/e.png", // 支持本地或远程图片,默认是小程序 icon
      templateId: "这是开发者后台设置的分享素材模板id",
      success() {
        console.log("分享成功");
      },
      fail() {
        console.log("分享失败");
      },
    };
  },
  onLoad(query) {
    if (query.from === "sharebuttonabc") {
      // do something...
    }
  },
  getTitle() {
    return new Promise((resolve) => {
      setTimeout(() => {
        resolve("This is a mock title");
      }, 2000);
    });
  },
});

2、如果是小程序中通过按钮发布抖音视频自动连接小程序会触发onUploadDouyinVideo

800_auto

Page({
  async onUploadDouyinVideo(option) {
    const title = await this.getTitle();
    return {
      // 传入videoPath表示上传videoPath对应的视频到抖音,没填videoPath代表拉起拍摄器拍摄视频
      // videoPath: 'ttfile://xxx',
      titleConfig: {
        title
      },
      success() {
        console.log("视频发布/挂载成功");
      },
      fail() {
        console.log("视频发布/挂载失败");
      },
    };
  },
  getTitle() {
    return new Promise((resolve) => {
      setTimeout(() => {
        resolve("This is a mock title");
      }, 2000);
    });
  },
});

3、如果是直播挂载小程序会触发onLiveMount

Page({
  async onLiveMount(option) {
    const title = await this.getTitle();
    return {
      title,
      path: "/pages/index/index?from=sharebuttonabc&otherkey=othervalue",
      success() {
        console.log("直播挂载成功");
      },
      fail() {
        console.log("直播挂载失败");
      },
    };
  },
  getTitle() {
    return new Promise((resolve) => {
      setTimeout(() => {
        resolve("This is a mock title");
      }, 2000);
    });
  },
});

参考来源:https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/api/retweet/review

网友回复

我知道答案,我要回答