<template>
|
<view class="page_protocol" v-if="isShow">
|
<view class="login_bg"></view>
|
<image class="page_bg" src="https://ossacmall.bluedeer.com.cn/app/static/images/login_bg.jpg"></image>
|
<view class="login_box animated" :class="{ slideInUp: isUp }">
|
<image class="head" src="https://ossacmall.bluedeer.com.cn/app/static/images/app_logo2.png"></image>
|
<view class="title">很高兴遇见您,欢迎您的到来!</view>
|
<view class="info_box">
|
隐私政策提示:<br>
|
我们非常重视用户的隐私和个人信息保护<br>为了更好的保护您的个人信息安全,请您仔细阅读并理解我们的<text class="private_btn"
|
@click="goToLink('/pages/users/privacy/index')">《隐私协议》</text><br>若您点击"同意",即表示您已阅读并同意上述条款,将严格按照各项条款使用和保护您的个人信息。
|
</view>
|
<view class="btn_box flex">
|
<button class="cancel" @click="cancel">取消</button>
|
<button class="submit" @click="agree">同意</button>
|
</view>
|
</view>
|
</view>
|
</template>
|
<script>
|
const app = getApp();
|
import {
|
silenceBindingSpread
|
} from "@/utils";
|
import Routine from '@/libs/routine';
|
import {
|
protocolCreate,
|
loginMobile,
|
registerVerify,
|
getCodeApi,
|
getUserInfo
|
} from "@/api/user";
|
import {
|
getLogo,
|
bindUserPhone,
|
decryptPhone
|
} from '@/api/public';
|
export default {
|
name: 'loginProtocol',
|
data() {
|
return {
|
isShow: false
|
}
|
},
|
created() {
|
if(app.globalData.showProtocol){
|
let pages = getCurrentPages(),currPage = pages[pages.length - 1];
|
if(currPage&&currPage.route.indexOf('pages/users/privacy/index')>=0){
|
}else{
|
this.isShow=true;
|
}
|
}
|
this.init();
|
},
|
methods: {
|
goToLink(url){
|
uni.navigateTo({
|
url:url
|
})
|
},
|
init() {
|
uni.showProtocol = this.show;
|
uni.hideProtocol = this.hide;
|
},
|
show() {
|
this.isShow = true;
|
},
|
hide() {
|
app.globalData.showProtocol=false;
|
this.isShow = false;
|
},
|
cancel() {
|
uni.exitMiniProgram({
|
success: () => {
|
console.log('退出小程序成功');
|
},
|
fail: (err) => {
|
console.log('退出小程序失败', err);
|
}
|
});
|
},
|
agree() {
|
let that = this;
|
protocolCreate(this.$store.getters.unionId).then(() => {
|
that.hide();
|
uni.$emit('protocolAgreed');
|
});
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.page_protocol {
|
position: fixed;
|
left: 0;
|
top: 0;
|
width: 100%;
|
height: 100%;
|
z-index: 10000;
|
}
|
.login_bg {
|
width: 100%;
|
height: 100%;
|
background: rgba(0, 0, 0, .7);
|
}
|
.page_bg {
|
width: 750rpx;
|
height: 100vh;
|
position: absolute;
|
left: 0;
|
top: 0;
|
}
|
.login_box {
|
width: 100%;
|
box-sizing: border-box;
|
padding: 290rpx 60rpx 90rpx 60rpx;
|
position: absolute;
|
left: 0;
|
bottom: 0;
|
background: url("https://ossacmall.bluedeer.com.cn/app/static/images/login_top2.png") center top/100% auto no-repeat;
|
background-color: #FFE20E;
|
border-radius: 40rpx 40rpx 0 0;
|
|
.head {
|
width: 80rpx;
|
height: 80rpx;
|
left: 45rpx;
|
top: 50rpx;
|
position: absolute;
|
border: 1rpx solid #F5F5F5;
|
border-radius: 50%;
|
}
|
|
.title {
|
font-size: 34rpx;
|
line-height: 60rpx;
|
position: absolute;
|
left: 144rpx;
|
top: 60rpx;
|
color: #ffffff;
|
}
|
|
.info_box {
|
font-size: 30rpx;
|
line-height: 1.5em;
|
color: #000000;
|
position: relative;
|
padding-bottom: 60rpx;
|
}
|
|
.input_box {
|
padding-left: 110rpx;
|
padding-right: 250rpx;
|
position: relative;
|
font-size: 30rpx;
|
height: 133rpx;
|
line-height: 133rpx;
|
color: #000000;
|
border-bottom: 2rpx solid #000000;
|
|
.input_label {
|
position: absolute;
|
left: 0;
|
top: 0;
|
}
|
|
.input {
|
width: 100%;
|
height: 100%;
|
text-align: center;
|
}
|
|
.input_btn {
|
position: absolute;
|
right: 0;
|
top: 50%;
|
margin-top: -29rpx;
|
width: max-content;
|
font-size: 31rpx;
|
line-height: 57rpx;
|
text-align: center;
|
background-color: unset;
|
color: #016DCC;
|
}
|
}
|
|
.private {
|
padding-left: 50rpx;
|
font-size: 25rpx;
|
color: #000000;
|
position: relative;
|
margin-top: 40rpx;
|
|
.private_icon {
|
width: 90rpx;
|
height: 90rpx;
|
position: absolute;
|
left: -22rpx;
|
top: 50%;
|
margin-top: -45rpx;
|
|
&:before {
|
content: '';
|
display: block;
|
position: absolute;
|
width: 35rpx;
|
height: 35rpx;
|
box-shadow: inset 0 0 0 1rpx #000;
|
border-radius: 50%;
|
left: 50%;
|
top: 50%;
|
margin-left: -18rpx;
|
margin-top: -18rpx;
|
}
|
|
&.active:after {
|
content: '';
|
display: block;
|
position: absolute;
|
width: 18rpx;
|
height: 18rpx;
|
background-color: #000000;
|
border-radius: 50%;
|
left: 50%;
|
top: 50%;
|
margin-left: -9rpx;
|
margin-top: -9rpx;
|
}
|
}
|
|
}
|
.private_btn {
|
display: inline-block;
|
border-bottom: 2rpx solid #000000;
|
}
|
.btn_box {
|
width: 500rpx;
|
margin: 0 auto;
|
|
&.flex {
|
display: flex;
|
justify-content: space-between;
|
}
|
}
|
|
.cancel,
|
.submit {
|
width: 220rpx;
|
font-size: 30rpx;
|
line-height: 84rpx;
|
text-align: center;
|
color: #ffffff;
|
border-radius: 8rpx;
|
background: #016DCC;
|
}
|
|
.submit2 {
|
width: 100%;
|
}
|
|
.cancel {
|
color: #000000;
|
background: #f5f5f5;
|
}
|
|
.cancel2 {
|
font-size: 30rpx;
|
width: max-content;
|
margin: 24rpx auto 0 auto;
|
color: #000000;
|
}
|
}
|
|
.animated {
|
animation-duration: .4s
|
}
|
</style>
|