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