Files
gjt_mini/pages/login/login.vue
2026-01-16 10:36:49 +08:00

346 lines
13 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="content">
<u-loading-page bg-color="#f0f5ff" :loading="loading"></u-loading-page>
<!-- 顶部Logo区域 -->
<view class="header">
<image class="logo" src="/static/logo.png" mode="aspectFit"></image>
<view class="company-name">广州开发区交通投资集团有限公司</view>
<view class="company-text">广州交通投资集团 氢能车辆运营监控系统</view>
</view>
<!-- 登录卡片 -->
<view class="login-card">
<view class="form-container">
<login-user></login-user>
</view>
</view>
<view class="agreement-section">
<checkbox-group @change="changeCheck">
<checkbox class="checkbox" :checked="showAgreement">
<view class="label">
阅读并同意<view class="text_link" @tap.stop="privatyShow = true"
>用户服务协议隐私政策</view
>
</view>
</checkbox>
</checkbox-group>
</view>
<!-- <u-popup :show="privatyShow" mode="bottom" @close="privatyShow = false">
<scroll-view scroll-y="true" style="height: 95vh"> -->
<view class="warning-tip">此小程序仅限氢能车辆运营方内部人员使用</view>
<u-popup
:show="privatyShow"
mode="bottom"
@close="privatyShow = false"
round="24"
>
<scroll-view scroll-y="true" style="height: 90vh" class="popup-content">
<view class="content">
<view class="popup-header">
<view class="popup-title">用户服务协议和隐私政策</view>
<view class="close-btn" @tap="privatyShow = false"></view>
</view>
<view class="policy-content">
<view class="section-title">概述</view>
<view class="section-text">
本小程序是由羚牛氢能科技上海有限公司代为开发运营的一款产品以下简称我们帮助解决用户开通搭建小程序公众号网站方面遇到的问题可以达到快速上线的目的我们深知个人信息对您而言的重要性也感谢您对我们的信任我们将通过本政策向您说明互助文档会如何收集存储保护使用及对外提供您的信息并说明您享有的权利其中要点如下
</view>
<view class="point"
>1.
为了便于您了解您在使用我们的服务时我们需要收集的信息类型与用途我们将结合具体服务向您逐一说明</view
>
<view class="point"
>2.
为了向您提供服务所需我们会按照合法正当必要的原则收集您的信息</view
>
<view class="point"
>3.
如果为了向您提供服务而需要将您的信息共享至第三方我们将评估该第三方收集信息的合法性正当性必要性我们将要求第三方对您的信息采取保护措施并严格遵守相关法律法规与监管要求另外我们会按照法律法规及国家标准的要求以确认协议具体场景下的文案确认弹窗提示等形式征得您的同意或确认第三方已经征得您的同意</view
>
<view class="section-title">我们如何收集信息</view>
<view class="section-text">
在您使用互助文档以下各项业务功能以下简称"服务"的过程中我们需要收集您的一些信息用以向您提供服务提升我们的服务质量保障您的账户和资金安全以及符合国家法律法规及监管规定
</view>
<view class="point"
>1.
依据法律法规及监管规定进行实名制管理在您注册互助文档账户或使用互助文档服务时您需提供手机号码或者第三方账号登陆信息作为账户登录名</view
>
<view class="point">2. 身份验证</view>
<view class="sub-point"
>1登录验证为了让您更安全便捷地登录互助文档我们提供自动登陆服务您也可以选择密码登录短信验证码登录等其他方式</view
>
<view class="sub-point"
>2重要操作行为验证为了保障您的账户安全在您进行一些重要的账户操作时例如查看收藏下载应用内资料内容时我们需要验证您的身份为此您可能需向第三方安全服务提供商提交身份验证信息如您不同意提供前述信息您将无法完成特定操作但不影响您使用我们提供的其他服务</view
>
<view class="point">3. 获取外部存储权限获取设备ID, MAC地址</view>
<view class="section-text"
>获取外部存储权限用于记录登录同意的信息下次登录不用重新选择获取设备IDMAC地址设备ID用于记录用户的唯一性MAC地址获取是用于确定用户是属于真实用户</view
>
<view class="section-text"
>本程序嵌入了百度插移动统计分析sdk百度移动SDK隐私政策说明具体隐私政策准则按百度移动SDK隐私为准</view
>
<view class="point">4. 其他</view>
<view class="section-text"
>请您理解我们向您提供的服务是不断更新和发展的如您选择使用了前述说明当中尚未涵盖的其他服务基于该服务我们需要收集您的信息的我们会通过页面提示交互流程协议约定的方式另行向您说明信息收集的范围与目的并征得您的同意我们会按照本政策以及相应的用户协议约定使用存储对外提供及保护您的信息如您选择不提供前述信息您可能无法使用某项或某部分服务但不影响您使用我们提供的其他服务此外第三方主体可能会通过互助文档APP向您提供服务当您进入第三方主体运营的服务页面时请注意相关服务由第三方主体向您提供涉及到第三方主体向您收集个人信息的建议您仔细查看第三方主体的隐私政策或协议约定</view
>
<view class="section-title">我们如何存储和保护信息</view>
<view class="point"
>1.
我们在中华人民共和国境内收集和产生的个人信息将存储在中华人民共和国境内如部分服务涉及跨境业务我们需要向境外机构传输境内收集的相关个人信息的我们会按照法律法规和相关监管部门的规定执行向您说明个人信息出境的目的以及涉及的个人信息类型征得您的同意并通过签订协议现场核查等有效措施要求境外机构为所获得的您的个人信息保密我们仅在本政策所述目的所必需期间和法律法规及监管规定的时限内保存您的个人信息</view
>
<view class="point"
>2.
为了保障您的信息安全我们在收集您的信息后将采取各种合理必要的措施保护您的信息例如在技术开发环境当中我们仅使用经过去标识化处理的信息进行统计分析对外提供研究报告时我们将对报告中所包含的信息进行去标识化处理我们会将去标识化后的信息与可用于恢复识别个人的信息分开存储确保在针对去标识化信息的后续处理中不重新识别个人</view
>
<view class="point"
>3.
我们承诺我们将使信息安全保护达到业界领先的安全水平为保障您的信息安全我们致力于使用各种安全技术及配套的管理体系来尽量降低您的信息被泄露毁损误用非授权访问非授权披露和更改的风险例如通过网络安全层软件SSL进行加密传输信息加密存储严格限制数据中心的访问传输和存储个人敏感信息时我们将采用加密权限控制去标识化等安全措施</view
>
<view class="point"
>4.
请您务必妥善保管好您的互助文档登录名及其他身份要素您在使用互助文档服务时我们会通过您的登录名及其他身份要素来识别您的身份一旦您泄漏了前述信息您可能会蒙受损失并可能对您产生不利如您发现互助文档登录名及/或其他身份要素可能或已经泄露时请您立即和我们取得联系以便我们及时采取相应措施以避免或降低相关损失</view
>
<view class="point"
>5.
在您终止使用互助文档服务后我们会停止对您的信息的收集和使用法律法规或监管部门另有规定的除外如我们停止运营我们将及时停止收集您个人信息的活动将停止运营的通知以逐一送达或公告的形式通知您并对所持有的您的个人信息进行删除或匿名化处理</view
>
</view>
</view>
</scroll-view>
</u-popup>
</view>
</template>
<script>
import loginUser from "./user-login/index.vue";
export default {
options: {
styleIsolation: "shared",
},
components: {
loginUser,
},
data() {
return {
loading: false,
privatyShow: false,
showAgreement: false,
};
},
methods: {
changeCheck(e) {
this.showAgreement = e.detail.value.length > 0;
},
},
onReady() {
const tempIds = ["7NTdeu2Sft31k4wtCGVEjvfvvG3MDxAtUW3g17vv48E"];
wx.getSetting({
withSubscriptions: true,
success(res) {
if (res.subscriptionsSetting[tempIds[0]] !== "accept") {
uni.showModal({
title: "授权提示",
content: "同意订阅通知消息吗?",
success: (res) => {
if (res.confirm) {
uni.requestSubscribeMessage({
tmplIds: tempIds,
success(res) {
if (res[tempIds[0]] === "accept") {
console.log("用户同意订阅");
}
},
});
}
},
});
}
},
});
},
};
</script>
<style lang="less" scoped>
.content {
display: flex;
flex-direction: column;
min-height: 100vh;
background: #ebefed;
padding: 0;
// background: linear-gradient(0deg, #b6e2fb, #2890e5);
position: relative;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, sans-serif;
}
.header {
padding: 80rpx 40rpx 60rpx;
text-align: center;
}
.logo {
width: 240rpx;
height: 240rpx;
margin-bottom: 40rpx;
}
.company-name {
margin-bottom: 20rpx;
font-weight: 600;
font-size: 32rpx;
color: #327c4e;
text-align: center;
font-style: normal;
text-transform: none;
}
.company-text {
font-weight: 400;
font-size: 24rpx;
color: rgba(50, 124, 78, 0.4);
text-align: center;
font-style: normal;
text-transform: none;
}
.app-name {
font-size: 28rpx;
color: rgba(255, 255, 255, 0.95);
font-weight: 400;
}
.warning-tip {
font-weight: 400;
font-size: 28rpx;
color: rgba(50, 124, 78, 0.75);
text-align: left;
font-style: normal;
text-align: center;
text-transform: none;
position: absolute;
width: 100%;
bottom: 120rpx;
}
.login-card {
margin: 0 40rpx;
background: #ffffff;
box-shadow: 0rpx 8rpx 4rpx 0rpx rgba(50, 124, 78, 0.05);
border-radius: 20rpx 20rpx 20rpx 20rpx;
padding: 60rpx 50rpx;
backdrop-filter: blur(10rpx);
}
.form-container {
width: 100%;
}
.agreement-section {
margin: 124rpx 40rpx 20rpx;
}
.checkbox {
display: flex;
align-items: flex-start;
font-size: 26rpx;
/deep/ .wx-checkbox-input {
width: 36rpx !important;
height: 36rpx !important;
border-radius: 50% !important;
}
}
.label {
display: flex;
align-items: center;
padding-left: 16rpx;
padding-top: 4rpx;
color: #000;
white-space: nowrap;
}
.text_link {
color: #327c4e;
margin: 0 4rpx;
text-decoration: underline;
display: inline-block;
position: relative;
z-index: 10;
}
.content {
padding: 10px;
}
.popup-header {
display: flex;
align-items: center;
justify-content: center;
position: relative;
padding: 40rpx 0;
border-bottom: 1px solid #e2e8f0;
}
.popup-title {
font-size: 36rpx;
font-weight: 600;
color: #2d3748;
}
.close-btn {
position: absolute;
right: 40rpx;
font-size: 48rpx;
color: #a0aec0;
width: 80rpx;
height: 80rpx;
display: flex;
align-items: center;
justify-content: center;
}
.policy-content {
padding: 40rpx;
max-width: 100%;
box-sizing: border-box;
}
.section-title {
font-size: 32rpx;
font-weight: 600;
color: #2d3748;
margin-top: 40rpx;
margin-bottom: 20rpx;
}
.section-text {
font-size: 28rpx;
color: #4a5568;
line-height: 1.8;
margin-bottom: 20rpx;
text-align: justify;
}
.point {
font-size: 28rpx;
color: #4a5568;
line-height: 1.8;
margin-bottom: 16rpx;
padding-left: 24rpx;
text-align: justify;
}
.sub-point {
font-size: 26rpx;
color: #718096;
line-height: 1.8;
margin-bottom: 12rpx;
padding-left: 48rpx;
text-align: justify;
}
</style>