init: llpreheat 学法送演唱会门票 H5项目

This commit is contained in:
lcj
2026-09-03 10:21:11 +08:00
commit 305e22ddc5
223 changed files with 46261 additions and 0 deletions
+189
View File
@@ -0,0 +1,189 @@
<template>
<view class="content">
<view class="page-header">
<text class="header-back" @tap="goBack">‹</text>
<text class="header-title">用户隐私协议</text>
</view>
<scroll-view scroll-y class="doc-scroll">
<view class="doc-card">
<view class="doc-title">用户隐私协议</view>
<text class="doc-meta">主办方:湖南一二三零一文化旅游服务有限公司</text>
<text class="doc-meta">生效日期:自发布之日起</text>
<view class="sec">
<text class="sec-title">一、适用范围</text>
<text class="sec-text">本协议适用于"学法送演唱会门票"普法答题抽奖活动(以下简称"本活动")过程中我们对您个人信息的收集、使用与保护。您勾选同意本协议即表示您已阅读、理解并同意本协议全部内容。</text>
</view>
<view class="sec">
<text class="sec-title">二、我们收集的信息</text>
<text class="sec-text">1. 注册信息:姓名、手机号码,用于活动参与资格确认与实名核验,短信验证码(通过阿里云短信服务发送)用于验证手机归属;</text>
<text class="sec-text">2. 微信授权信息:本活动通过微信网页授权(snsapi_base静默授权)获取您的openid,用于关联您的身份与本活动答题、中奖记录,授权范围不包含您的微信昵称、头像等信息;</text>
<text class="sec-text">3. 答题与积分数据:答题记录、对错结果、用时及积分,用于成绩结算、排名与抽奖;</text>
<text class="sec-text">4. 中奖及兑奖信息:中奖记录;演唱会门票实行实名制管理,兑奖时需填写身份证号码,仅用于核验兑奖资格及门票发放。</text>
</view>
<view class="sec">
<text class="sec-title">三、信息的使用</text>
<text class="sec-text">1. 提供答题、积分计算、排名及开奖抽奖服务;</text>
<text class="sec-text">2. 验证用户身份及实名信息真实性,保障活动公平,防范刷量、冒领;</text>
<text class="sec-text">3. 完成兑奖核验,并在中奖时与您联系;</text>
<text class="sec-text">4. 满足法律法规及主管部门的监管要求。</text>
</view>
<view class="sec">
<text class="sec-title">四、信息的存储与保护</text>
<text class="sec-text">1. 您的个人信息存储于活动服务器,接口数据采用加密方式传输,并采取访问控制等安全措施;</text>
<text class="sec-text">2. 我们不会出售您的个人信息,亦不会向与本活动无关的第三方提供;除法律法规明确要求或司法、行政机关依法要求外,任何共享均经审慎评估;</text>
<text class="sec-text">3. 活动结束后,相关数据将依法律规定予以保留或删除。</text>
</view>
<view class="sec">
<text class="sec-title">五、信息的公示</text>
<text class="sec-text">为保障抽奖活动公开透明,中奖名单、积分排行等信息将依活动监管要求进行公示,公示内容将对姓名、手机号码等个人信息作脱敏处理。</text>
</view>
<view class="sec">
<text class="sec-title">六、您的权利</text>
<text class="sec-text">您可通过本协议所列联系方式向我们申请查询、更正、删除您的个人信息,或撤回您的同意。撤回同意不影响撤回前基于同意已进行的信息处理,但可能导致您无法继续参与本活动。</text>
</view>
<view class="sec">
<text class="sec-title">七、未成年人保护</text>
<text class="sec-text">本活动面向具备完全民事行为能力的成年人。未满十八周岁的未成年人请勿在本活动中提交个人信息,如需参与应取得监护人同意并在监护人陪同下进行。</text>
</view>
<view class="sec">
<text class="sec-title">八、协议更新</text>
<text class="sec-text">我们可能根据活动安排及法律法规变化适时更新本协议,更新后的协议将在活动页面公示后生效。若您继续参与活动,即表示您接受更新后的协议。</text>
</view>
<view class="sec">
<text class="sec-title">九、联系方式</text>
<text class="sec-text">如您对本协议或本活动个人信息保护事宜有任何疑问、意见或投诉,请通过以下方式联系我们:</text>
<text class="sec-text">主办方:湖南一二三零一文化旅游服务有限公司</text>
<text class="sec-text">联系电话:0731-88912301</text>
</view>
<view style="height: 40rpx;"></view>
</view>
</scroll-view>
<view class="page-footer">
<button class="agree-btn" @tap="agreeAndBack">已阅读并同意</button>
</view>
</view>
</template>
<script>
export default {
methods: {
goBack() {
uni.navigateBack()
},
agreeAndBack() {
const pages = getCurrentPages()
const prev = pages[pages.length - 2]
if (prev && prev.$vm) prev.$vm.agreed = true
uni.navigateBack()
}
}
}
</script>
<style lang="scss">
page {
background-color: #F5F5F5;
}
.content {
position: relative;
display: flex;
flex-direction: column;
height: 100vh;
height: 100dvh;
}
.page-header {
display: flex;
align-items: center;
padding: 20rpx 30rpx;
background: linear-gradient(135deg, #FD5401, #FF7A3D);
flex-shrink: 0;
}
.header-back {
font-size: 48rpx;
color: #fff;
line-height: 1;
margin-right: 16rpx;
padding: 0 10rpx;
}
.header-title {
font-size: 30rpx;
font-weight: 600;
color: #fff;
flex: 1;
}
.doc-scroll {
flex: 1;
overflow: hidden;
padding-bottom: 20rpx;
}
.doc-card {
background: #fff;
margin: 24rpx;
border-radius: 20rpx;
padding: 36rpx 30rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.05);
}
.doc-title {
font-size: 36rpx;
font-weight: 700;
color: #333;
text-align: center;
margin-bottom: 16rpx;
}
.doc-meta {
display: block;
font-size: 22rpx;
color: #999;
text-align: center;
line-height: 1.8;
}
.sec {
margin-top: 30rpx;
}
.sec-title {
display: block;
font-size: 28rpx;
font-weight: 700;
color: #FD5401;
margin-bottom: 10rpx;
}
.sec-text {
display: block;
font-size: 26rpx;
color: #555;
line-height: 1.7;
margin-bottom: 6rpx;
}
.page-footer {
flex-shrink: 0;
padding: 20rpx 30rpx 40rpx;
background: #fff;
border-top: 1rpx solid #f0f0f0;
}
.agree-btn {
width: 100%;
height: 88rpx;
line-height: 88rpx;
background: linear-gradient(135deg, #FD5401, #FF7A3D);
color: #fff;
font-size: 32rpx;
font-weight: 600;
border: none;
border-radius: 44rpx;
box-shadow: 0 4rpx 16rpx rgba(253, 84, 1, 0.3);
}
</style>