BUG修改,增加用户隐私协议

main
lj7788 2025-12-19 15:52:01 +08:00
parent 003715b55d
commit 9a7501a19d
7 changed files with 356 additions and 2 deletions

View File

@ -32,7 +32,8 @@
"pages/project_approve/approveChecking/index",
"pages/project_approve/approveMaterialSeal/index",
"pages/project_approve/approveMeasure/index",
"pages/project_approve/approveFunVerify/index"
"pages/project_approve/approveFunVerify/index",
"pages/agreement/index"
],
"subpackages": [
{

View File

@ -0,0 +1,75 @@
// pages/agreement/index.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 返回按钮点击事件
*/
goBack() {
wx.navigateBack({
delta: 1
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,121 @@
<!-- 用户服务协议页面 -->
<view class="agreement-container">
<!-- 协议标题 -->
<view class="agreement-title">
<text>用户服务协议</text>
</view>
<!-- 协议内容 -->
<scroll-view class="agreement-content" scroll-y="true">
<view class="content-section">
<text class="section-title">重要须知</text>
<text class="section-content">
本协议是用户与产发工程数字管理平台(以下简称"本平台")就使用本平台服务所达成的协议。请用户在使用本平台服务前,仔细阅读并充分理解本协议的全部内容。如用户不同意本协议的任意内容,请勿使用本平台服务。用户使用本平台服务的行为将被视为同意接受本协议的全部约束。
</text>
</view>
<view class="content-section">
<text class="section-title">一、协议范围</text>
<text class="section-content">
本协议适用于产发工程数字管理平台小程序及其相关服务,包括但不限于工程管理、人员管理、安全检查、质量检查、进度管理等功能模块。
</text>
</view>
<view class="content-section">
<text class="section-title">二、用户信息收集</text>
<text class="section-subtitle">2.1 收集的个人信息类型</text>
<text class="section-content">
为向用户提供完整的服务功能,本平台需要收集以下类型的个人信息:
• 手机号码:用于用户注册、登录、身份验证和安全保护
• 位置信息:用于工程定位、考勤打卡、安全监控等功能
• 微信OpenID用于微信小程序的用户身份识别
• 用户姓名:用于用户身份标识
• 身份证号码:用于实名认证和安全验证
• 电子签名:用于文件签署和确认
• 工种信息:用于工作分类和管理
• 劳务队信息:用于组织管理
</text>
</view>
<view class="content-section">
<text class="section-title">三、个人信息使用</text>
<text class="section-content">
本平台收集的个人信息将用于以下目的:
• 用户身份验证和账号安全保护
• 提供工程管理、人员管理等核心功能
• 处理用户的服务请求和业务流程
• 向用户发送重要通知和提醒
• 改善和优化平台服务体验
• 遵守相关法律法规要求
</text>
</view>
<view class="content-section">
<text class="section-title">四、个人信息存储</text>
<text class="section-content">
用户个人信息将存储于中华人民共和国境内,存储期限为实现服务目的所必需的最短期限。用户注销账号时,本平台将删除相关个人信息。
</text>
</view>
<view class="content-section">
<text class="section-title">五、个人信息保护</text>
<text class="section-content">
本平台已采取符合业界标准的安全防护措施保护用户个人信息,包括加密技术、访问权限控制、定期安全检查等。
</text>
</view>
<view class="content-section">
<text class="section-title">六、用户权利</text>
<text class="section-content">
用户享有查询、更正、删除个人信息的权利,以及注销账号的权利。具体可通过联系客服行使相关权利。
</text>
</view>
<view class="content-section">
<text class="section-title">七、第三方共享</text>
<text class="section-content">
本平台承诺不会向任何第三方共享、转让用户个人信息,但在以下情况下除外:
• 根据用户的明确授权或指示
• 根据法律法规要求
• 为维护平台系统安全稳定运行所必需
</text>
</view>
<view class="content-section">
<text class="section-title">八、协议变更</text>
<text class="section-content">
本平台有权根据业务发展和法律法规变化对本协议进行修改。协议修改后,本平台将通过适当方式通知用户。
</text>
</view>
<view class="content-section">
<text class="section-title">九、联系方式</text>
<text class="section-content">
如用户对本协议有任何疑问或需要行使相关权利,请通过以下方式联系:
• 客服电话029-36385609
• 电子邮箱jhncidg0718@jhncidg.com
• 联系地址陕西省西咸新区泾河新城产业孵化中心一号楼A612室
</text>
</view>
<view class="content-section">
<text class="section-title">十、生效日期</text>
<text class="section-content">
本协议自用户首次使用本平台服务之日起生效。
</text>
</view>
<view class="content-section">
<text class="section-title">用户确认</text>
<text class="section-content">
我已阅读并理解本用户服务协议的全部内容,同意按照协议约定使用本平台服务。
</text>
</view>
</scroll-view>
<!-- 返回按钮 -->
<view class="agreement-footer">
<button class="back-btn" bindtap="goBack">返回</button>
</view>
</view>

View File

@ -0,0 +1,119 @@
/* pages/agreement/index.wxss */
.agreement-container {
display: flex;
flex-direction: column;
min-height: 100vh;
background: linear-gradient(180deg, #f8f9ff 0%, #ffffff 100%);
}
/* 协议标题 */
.agreement-title {
padding: 40rpx 30rpx 20rpx;
text-align: center;
}
.agreement-title text {
font-size: 36rpx;
font-weight: 700;
color: #191d28;
line-height: 50rpx;
}
/* 协议内容 */
.agreement-content {
flex: 1;
padding: 20rpx 30rpx 20rpx;
background: #ffffff;
box-shadow: 0 -10rpx 30rpx rgba(0, 0, 0, 0.05);
width: calc(100% - 60rpx);
}
.content-section {
margin-bottom: 30rpx;
padding-bottom: 20rpx;
border-bottom: 1rpx solid #e8eaf6;
}
.content-section:last-child {
border-bottom: none;
margin-bottom: 0;
}
.section-title {
display: block;
font-size: 32rpx;
font-weight: 600;
color: #191d28;
margin-bottom: 15rpx;
line-height: 44rpx;
}
.section-subtitle {
display: block;
font-size: 28rpx;
font-weight: 600;
color: #3a3f58;
margin: 20rpx 0 10rpx;
line-height: 40rpx;
}
.section-content {
display: block;
font-size: 26rpx;
color: #4a5474;
line-height: 40rpx;
margin-bottom: 8rpx;
text-align: justify;
font-weight: normal; /* 明确设置字体粗细 */
-webkit-font-smoothing: antialiased; /* 禁用iOS字体优化 */
-moz-osx-font-smoothing: grayscale; /* 禁用Firefox字体优化 */
}
.section-content:first-letter {
font-size: 32rpx;
font-weight: 600;
}
/* 返回按钮 */
.agreement-footer {
padding: 30rpx;
background: #ffffff;
}
.back-btn {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #ffffff;
border: none;
border-radius: 50rpx;
font-size: 30rpx;
box-shadow: 0 10rpx 30rpx rgba(102, 126, 234, 0.4);
}
.back-btn:active {
opacity: 0.9;
transform: translateY(1rpx);
}
/* 响应式调整 */
@media (max-width: 375px) {
.agreement-title text {
font-size: 32rpx;
}
.section-title {
font-size: 30rpx;
}
.section-content {
font-size: 24rpx;
line-height: 36rpx;
}
}
/* 滚动条样式 */
::-webkit-scrollbar {
width: 0;
height: 0;
display: none;
}

View File

@ -21,6 +21,7 @@ Page({
code: '',
uuid: '',
usercode: '',
agreementChecked: false, // 用户协议确认状态
},
//获取填写的账号信息
@ -45,6 +46,20 @@ Page({
})
},
// 用户协议确认状态改变
onAgreementChange(e) {
this.setData({
agreementChecked: e.detail.value.length > 0
});
},
// 显示用户服务协议
showAgreement() {
wx.navigateTo({
url: '../agreement/index',
})
},
//获取填写的密码信息
code: function (even) {
this.setData({
@ -201,6 +216,13 @@ Page({
app.toast("验证码不能为空");
return;
}
// 检查用户是否同意服务协议
if (!this.data.agreementChecked) {
app.toast("请先阅读并同意用户服务协议");
return;
}
let openId = that.data.openId
if (openId == "") {
openId = wx.getStorageSync("openId");

View File

@ -36,9 +36,22 @@
</van-col>
</van-row>
</view>
<!-- 用户协议确认 -->
<view class="agreement-section">
<view class="agreement-checkbox">
<checkbox-group bindchange="onAgreementChange">
<label class="agreement-label">
<checkbox value="agree" checked="{{agreementChecked}}" color="#667eea" style="position:relative;top:-2px;"/>
<text class="agreement-text">我已阅读并同意</text>
<text class="agreement-link" bindtap="showAgreement" style="color:#667eea">《用户服务协议》</text>
</label>
</checkbox-group>
</view>
</view>
</view>
<view class="login_btn" bindtap="userLogin">
<view class="login_btn" bindtap="userLogin" style="opacity: {{agreementChecked ? 1 : 0.5}}">
确 定
</view>
<view class="pc">电脑端登陆 https://szgc.jhncidg.com</view>