添加背景图片
This commit is contained in:
parent
7561634e99
commit
1e0e876243
127
App.vue
127
App.vue
@ -1,9 +1,38 @@
|
||||
<template>
|
||||
<view>
|
||||
<!-- 隐私条款弹窗 -->
|
||||
<view class="privacy-modal" v-if="showPrivacyModal">
|
||||
<view class="privacy-modal-mask"></view>
|
||||
<view class="privacy-modal-content">
|
||||
<view class="privacy-modal-title">隐私声明</view>
|
||||
<view class="privacy-modal-body">
|
||||
<text>请你务必审慎阅读、充分理解"隐私政策"各条款,包括但不限于:为了更好的向您提供</text>
|
||||
<text class="highlight">远程控制生产机器</text>
|
||||
<text>服务,我们需要收集您的</text>
|
||||
<text class="underline">设备标识</text>
|
||||
<text>、</text>
|
||||
<text class="underline">操作日志</text>
|
||||
<text>、</text>
|
||||
<text class="underline">机器运行参数</text>
|
||||
<text>等信息用于分析、优化应用性能。你可阅读</text>
|
||||
<text class="privacy-link" @click="openPrivacyPolicy">《隐私政策》</text>
|
||||
<text>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。</text>
|
||||
</view>
|
||||
<view class="privacy-modal-footer">
|
||||
<button class="privacy-confirm-btn" @click="agreePrivacy">同意</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
BASE_API_URL,
|
||||
BASE_IMG_URL
|
||||
} from "@/config.js";
|
||||
import { BASE_API_URL} from "@/config.js";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
showPrivacyModal: true, // 隐私条款弹窗显示状态
|
||||
}
|
||||
},
|
||||
onLaunch: function () {
|
||||
console.log("App Launch");
|
||||
uni.login({
|
||||
@ -21,6 +50,13 @@ export default {
|
||||
console.log("App Hide");
|
||||
},
|
||||
methods: {
|
||||
//隐私条款按钮
|
||||
openPrivacyPolicy(){
|
||||
// 跳转到隐私政策页面或打开网页
|
||||
uni.navigateTo({
|
||||
url: '/pages/privacy/index' // 如果有隐私政策页面
|
||||
});
|
||||
},
|
||||
async loginWithPhoneNumber (code) {
|
||||
try {
|
||||
const res = await uni.request({
|
||||
@ -41,6 +77,12 @@ export default {
|
||||
});
|
||||
}
|
||||
if (res.statusCode == 200) {
|
||||
// showPrivacyModal: true, //显示隐私条款
|
||||
if(res.data.type === 'register'){
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 存储用户信息到本地缓存(uni-app接口)
|
||||
uni.setStorageSync("userInfo", res.data);
|
||||
// uni.showToast({ title: "登录成功" });
|
||||
@ -55,4 +97,81 @@ export default {
|
||||
|
||||
<style>
|
||||
/*每个页面公共css */
|
||||
/* 隐私政策弹窗样式 */
|
||||
.privacy-modal {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.privacy-modal-mask {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.privacy-modal-content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 80%;
|
||||
max-width: 600rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 20rpx;
|
||||
padding: 40rpx;
|
||||
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.privacy-modal-title {
|
||||
font-size: 36rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.privacy-modal-body {
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
line-height: 1.6;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.privacy-link {
|
||||
color: #007AFF;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.privacy-modal-footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.privacy-confirm-btn {
|
||||
background-color: #1893d7;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 10rpx;
|
||||
padding: 20rpx 60rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* 重点内容加粗样式 */
|
||||
.highlight {
|
||||
font-weight: 700;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/* 下划线样式 */
|
||||
.underline {
|
||||
text-decoration: underline;
|
||||
color: #007AFF;
|
||||
}
|
||||
</style>
|
||||
|
193
pages/privacy/index.vue
Normal file
193
pages/privacy/index.vue
Normal file
@ -0,0 +1,193 @@
|
||||
<template>
|
||||
<view class="contai_warp">
|
||||
<view class="top_area_warp">
|
||||
<view class="top_status_area" :style="{ height: statusBarHeight + 'px' }"></view>
|
||||
<view class="top_nav_warp">
|
||||
<view class="back_icon" @click="goBack">
|
||||
<image :src="back" mode="aspectFit"></image>
|
||||
</view>
|
||||
<text>隐私条款</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="privacy-content">
|
||||
<view class="privacy-section">
|
||||
<view class="section-title">隐私声明</view>
|
||||
<view class="section-content">
|
||||
欢迎使用 [TotusController](以下简称 "本小程序")。本隐私声明旨在向您说明,在您使用本小程序提供的远程控制生产机器、数据获取与分析等服务时,我们如何收集、使用、存储、共享您的个人信息及机器相关数据,以及您享有的权利和保护措施。本声明适用于您与本小程序之间的所有交互行为,请您在使用本小程序前仔细阅读并理解本声明,您使用本小程序即视为您同意本声明的全部内容。
|
||||
</view>
|
||||
</view>
|
||||
<view class="privacy-section">
|
||||
<view class="section-title">一、信息收集</view>
|
||||
<view class="section-content">
|
||||
<view class="sub-title">用户注册信息:</view>
|
||||
<view class="section-content">当您注册本小程序时,为了完成注册流程、识别用户身份并保障您能正常登录和使用服务,我们将收集您的微信用户、设置的用户名及密码等信息。</view>
|
||||
<view class="sub-title">机器相关数据:</view>
|
||||
<view class="section-content">在您使用本小程序对生产机器进行远程控制的过程中,为了实现远程控制功能、对机器出现的问题进行分析判断以及为您提供下一步操作建议,我们将收集机器操作流程中的相关数据(包括但不限于机器运行参数、操作指令记录等)、图片和视频。 </view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="privacy-section">
|
||||
<view class="section-title">二、信息使用</view>
|
||||
<view class="section-content">
|
||||
<view class="sub-title">为用户提供服务:</view>
|
||||
<view class="section-content"> 我们收集的用户注册信息将用于您登录本小程序,验证您的身份,确保您能安全、顺利地远程控制生产机器。机器相关数据将用于实时反馈机器运行状态,以便您能及时了解机器情况并进行操作控制。</view>
|
||||
<view class="sub-title">设备生产商数据分析:</view>
|
||||
<view class="section-content"> 基于您的授权,我们将收集到的机器相关数据(不包含可直接识别您个人身份的信息)提供给设备生产商,用于设备生产商对机器的运行状况、常见问题等进行分析,从而改进机器性能、优化售后服务。</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="privacy-section">
|
||||
<view class="section-title">三、信息共享</view>
|
||||
<view class="section-content">
|
||||
我们仅会在获得您明确授权的前提下,将机器相关数据(去标识化处理后)共享给设备生产商,且共享仅限于设备生产商对机器进行分析以提升产品和服务质量的目的。
|
||||
<view class="section-content">
|
||||
我们会与设备生产商签订数据安全协议,要求其严格按照本声明及相关法律法规的规定处理所获得的数据,不得将数据用于其他任何未经您授权的用途。我们将对设备生产商的数据处理行为进行监督,确保您的数据安全。
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="privacy-section">
|
||||
<view class="section-title">四、用户权利</view>
|
||||
<view class="section-content">
|
||||
<view class="sub-title">查询与更正:</view>
|
||||
<view class="section-content">您有权查询您在本小程序中注册的个人信息以及您的机器所产生的相关数据。如发现信息存在错误,您可通过本小程序内的相关功能或联系客服进行更正。</view>
|
||||
<view class="sub-title">删除与撤回授权:</view>
|
||||
<view class="section-content"> 您有权要求删除您的个人信息及机器相关数据(法律法规另有规定的除外)。您也可以随时撤回对设备生产商获取数据进行分析的授权,撤回授权后,我们将停止向设备生产商共享您的新数据,但设备生产商在授权撤回前已依法处理的数据不受影响。</view> </view>
|
||||
</view>
|
||||
<view class="privacy-section">
|
||||
<view class="section-title">五、信息存储与保护</view>
|
||||
<view class="section-content">
|
||||
<view class="sub-title">存储地点与期限:</view>
|
||||
<view class="section-content">您的个人信息及机器相关数据将存储在位于中国境内的服务器上。我们将根据服务需要及法律法规的规定,合理确定数据的存储期限。超出存储期限后,我们将对您的数据进行删除或匿名化处理。</view>
|
||||
<view class="sub-title">保护措施:</view>
|
||||
<view class="section-content"> 我们采用加密技术、访问控制、安全审计等多种安全技术和管理措施,保护您的信息免受未授权访问、使用、披露、修改或损坏。同时,我们会对员工进行数据安全培训,严格限制数据访问权限,确保数据安全。</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="privacy-section">
|
||||
<view class="section-title">六、第三方服务</view>
|
||||
<view class="section-content">
|
||||
本小程序可能会包含第三方服务的链接或接口(如支付服务、地图服务等)。这些第三方服务有其独立的隐私政策,我们不对第三方的隐私处理行为负责。建议您在使用第三方服务前,仔细阅读其隐私政策。
|
||||
</view>
|
||||
</view>
|
||||
<view class="privacy-section">
|
||||
<view class="section-title">七、声明的更新</view>
|
||||
<view class="section-content">
|
||||
我们可能会根据法律法规的变化、服务功能的调整等情况对本隐私声明进行更新。更新后的声明将在本小程序内进行公告,公告发布后即生效。请您定期查阅本声明,了解最新的隐私保护措施。
|
||||
</view>
|
||||
</view>
|
||||
<view class="privacy-section">
|
||||
<view class="section-content date-info">
|
||||
[发布日期:2025 年 7 月 25 日]
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import {BASE_IMG_URL} from "@/config.js";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
back: BASE_IMG_URL + "/minePage/back.png", //返回图标
|
||||
statusBarHeight: 0,
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
const systemInfo = wx.getSystemInfoSync();
|
||||
this.statusBarHeight = systemInfo.statusBarHeight;
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
uni.navigateBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.contai_warp {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-family: PingFang SC, PingFang SC !important;
|
||||
min-height: 100vh;
|
||||
background-color: #f1f6fc;
|
||||
}
|
||||
|
||||
/* Top Navigation Styles */
|
||||
.top_area_warp {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
.top_status_area {
|
||||
width: 100%;
|
||||
}
|
||||
.top_nav_warp {
|
||||
width: 100%;
|
||||
height: 88rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
}
|
||||
.back_icon {
|
||||
position: absolute;
|
||||
left: 20rpx;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
.back_icon image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.privacy-content {
|
||||
padding: 30rpx;
|
||||
}
|
||||
|
||||
.privacy-section {
|
||||
background-color: #fff;
|
||||
border-radius: 15rpx;
|
||||
padding: 30rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.section-content {
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
line-height: 1.6;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.sub-title {
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin: 15rpx 0 10rpx 0;
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
.sub-content {
|
||||
margin-top: 15rpx;
|
||||
padding-left: 20rpx;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.date-info {
|
||||
text-align: center;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
margin-top: 10rpx;
|
||||
text-indent: 0;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue
Block a user