收藏
回答

微信小程序自定义组件分享回调无效

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug 自定义组件 客户端 所有 所有


微信小程序自定义组件中按钮绑定分享,分享结果回调方法无效?

最后一次编辑于  2018-08-31  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • pirate
    pirate
    2018-08-31

    有分享界面出来的,return方法之前的日志都有打印,标题未展示,path页面的图片是有的,然后不管是取消还是发送成功,回调的日志都没有打印,

    2018-08-31
    赞同
    回复 7
    • 卢霄霄
      卢霄霄
      2018-08-31

      能来个代码片段吗?

      https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html


      2018-08-31
      回复
    • pirate
      pirate
      2018-08-31

      // component/sharePopup.js

      Component({


      options: {

      multipleSlots: true // 在组件定义时的选项中启用多slot支持

      },

      /**

        * 组件的属性列表

        */

      properties: {

      },


      /**

        * 组件的初始数据

        */

      data: {

      showModalStatus: false,

      animationData: '',

      screenHeight: 0,

      },


      /**

        * 组件的方法列表

        */

      methods: {

      //显示遮罩层

      showSheet: function () {

      var that = this;

      wx.getSystemInfo({

      success: function (res) {

      that.setData({

      screenHeight: res.screenHeight,

      })

      }

      })

      var h = that.data.screenHeight

      // 显示遮罩层

      var animation = wx.createAnimation({

      duration: 200,

      timingFunction: "linear",

      delay: 0

      })

      that.animation = animation

      animation.translateY(h).step()

      that.setData({

      animationData: animation.export(),

      showModalStatus: true

      })

      setTimeout(function () {

      animation.translateY(0).step()

      that.setData({

      animationData: animation.export()

      })

      }.bind(that), 200)

      },



      // 隐藏遮罩层

      hideSheet: function () {

      var h = this.data.screenHeight

      // 隐藏遮罩层

      var animation = wx.createAnimation({

      duration: 200,

      timingFunction: "linear",

      delay: 0

      })

      this.animation = animation

      animation.translateY(0).step()

      this.setData({

      animationData: animation.export(),

      })

      setTimeout(function () {

      animation.translateY(h).step()

      this.setData({

      animationData: animation.export(),

      showModalStatus: true

      })

      }.bind(this), 200)

      },


      //分享到朋友圈

      shareToCircle: function () {

      this.hideSheet()

      // var tempId = this.data.postId;

      // var tempName = postDetail.info.postTitle;

      // var tempValue1 = postDetail.info.postQuota;

      // var tempValue2 = '';

      },


      /**

         * 用户点击右上角分享

         */

      onShareAppMessage: function (res) {

      this.hideSheet()

      // var that = this;

      return {

      title: "分享成功",

      path: '/pages/drawDetail/drawDetail',

      success: function (res) {

      // 转发成功

      console.log(res)

      console.log("分享成功")

      },

      fail: function (res) {

      console.log("取消分享")

      }



      }

      },


      _error() {

      console.log("分享失败")

      this.triggerEvent("error")


      },


      _success(){

      console.log("分享成功")

      this.triggerEvent("success");


      }


      },

      })



      2018-08-31
      回复
    • 卢霄霄
      卢霄霄
      2018-08-31回复pirate

      卧槽。。看见你 Compnent( 几个字的时候,心里咯噔一下。。onShareAppMessage 是 page 里的方法,component里不能用

      https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html

      如果以后 pageLifetimes 有拓展的话,倒是可能可以在 component里写呢

      2018-08-31
      回复
    • pirate
      pirate
      2018-08-31

      但是onShareAppMessage不是可以通过button去调用吗?

      2018-08-31
      回复
    • 卢霄霄
      卢霄霄
      2018-08-31回复pirate

      这个是生命周期回调函数,不是你写个函数,就会去调的

      2018-08-31
      回复
    查看更多(2)
  • 卢霄霄
    卢霄霄
    2018-08-31

    无效是啥意思?

    2018-08-31
    赞同
    回复 7
    • pirate
      pirate
      2018-08-31

      回调方法不会走

      2018-08-31
      回复
    • pirate
      pirate
      2018-08-31

      在结果回调的方法中打印的日志全都没有打印

      2018-08-31
      回复
    • 卢霄霄
      卢霄霄
      2018-08-31回复pirate

      title 和 path的设置 ,生效了的吗?

      2018-08-31
      回复
    • pirate
      pirate
      2018-08-31回复卢霄霄

      有分享页面出来的,return方法之前的日志有打印,但是title未显示,path上的图片是有的,然后不管是点击取消还是发送成功,所有的日志都不打印

      2018-08-31
      回复
    • 瓜瓜
      瓜瓜
      2018-09-04回复pirate

      请问解决没有,我正好也想使用Component构造页面


      2018-09-04
      回复
    查看更多(2)