From 9a7501a19d677cc28afff33d9d85bd6e07a8ad93 Mon Sep 17 00:00:00 2001 From: lj7788 Date: Fri, 19 Dec 2025 15:52:01 +0800 Subject: [PATCH] =?UTF-8?q?BUG=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=94=A8=E6=88=B7=E9=9A=90=E7=A7=81=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/app.json | 3 +- miniprogram/pages/agreement/index.js | 75 +++++++++++++++ miniprogram/pages/agreement/index.json | 3 + miniprogram/pages/agreement/index.wxml | 121 +++++++++++++++++++++++++ miniprogram/pages/agreement/index.wxss | 119 ++++++++++++++++++++++++ miniprogram/pages/login/index.js | 22 +++++ miniprogram/pages/login/index.wxml | 15 ++- 7 files changed, 356 insertions(+), 2 deletions(-) create mode 100644 miniprogram/pages/agreement/index.js create mode 100644 miniprogram/pages/agreement/index.json create mode 100644 miniprogram/pages/agreement/index.wxml create mode 100644 miniprogram/pages/agreement/index.wxss diff --git a/miniprogram/app.json b/miniprogram/app.json index fef7706..6528c44 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -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": [ { diff --git a/miniprogram/pages/agreement/index.js b/miniprogram/pages/agreement/index.js new file mode 100644 index 0000000..89a4303 --- /dev/null +++ b/miniprogram/pages/agreement/index.js @@ -0,0 +1,75 @@ +// pages/agreement/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 返回按钮点击事件 + */ + goBack() { + wx.navigateBack({ + delta: 1 + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/agreement/index.json b/miniprogram/pages/agreement/index.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/agreement/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/agreement/index.wxml b/miniprogram/pages/agreement/index.wxml new file mode 100644 index 0000000..176eeca --- /dev/null +++ b/miniprogram/pages/agreement/index.wxml @@ -0,0 +1,121 @@ + + + + + 用户服务协议 + + + + + + 重要须知 + + 本协议是用户与产发工程数字管理平台(以下简称"本平台")就使用本平台服务所达成的协议。请用户在使用本平台服务前,仔细阅读并充分理解本协议的全部内容。如用户不同意本协议的任意内容,请勿使用本平台服务。用户使用本平台服务的行为将被视为同意接受本协议的全部约束。 + + + + + 一、协议范围 + + 本协议适用于产发工程数字管理平台小程序及其相关服务,包括但不限于工程管理、人员管理、安全检查、质量检查、进度管理等功能模块。 + + + + + 二、用户信息收集 + 2.1 收集的个人信息类型 + + 为向用户提供完整的服务功能,本平台需要收集以下类型的个人信息: + • 手机号码:用于用户注册、登录、身份验证和安全保护 + • 位置信息:用于工程定位、考勤打卡、安全监控等功能 + • 微信OpenID:用于微信小程序的用户身份识别 + • 用户姓名:用于用户身份标识 + • 身份证号码:用于实名认证和安全验证 + • 电子签名:用于文件签署和确认 + • 工种信息:用于工作分类和管理 + • 劳务队信息:用于组织管理 + + + + + + 三、个人信息使用 + + 本平台收集的个人信息将用于以下目的: + • 用户身份验证和账号安全保护 + • 提供工程管理、人员管理等核心功能 + • 处理用户的服务请求和业务流程 + • 向用户发送重要通知和提醒 + • 改善和优化平台服务体验 + • 遵守相关法律法规要求 + + + + + 四、个人信息存储 + + 用户个人信息将存储于中华人民共和国境内,存储期限为实现服务目的所必需的最短期限。用户注销账号时,本平台将删除相关个人信息。 + + + + + 五、个人信息保护 + + 本平台已采取符合业界标准的安全防护措施保护用户个人信息,包括加密技术、访问权限控制、定期安全检查等。 + + + + + 六、用户权利 + + 用户享有查询、更正、删除个人信息的权利,以及注销账号的权利。具体可通过联系客服行使相关权利。 + + + + + 七、第三方共享 + + 本平台承诺不会向任何第三方共享、转让用户个人信息,但在以下情况下除外: + • 根据用户的明确授权或指示 + • 根据法律法规要求 + • 为维护平台系统安全稳定运行所必需 + + + + + 八、协议变更 + + 本平台有权根据业务发展和法律法规变化对本协议进行修改。协议修改后,本平台将通过适当方式通知用户。 + + + + + 九、联系方式 + + 如用户对本协议有任何疑问或需要行使相关权利,请通过以下方式联系: + • 客服电话:029-36385609 + • 电子邮箱:jhncidg0718@jhncidg.com + • 联系地址:陕西省西咸新区泾河新城产业孵化中心一号楼A612室 + + + + + 十、生效日期 + + 本协议自用户首次使用本平台服务之日起生效。 + + + + + 用户确认 + + 我已阅读并理解本用户服务协议的全部内容,同意按照协议约定使用本平台服务。 + + + + + + + + + \ No newline at end of file diff --git a/miniprogram/pages/agreement/index.wxss b/miniprogram/pages/agreement/index.wxss new file mode 100644 index 0000000..581901f --- /dev/null +++ b/miniprogram/pages/agreement/index.wxss @@ -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; +} \ No newline at end of file diff --git a/miniprogram/pages/login/index.js b/miniprogram/pages/login/index.js index 2c49390..207b73d 100644 --- a/miniprogram/pages/login/index.js +++ b/miniprogram/pages/login/index.js @@ -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"); diff --git a/miniprogram/pages/login/index.wxml b/miniprogram/pages/login/index.wxml index 263dd1a..f9e0cd0 100644 --- a/miniprogram/pages/login/index.wxml +++ b/miniprogram/pages/login/index.wxml @@ -36,9 +36,22 @@ + + + + + + + + + - + 电脑端登陆 https://szgc.jhncidg.com