需要进入每个页面都提示,但是小程序没有路由拦截方案,因为我的页面是有逻辑的,加载完就执行完了,想在执行之前就弹出提示,类似授权弹窗,如果用户拒绝就退出小程序,同意就正常访问小程序。
要求:
1.做全局处理,启动小程序的时候就弹出提示,弹窗里有协议,用户拒绝就关闭小程序,终止访问流程,同意就继续访问
2.不用每个页面都做引入组件改动,进入页面之前就处理这个逻辑
以下是组件代码:
<!--components/dialog/dialog.wxml-->
<view class="e-load-view">
<view class="e-dialog-view">
<view class="title">用户隐私保护提示</view>
<view class="content">在您使用【XXXXX】服务之前,请仔细阅读<span class="link" bindtap="clickLink">《保护指引》</span>。当您点击同意时,即表示您已理解并同意该条款内容,该条款将对您产生法律约束力。</view>
<view class="footer">
<navigator target="miniProgram" open-type="exit" class="footer-btn cancel" ><span bindtap="refuse">拒绝</span></navigator>
<span class="footer-btn confirm" bindtap="argee">同意</span>
</view>
</view>
</view>
-------------------------------------------------------------------------------
// components/dialog/dialog.js
Component({
/**
* 组件的属性列表
*/
properties: {
isShow: {
type: Boolean,
}
},
/**
* 组件的初始数据
*/
data: {
showDialog: false,
},
/**
* 组件的方法列表
*/
methods: {
// 跳转隐私授权协议
clickLink: function(e) {
wx.navigateTo({
url: '/pages/about/webviewPage/index?id=privacyPolicy',
})
},
refuse: function(e) {
this.triggerEvent('refuseFn', e);
wx.setStorageSync('privacyDialogAuthorizationStatus', 'N');
},
argee: function(e) {
wx.setStorageSync('privacyDialogAuthorizationStatus', 'Y');
this.triggerEvent('confirmFn', e);
},
}
})

目前的确是每个页面得引入组件才行
是的,就跟你说的,小程序的话需要页面引用才可以弹出
查了好久都是需要页面单独引用组件,无法满足我的要求,有没有好心人帮忙解答