-- 创造无限可能

微信小程序onShareAppMessage分享异步请求接口获取数据后在转发好友

2023-11-09 15:49:27
1454 人浏览 0 人点赞
有用,点赞支持一下

1、自定义按钮方式 <button open-type="share"> 或监听系统右上角的分享按钮 onShareAppMessage 进行自定义分享内容

<button open-type='share' @click="setShareId(item)" type="primary" class="button-sure" :data-item='item'>
    转发给好友
</button>

2、定义一个setShareId方法,用于接收点击的参数id

setShareId(item){
    this.share_id = item.id;
},

3、分享方法

    //分享
    async onShareAppMessage(item){
         try {
             //请求后端接口,获取token
            const result = await this.getItemSetId();

            // 拿到token后在进行分享
            return {
              title: "分享订单详情",
              path: '/pages/share/detail?token=' + result.token,
            }
          } catch (error) {
            console.error('获取token失败:', error);
            // 处理获取token失败的情况
            // 返回默认的分享链接或者其他操作
          }
    },

4、请求后台接口方法

    getItemSetId() {
      return new Promise((resolve, reject) => {
        http.get("/share/getToken", { id: this.share_id })
          .then(res => {
           // 将token作为结果传递给resolve方法
            resolve({ token: res.data });
          })
          .catch(error => {
            console.error('网络请求失败:', error);
            reject(error); // 将错误对象作为结果传递给reject方法
          });
      });
    },

这样分享后的链接页面/pages/share/detail打开后就会携带token参数了