Taro微信小程序分享写法问题

在Taro里,使用微信的分享,大概率都会遇到异步请求参数的问题,以下是常规的配置

useShareAppMessage(() => {
      const wxConfig = {
        title: `我是标题`,
        desc: '我是描述文案',
        path: `/pages/index/index?aaa=${推广ID}`,
        imageUrl: `xxxxx`, // 封面图
      };
      return {
        ...wxConfig,
        promise: getAsyncWxConfig(wxConfig),
      };
    }
  });

其中按照微信官方文档描述,正常的静态文案必须要有,然后有异步请求的话,要加个promise参数,3秒内必须resolve,resolve最终版本的完整json,否则将直接使用静态的配置文案

关键在于 promise,或者说getAsyncWxConfig 这个函数,一开始我用的是async的写法,即

const getAsyncWxConfig = async ()=>{
    const data = await xxx();
    return {
        title: `我是标题`,
        desc: '我是描述文案',
        path: `/pages/index/index?aaa=${data.推广ID}`,
        imageUrl: `xxxxx`, // 封面图
    }
}

这样写也是promise的resolve,但是这样的写法在微信小程序的分享里不生效,他会直接用静态文案,那么此时的推广ID就是字符串的undefined
需要把写法改成

const getAsyncWxConfig = ()=>{
    return xxx().then(data=>{
        return {
            title: `我是标题`,
            desc: '我是描述文案',
            path: `/pages/index/index?aaa=${data.推广ID}`,
            imageUrl: `xxxxx`, // 封面图
        }
    })

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容