1、manifest.json 配置修改
在mp-weixin: 参数修改(没有就添加)
"__usePrivacyCheck__": true,
***2、注意 微信开发者工具调整

不然一直报错 找不到 getPrivacySetting
废话不多说 上代码
3、 编辑首页 或者用户授权界面
- <uni-popup ref="popup">
- <view class="popupWrap">
- <view class="popupTxt">
- 在你使用【********】之前,请仔细阅读<text class="blueColor" @click="handleOpenPrivacyContract">《隐私保护指引》</text>。如你同意《******隐私保护指引》,请点击“同意”开始使用【******】。
- </view>
- <view class="popupBot">
- <button id="disagree-btn" type="default" @click="handleDisagree">拒绝</button>
- <button id="agree-btn" type="primary" open-type="agreePrivacyAuthorization" @agreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
- </view>
- </view>
- </uni-popup>
- // onload 代码
- // #ifdef MP
- wx.getPrivacySetting({
- success: res => {
- console.log("是否需要授权:",res, res.needAuthorization, "隐私协议的名称为:", res.privacyContractName)
- //如果需要授权的话 显示弹窗
- if(res.needAuthorization){
- this.$refs.popup.open('center')
- }
- },
- fail: () => {},
- complete: () => {},
- })
- // #endif
- methods: {
- // 用户隐私
- handleDisagree(e) {
- this.$refs.popup.close()
- },
- handleAgreePrivacyAuthorization(res) {
- // 用户同意隐私协议事件回调
- // 用户点击了同意,之后所有已声明过的隐私接口和组件都可以调用了
- this.$refs.popup.close()
- console.log(res,"handleAgreePrivacyAuthorization");
- },
- handleOpenPrivacyContract(){
- // 打开隐私协议页面
- wx.openPrivacyContract({
- success: () => {}, // 打开成功
- fail: () => {}, // 打开失败
- complete: (res) => {
- console.log(res,"openPrivacyContract complete");
- }
- })
- },
- // end用户隐私
- }
css
- .popupWrap{
- width: 540rpx;
- box-sizing: border-box;
- padding:42rpx;
- background:white;
- border-radius: 30rpx;
- .blueColor{
- color: rgba(39, 152, 240, 1);
- }
- .popupTxt{
- line-height: 48rpx;
- }
- .popupBot{
- display: flex;
- justify-content: space-around;
- align-items: center;
- margin-top: 30rpx;
- }
- }