uni-app 微信H5页面禁止、自定义分享

全局设置隐藏:

//注意要写在App.vue文件的onLauch方法里面

        onLaunch() {
            let that = this

            //监听页面跳转变化
            uni.addInterceptor('navigateTo', {
                //监听跳转
                success(e) {
                    that.hideShareFun()
                }
            });
            uni.addInterceptor('redirectTo', {
                //监听关闭本页面跳转
                success(e) {
                    that.hideShareFun()
                }
            });
            uni.addInterceptor('switchTab', {
                //监听tabBar跳转
                success(e) {
                    that.hideShareFun()
                }
            });
            uni.addInterceptor('navigateBack', {
                //监听返回
                success(e) {
                    that.hideShareFun()
                }
            });

        },

            /**
             * 隐藏分享
             */
            hideShareFun() {
                if (typeof WeixinJSBridge == 'undefined') {
                    if (document.addEventListener) {
                        document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady, false);
                    } else if (document.attachEvent) {
                        document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady);
                        document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady);
                    }
                } else {
                    this.onBridgeReady();
                }
            },


            onBridgeReady() {
                WeixinJSBridge.call('hideOptionMenu');
                WeixinJSBridge.call('hideToolbar');
            }


使用微信开放文档JS-SDK内的方法隐藏分享:
隐藏了分享栏的其他分享途径只开启了分享到微信好友

//分享
            ,onShare(){
                console.log('进入分享')
                // 分享----------
                let dataUrl = COMMON_ROUTER_URL + `activity/activity_detail?id=${this.id}` //要分享的页面链接
                let that = this
                getWxConfig(dataUrl).then(res=>{
                    uni.hideLoading();
                    jweixin.config({
                        debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                        appId:res.data.appId, // 必填,公众号的唯一标识
                        timestamp: res.data.timestamp, // 必填,生成签名的时间戳
                        nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
                        signature: res.data.signature, // 必填,签名,见附录1
                        jsApiList: [ 'hideAllNonBaseMenuItem',  'showMenuItems',  'onMenuShareAppMessage','updateAppMessageShareData']
                    });
                    jweixin.ready(function () {   //需在用户可能点击分享按钮前就先调用
                        jweixin.hideAllNonBaseMenuItem();//隐藏所有非基础按钮
                        //显示功能按钮
                        jweixin.showMenuItems({
                          menuList: [
                            'menuItem:share:appMessage'
                          ]
                        });
                        
                      //分享给朋友
                      jweixin.updateAppMessageShareData({
                        title: '活动', // 分享标题
                        desc: that.detail.activityName, // 分享描述
                        link: COMMON_ROUTER_URL + `activity/activity_detail?id=${that.id}`, // 当前页面链接
                        imgUrl: ZY_OSS_URL + that.detail.picUrl, // 分享图标
                        success: function() {
                            //分享成功回调
                            console.log('分享成功回调');
                        },
                        cancel: function() {
                            //取消分享回调
                            console.log('取消分享回调');
                        }
                      });
                        
                        
                    })
                })
            }           
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容