收藏
回答

onShareAppMessage自定义转发问题

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 需求 onShareAppMessage 微信iOS客户端 iOS 6.71 2.0.0

onShareAppMessage: function(res) {

   var that = this;

   if (res.from === 'button') { // 来自页面内按钮

     var nickName = "",

       avatarUrl = "",

       timestamp = that.data.timestamp;

     var time = util.formatTime(timestamp).substring(0, 16);


     new Promise(function(resolve, reject) {

       wx.getSetting({

         success(res) {

           if (res.authSetting['scope.userInfo']) {

             wx.getUserInfo({

               success: function(res) {

                 nickName = res.userInfo.nickName;

                 avatarUrl = res.userInfo.avatarUrl;

                 resolve();

               },

             })

           }

         }

       })

     }).then(() => {

       console.log(nickName + avatarUrl);

       return {

         title: 'xx,不服来战',

         path: '/pages/challenge/challenge?ratio=' + that.data.ratio + '&nickName=' + nickName + '&avatarUrl=' + avatarUrl + '&time=' + time + '&id=' + Date.parse(timestamp) + that.data.templv + Math.floor(Math.random() * 99999)

       }

     })

   }

 }

我要获取用户信息,传递到自定义转发页面,如代码所示return写在then代码块里,得到的是一个默认转发,自定义内容无效?return部分若不写then中,提取到onShareAppMessage代码块底部又因为异步处理而得不到用户信息

回答关注问题邀请回答
收藏

3 个回答

  • @刘阿福
    @刘阿福
    2019-01-22

    let path = '/pages/card-detail/index?card_id=' + JSON.stringify(this.data.card_id)

    return {

    title: '收到一张来自' + this.data.name + '的名片',

    imageUrl: this.data.imageUrl,

    path: path

    }

    如果在path里面直接拼接 this.data.card_id是不行的, 把path写成变量 ,就ok了。太鸡儿坑了

    2019-01-22
    有用
    回复
  • 🥤
    🥤
    2018-07-25

    可以提前获取到放到data里面,然后从data里面去取

    2018-07-25
    有用
    回复
  • 卢霄霄
    卢霄霄
    2018-07-25

    你只能提前获取你转发需要的东西,这里面不能异步,不会等你的。

    2018-07-25
    有用
    回复
登录 后发表内容