初始化仓库

This commit is contained in:
wangxiaowei
2026-04-14 16:54:04 +08:00
commit 967c25b397
553 changed files with 106514 additions and 0 deletions

View File

@ -0,0 +1,184 @@
<template name="protocol-popup">
<view @touchmove.stop.prevent="clear" v-show="showPopup">
<view class="popup_mask1" @touchmove.stop.prevent="clear"></view>
<view class="popup_mask" @touchmove.stop.prevent="clear"></view>
<view class="popup_content">
<view class="title">{{ title }}</view>
<view class="content">
请你务必审慎阅读充分理解服务协议隐私政策各条款包括但不限于为了更好的向你提供服务我们需要收集你的设备标识操作日志等信息用于分析优化应用性能你可阅读
<text class="link" @click="linkClick(1)">服务协议</text>
<text class="link" @click="linkClick(2)">隐私政策</text>
了解详细信息如果你同意请点击下面按钮开始接受我们的服务
</view>
<view class="btn">
<view class="flex-1">
<button class="plain" @click="back">拒绝仅浏览</button>
</view>
<view class="flex-1">
<button @click="confirm">同意并继续</button>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
name: "lyg-popup",
props: {
title: {
type: String,
default: "用户使用及隐私保护政策提示"
},
// 协议路径
protocolPath: {
type: String
},
// 政策路径
policyPath: {
type: String
},
policyStorageKey: {
type: String,
default: "has_read_privacy"
}
},
data() {
return {
showPopup: false
};
},
created: function() {
var that = this;
console.log("lyg-popup created");
const platform = uni.getSystemInfoSync().osName
const agree = uni.getStorageSync(this.policyStorageKey)
if (platform === 'android' || agree) {
this.showPopup = false;
} else {
this.showPopup = true;
}
},
methods: {
// 查看隐私协议或服务协议
linkClick (num) {
switch (num) {
case 1:
// 跳转服务协议
this.$Router.push(this.protocolPath)
break
case 2:
// 跳转隐私政策
this.$Router.push(this.policyPath)
break
}
},
// 禁止滚动
clear() {
return;
},
back() {
this.$emit('popupState', false)
// #ifdef APP-PLUS
if (uni.getSystemInfoSync().platform == 'ios') {
const threadClass = plus.ios.importClass("NSThread");
const mainThread = plus.ios.invoke(threadClass, "mainThread");
plus.ios.invoke(mainThread, "exit");
//上面的不起效果下面的
plus.ios.import("UIApplication").sharedApplication().performSelector("exit")
} else if (uni.getSystemInfoSync().platform == 'android') {
plus.runtime.quit();
}
// #endif
},
// 关闭弹框
confirm() {
this.showPopup = false;
this.$emit('popupState', true);
uni.setStorageSync(this.policyStorageKey, true)
}
}
};
</script>
<style lang="scss">
.popup_mask {
position: fixed;
bottom: 0;
top: 0;
left: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.4);
transition-property: opacity;
transition-duration: 0.3s;
opacity: 0;
z-index: 1299;
}
.popup_mask {
opacity: 1;
}
.popup_mask1 {
position: fixed;
bottom: 0;
top: 0;
left: 0;
right: 0;
z-index: 1298;
background-color: #ffffff;
}
.popup_content {
overflow: hidden;
box-sizing: border-box;
padding: 40upx 20upx 0 20upx;
position: fixed;
bottom: 30%;
border-radius: 8px;
left: 50%;
margin-left: -40%;
right: 0;
min-height: 400upx;
background: #ffffff;
width: 80%;
z-index: 1300;
.title {
text-align: center;
line-height: 120rpx;
font-size: 32rpx;
font-weight: 600;
}
.content {
padding: 0 32rpx;
text-indent: 1em;
.link {
color: #4982db;
}
}
.btn {
display: flex;
flex: 1;
margin-top: 30rpx;
>view {
margin: 20rpx;
}
button {
color: $-color-white;
background-color: $-color-primary;
}
.plain {
color: $-color-primary;
background-color: $-color-white;
border: 1px solid $-color-primary;
}
}
}
</style>