收藏
回答

如何才能通过接口调用判断符合条件的情况下再触发转发功能?

我需要的功能是:

在点击一个转发按钮时,调用接口,通过接口返回的值,判断该情况下能否转发,如果不能转发就不弹起转发卡片,否则弹起卡片


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

1 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-10-24

    点击小程序右上角的 三点 转发,无法获取接口返回的值进行判断后在弹的


    第二次才弹出分享框的方案

    <button open-type="{{isShare?'share':''}}" bindtap="{{isShare?'':'shareCheck'}}">{{shareChecking?'分享检测中...':(isShare?'点击分享':'分享')}}</button>


    shareCheck(){

        this.setData({

            shareChecking: !0

        })

        var res = { canShare: 1 } //分享检测接口返回{canShare:0|1}

        if (res.canShare){

            // 在这里才添加onShareAppMessage,为了就是隐藏右上角的转发,

            // 当然也可以保留原来Page里的onShareAppMessage,在onLoad里调用wx.hideShareMenu()也是可以隐藏右上角的转发的

            this.onShareAppMessage = () => {

                // 开启这里的setData的话,每次都要第二次点击才弹出分享框,也就是分享前都重新请求一次接口

                // 否则就只有首次需要点2次,之后都不用再点第二次才弹框了

                // this.setData({

                //   isShare: !1

                // })

                return {

                    title: "so easy!",

                    path: "/index/index"

                };

            }

            this.setData({

                isShare: !0

            })

        }else{

            wx.showToast({

                title: '你无法分享',

                icon: 'none',

            })

        }

        this.setData({

            shareChecking: !1

        })

    }


    2019-10-24
    有用 1
    回复 15
    • 2019-10-24
      谢谢 右上角的转发可以隐藏吗
      2019-10-24
      回复
    • 2019-10-24
      你好 通过this.onShareAppMessage 没办法触发分享哦
      2019-10-24
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-24回复
      可以,js里不写onShareAppMessage方法就行
      2019-10-24
      回复
    • 2019-10-24回复o0o有脾气的酸奶
      不好意思我没懂你说的 js里不写是什么意思?
      2019-10-24
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-24回复
      恩~搞错了,那只能是js里不写onShareAppMessage方法,然后onLoad进来就请求接口,符合条件才显示分享按钮了
      2019-10-24
      回复
    查看更多(10)
登录 后发表内容
问题标签