1.多商户app视频无法播放问题修改方法:
文件路径:/pages/plantGrass/plant_release/index.vue
视频预览弹窗的代码修改为下图圈住的代码:
computed中加入下面圈住的代码:
2.多商户小程序授权勾选服务与隐私协议修改方法:
在components组件里面加入附件中的privacyAgreementPopup.zip
在components/Authorize.vue中增加下面圈住的代码:
把原来的getUserProfile方法修改为下图圈住的:
代码:getUserProfile() {
if (wx.getPrivacySetting) {
wx.getPrivacySetting({
success: res => {
console.log(res.needAuthorization)
if (res.needAuthorization) {
// 需要弹出隐私协议
this.canGetPrivacySetting = true
this.$nextTick(()=>{
this.$refs.privacyAgreement.showPoupon(res.privacyContractName)
})
}else{
this.onAgree()
}
},
fail: () => {},
complete: () => {}
})
}else{
this.onAgree()
}
},
增加onAgree方法:
代码:onAgree() {
let self = this;
self.canUseGetUserProfile = false;
Routine.getUserProfile()
.then(res => {
let userInfo = res.userInfo;
userInfo.code = self.code;
userInfo.spread = app.globalData.spid; //获取推广人ID
userInfo.spread_code = app.globalData.code; //获取推广人分享二维码ID
commonAuth({
auth: {
type:'routine',
auth: userInfo
}
}).then(res=>{
if(res.data.status == 200){
let time = res.data.result.expires_time - Cache.time();
self.$store.commit('UPDATE_USERINFO', res.data.result.user);
self.$store.commit('LOGIN', {token:res.data.result.token, time:time});
self.$store.commit('SETUID', res.data.result.user.uid);
Cache.set(EXPIRES_TIME,res.data.result.expires_time,time);
Cache.set(USER_INFO,res.data.result.user,time);
self.$emit('onLoadFun', res.data.result.user);
if(res.data.result.user.isNew && self.mp_is_new && self.first_avatar_switch==1
&& self.wechat_phone_switch == 1){
self.editModal = true;
}
}else{
uni.setStorageSync('auth_token',res.data.result.key);
return uni.navigateTo({
url:'/pages/users/login/index'
})
}
}).catch(res => {
uni.hideLoading();
uni.showToast({
title: res.message,
icon: 'none',
duration: 2000,
});
});
})
.catch(res => {
uni.hideLoading();
});
},
注意:下面圈住的代码是判断新用户第一次登录小程序,获取用户头像的,之前没加这一部分内容的话,这个不用加,这里的onAgree就是之前授权的逻辑,把之前小程序授权代码挪到这里面即可:
增加onclose方法:
代码:onclose(){
this.canGetPrivacySetting = false;
},
原来的close方法增加下面圈住的代码:
代码:close() {
this.$emit('authColse', false);
this.canGetPrivacySetting = false;
},
修改完成后,小程序第一次授权会弹出下面的弹窗
点击同意并继续后,再点击授权即可授权成功!