<template>
|
|
<uni-popup ref="popup" type="bottom" background-color="#fff" :mask-click="false" class="bottom-popup">
|
|
<view class="popup-container">
|
|
<!-- 标题 -->
|
|
<view class="popup-title">用户隐私保护提示</view>
|
|
|
|
<!-- 内容 -->
|
|
<view class="popup-content">
|
|
在你使用瀚海回收服务之前,请仔细阅读
|
|
<text class="highlight" @click="openProtocol('service')">《用户服务协议》</text>
|
|
和
|
|
<text class="highlight" @click="openProtocol('privacy')">《隐私政策》</text>
|
|
。如你同意该指引,请点击"同意"开始使用本小程序。
|
|
</view>
|
|
|
|
<!-- 操作按钮 -->
|
|
<view class="popup-buttons">
|
|
<button class="popup-btn reject" @click="handleReject">拒绝</button>
|
|
<button
|
|
v-if="needPhone"
|
|
class="popup-btn agree"
|
|
open-type="getRealtimePhoneNumber"
|
|
@getrealtimephonenumber="getrealtimephonenumber"
|
|
@click="handleAgree"
|
|
>同意</button>
|
|
<button
|
|
v-else
|
|
class="popup-btn agree"
|
|
@click="handleAgree"
|
|
>同意</button>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
props: {
|
|
needPhone: {
|
|
type: Boolean,
|
|
default: false
|
|
}
|
|
},
|
|
methods: {
|
|
getrealtimephonenumber (e) {
|
|
console.log(e.detail.code,'11') // 动态令牌
|
|
console.log(e.detail.errMsg,'22') // 回调信息(成功失败都会返回)
|
|
console.log(e.detail.errno) // 错误码(失败时返回)
|
|
uni.reLaunch({
|
|
url:'/pages/wxUserInfo'
|
|
})
|
|
this.$api('bindPhone', {code:e.detail.code}, res => {
|
|
console.log(res,'res-phone',)
|
|
if (res.code == 200) {
|
|
console.log(JSON.parse(res.result),'phone')
|
|
getApp().globalData.phone = JSON.parse(res.result).phone_info.phoneNumber;
|
|
}
|
|
})
|
|
},
|
|
// 打开弹窗
|
|
open() {
|
|
this.$refs.popup.open()
|
|
},
|
|
// 关闭弹窗
|
|
close() {
|
|
this.$refs.popup.close()
|
|
},
|
|
// 同意处理
|
|
handleAgree() {
|
|
this.$emit('agree')
|
|
this.close()
|
|
},
|
|
// 拒绝处理
|
|
handleReject() {
|
|
this.$emit('reject')
|
|
this.close()
|
|
},
|
|
// 打开协议
|
|
openProtocol(type) {
|
|
this.$emit('open-protocol', type)
|
|
},
|
|
// 允许外部动态设置 needPhone
|
|
setNeedPhone(val) {
|
|
this.$emit('update:needPhone', val)
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
/* 底部弹窗容器 */
|
|
.bottom-popup {
|
|
border-radius: 24rpx 24rpx 0 0;
|
|
}
|
|
|
|
.popup-container {
|
|
padding: 40rpx;
|
|
background: #fff;
|
|
border-radius: 24rpx 24rpx 0 0;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
max-height: 80vh;
|
|
overflow-y: auto;
|
|
/* padding-bottom: env(safe-area-inset-bottom); */
|
|
}
|
|
|
|
/* 标题样式 */
|
|
.popup-title {
|
|
font-size: 32rpx;
|
|
font-weight: bold;
|
|
text-align: left;
|
|
margin-bottom: 30rpx;
|
|
color: #333;
|
|
}
|
|
|
|
/* 内容样式 */
|
|
.popup-content {
|
|
font-size: 28rpx;
|
|
line-height: 1.6;
|
|
color: #666;
|
|
margin-bottom: 40rpx;
|
|
word-wrap: break-word;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.highlight {
|
|
color: #4c6eae;
|
|
display: inline;
|
|
}
|
|
|
|
/* 按钮容器 */
|
|
.popup-buttons {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 0 20rpx;
|
|
margin-top: 20rpx;
|
|
}
|
|
|
|
/* 按钮基础样式 */
|
|
.popup-btn {
|
|
width: 45%;
|
|
height: 88rpx;
|
|
line-height: 88rpx;
|
|
font-size: 32rpx;
|
|
border-radius: 44rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
/* 拒绝按钮 */
|
|
.popup-btn.reject {
|
|
background-color: #f5f5f5;
|
|
color: #666;
|
|
}
|
|
|
|
/* 同意按钮 */
|
|
.popup-btn.agree {
|
|
background-color: #07C160;
|
|
color: #fff;
|
|
}
|
|
|
|
/* 去除按钮默认样式 */
|
|
.popup-btn::after {
|
|
border: none;
|
|
}
|
|
|
|
/* 适配不同屏幕尺寸 */
|
|
@media screen and (max-height: 700px) {
|
|
.popup-container {
|
|
padding: 30rpx;
|
|
}
|
|
|
|
.popup-title {
|
|
font-size: 28rpx;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.popup-content {
|
|
font-size: 26rpx;
|
|
margin-bottom: 30rpx;
|
|
}
|
|
|
|
.popup-btn {
|
|
height: 80rpx;
|
|
line-height: 80rpx;
|
|
font-size: 28rpx;
|
|
}
|
|
}
|
|
|
|
/* 适配小屏幕 */
|
|
@media screen and (max-height: 600px) {
|
|
.popup-container {
|
|
padding: 20rpx;
|
|
}
|
|
|
|
.popup-title {
|
|
font-size: 26rpx;
|
|
margin-bottom: 15rpx;
|
|
}
|
|
|
|
.popup-content {
|
|
font-size: 24rpx;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.popup-btn {
|
|
height: 70rpx;
|
|
line-height: 70rpx;
|
|
font-size: 26rpx;
|
|
}
|
|
}
|
|
</style>
|