diff --git a/app.js b/app.js
index 7da5041..0a3ee86 100644
--- a/app.js
+++ b/app.js
@@ -10,7 +10,6 @@ App({
}
this.globalData.appId = appId
- const request = require('./utils/request.js')
this.globalData.servicesReady = new Promise((resolve) => {
API.resource.getServices().then((data) => {
this.globalData.services = data.data.services
@@ -20,6 +19,16 @@ App({
resolve([])
})
})
+
+ this.globalData.agreementReady = new Promise((resolve) => {
+ API.resource.getAgreement().then((data) => {
+ this.globalData.agreement = data.data.agreement
+ resolve(data.data.agreement)
+ }).catch((err) => {
+ console.error('获取服务协议失败', err)
+ resolve(null)
+ })
+ })
},
onShow(options) {
@@ -76,5 +85,6 @@ App({
user: null,
chatSocket: null,
services: [],
+ agreement: null,
}
})
\ No newline at end of file
diff --git a/app.json b/app.json
index 50a18df..90769b8 100644
--- a/app.json
+++ b/app.json
@@ -1,16 +1,18 @@
{
"pages": [
"pages/home/index",
- "pages/mine/mine",
"pages/ai/aichat",
"pages/escort/itemdetail",
"pages/escort/itemlist",
- "pages/escort/recordlist"
+ "pages/escort/recordlist",
+ "pages/escort/agreement",
+ "pages/mine/mine",
+ "pages/mine/about"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#FFFFFF",
- "navigationBarTitleText": "陪诊助手",
+ "navigationBarTitleText": "暖橙陪诊",
"navigationBarTextStyle": "black"
},
"tabBar": {
diff --git a/pages/escort/agreement.js b/pages/escort/agreement.js
new file mode 100644
index 0000000..6032fe1
--- /dev/null
+++ b/pages/escort/agreement.js
@@ -0,0 +1,124 @@
+const app = getApp()
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ agreement: null,
+ loading: true
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ const agreement = app.globalData.agreement
+ if (agreement) {
+ this.setData({
+ agreement: agreement,
+ loading: false
+ })
+ } else {
+ this.setData({ loading: false })
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+ return {
+ title: '暖橙陪诊服务协议',
+ path: '/pages/escort/agreement'
+ }
+ },
+
+ // 复制客服邮箱
+ onCopyEmail() {
+ wx.setClipboardData({
+ data: 'service@huashengtec.com',
+ success: () => {
+ wx.showToast({
+ title: '邮箱已复制',
+ icon: 'success',
+ duration: 1500
+ })
+ },
+ fail: () => {
+ wx.showToast({
+ title: '复制失败',
+ icon: 'none',
+ duration: 1500
+ })
+ }
+ })
+ },
+
+ // 拨打客服电话
+ onCallPhone() {
+ wx.makePhoneCall({
+ phoneNumber: '18618162956',
+ fail: () => {
+ wx.showToast({
+ title: '拨号失败',
+ icon: 'none',
+ duration: 1500
+ })
+ }
+ })
+ },
+
+ // 处理联系人行点击
+ onContactTap(e) {
+ const action = e.currentTarget.dataset.action
+ if (action === 'copyEmail') {
+ this.onCopyEmail()
+ } else if (action === 'callPhone') {
+ this.onCallPhone()
+ }
+ }
+})
diff --git a/pages/escort/agreement.json b/pages/escort/agreement.json
new file mode 100644
index 0000000..fe5c1a7
--- /dev/null
+++ b/pages/escort/agreement.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "陪诊服务协议",
+ "usingComponents": {
+ "t-icon": "tdesign-miniprogram/icon/icon"
+ }
+}
diff --git a/pages/escort/agreement.wxml b/pages/escort/agreement.wxml
new file mode 100644
index 0000000..5126b7a
--- /dev/null
+++ b/pages/escort/agreement.wxml
@@ -0,0 +1,62 @@
+
+
+ 加载中...
+
+
+
+
+
+
+ {{item.number}}
+ {{item.title}}
+
+
+
+
+
+
+ {{subItem}}
+
+
+
+
+
+
+
+
+ {{cell}}
+
+
+
+
+
+
+ {{item.content}}
+
+
+
+
+
+
+
+ {{contact.text}}
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/escort/agreement.wxss b/pages/escort/agreement.wxss
new file mode 100644
index 0000000..f3e6119
--- /dev/null
+++ b/pages/escort/agreement.wxss
@@ -0,0 +1,264 @@
+/* pages/escort/agreement.wxss */
+page {
+ background-color: #FAF6F1;
+}
+
+.container {
+ min-height: 100vh;
+ padding-bottom: 48rpx;
+}
+
+/* 顶部标题区 */
+.header-section {
+ background: linear-gradient(180deg, #FFFFFF 0%, #FFF8F0 100%);
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding: 48rpx 32rpx 40rpx;
+}
+
+.header-icon-wrap {
+ width: 96rpx;
+ height: 96rpx;
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ box-shadow: 0 8rpx 24rpx rgba(212, 168, 83, 0.25);
+}
+
+.header-icon {
+ color: #FFFFFF;
+}
+
+.header-title {
+ font-size: 40rpx;
+ font-weight: 700;
+ color: #1F2937;
+ margin-top: 24rpx;
+}
+
+.header-subtitle {
+ font-size: 26rpx;
+ color: #9CA3AF;
+ margin-top: 12rpx;
+}
+
+/* 协议内容卡片 */
+.agreement-card {
+ background: #FFFFFF;
+ padding: 32rpx;
+}
+
+/* 章节 */
+.section {
+ margin-bottom: 40rpx;
+}
+
+.section:last-child {
+ margin-bottom: 0;
+}
+
+.section-title {
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+ font-weight: 600;
+ color: #1F2937;
+ margin-bottom: 20rpx;
+}
+
+.section-number {
+ width: 40rpx;
+ height: 40rpx;
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
+ color: #FFFFFF;
+ font-size: 24rpx;
+ font-weight: 600;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 16rpx;
+ flex-shrink: 0;
+}
+
+.section-content {
+ padding-left: 36rpx;
+}
+
+.paragraph {
+ display: block;
+ font-size: 28rpx;
+ color: #4B5563;
+ line-height: 1.8;
+}
+
+/* 列表项 */
+.list-item {
+ display: flex;
+ align-items: flex-start;
+ margin-bottom: 16rpx;
+}
+
+.list-item:last-child {
+ margin-bottom: 0;
+}
+
+.list-dot {
+ width: 12rpx;
+ height: 12rpx;
+ background: #D4A853;
+ border-radius: 50%;
+ margin-top: 14rpx;
+ margin-right: 16rpx;
+ flex-shrink: 0;
+}
+
+.list-text {
+ font-size: 28rpx;
+ color: #4B5563;
+ line-height: 1.7;
+ flex: 1;
+}
+
+/* 流程步骤 */
+.flow-steps {
+ display: flex;
+ flex-direction: column;
+}
+
+.flow-step {
+ display: flex;
+ align-items: flex-start;
+}
+
+.step-badge {
+ width: 44rpx;
+ height: 44rpx;
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
+ color: #FFFFFF;
+ font-size: 24rpx;
+ font-weight: 600;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+ margin-right: 20rpx;
+}
+
+.step-info {
+ flex: 1;
+ padding-bottom: 8rpx;
+}
+
+.step-title {
+ display: block;
+ font-size: 28rpx;
+ font-weight: 600;
+ color: #1F2937;
+ margin-bottom: 4rpx;
+}
+
+.step-desc {
+ display: block;
+ font-size: 26rpx;
+ color: #6B7280;
+ line-height: 1.5;
+}
+
+.step-line {
+ width: 2rpx;
+ height: 40rpx;
+ background: #E5E7EB;
+ margin-left: 21rpx;
+ margin-top: 4rpx;
+ margin-bottom: 4rpx;
+}
+
+/* 联系信息 */
+.contact-info {
+ margin-top: 20rpx;
+ background: #FAF6F1;
+ border-radius: 16rpx;
+ padding: 24rpx;
+}
+
+.contact-row {
+ display: flex;
+ align-items: center;
+ margin-bottom: 16rpx;
+}
+
+.contact-row:last-child {
+ margin-bottom: 0;
+}
+
+.contact-icon {
+ color: #D4A853;
+ margin-right: 12rpx;
+ flex-shrink: 0;
+}
+
+.contact-text {
+ font-size: 28rpx;
+ color: #4B5563;
+}
+
+/* 退订违约金表格 */
+.refund-table {
+ margin-top: 20rpx;
+ background: #FAF6F1;
+ border-radius: 16rpx;
+ overflow: hidden;
+ border: 1rpx solid #F0E6D8;
+}
+
+.table-row {
+ display: flex;
+ align-items: center;
+ padding: 20rpx 24rpx;
+ border-bottom: 1rpx solid #F0E6D8;
+}
+
+.table-row:last-child {
+ border-bottom: none;
+}
+
+.table-row.header {
+ background: #FFF8F0;
+}
+
+.table-row.header .table-cell {
+ font-weight: 600;
+ color: #1F2937;
+}
+
+.table-cell {
+ flex: 1;
+ font-size: 26rpx;
+ color: #4B5563;
+ line-height: 1.5;
+ text-align: center;
+}
+
+.table-cell:first-child {
+ flex: 1.2;
+}
+
+/* 底部信息 */
+.footer-section {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 16rpx;
+ padding: 0 32rpx;
+}
+
+.footer-text {
+ font-size: 24rpx;
+ color: #9CA3AF;
+ line-height: 1.6;
+}
diff --git a/pages/escort/itemdetail.json b/pages/escort/itemdetail.json
index 8dbc89c..bb39b10 100644
--- a/pages/escort/itemdetail.json
+++ b/pages/escort/itemdetail.json
@@ -2,5 +2,5 @@
"usingComponents": {
"t-icon": "tdesign-miniprogram/icon/icon"
},
- "navigationBarTitleText": "服务详情"
+ "navigationBarTitleText": ""
}
diff --git a/pages/escort/itemdetail.wxml b/pages/escort/itemdetail.wxml
index 2d977e8..6b00284 100644
--- a/pages/escort/itemdetail.wxml
+++ b/pages/escort/itemdetail.wxml
@@ -71,7 +71,7 @@
合计:
¥{{totalPrice}}
-
+
@@ -80,7 +80,7 @@
diff --git a/pages/escort/itemdetail.wxss b/pages/escort/itemdetail.wxss
index 34dc74b..14319c1 100644
--- a/pages/escort/itemdetail.wxss
+++ b/pages/escort/itemdetail.wxss
@@ -52,7 +52,7 @@ page {
}
.service-tag {
- background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
color: #FFFFFF;
font-size: 22rpx;
padding: 4rpx 16rpx;
@@ -66,13 +66,13 @@ page {
.price-symbol {
font-size: 28rpx;
- color: #FF9B33;
+ color: #D4A853;
font-weight: 600;
}
.service-price {
font-size: 44rpx;
- color: #FF9B33;
+ color: #D4A853;
font-weight: 700;
}
@@ -107,7 +107,7 @@ page {
}
.card-icon {
- color: #FF9B33;
+ color: #D4A853;
margin-right: 12rpx;
}
@@ -137,7 +137,7 @@ page {
.flow-number {
width: 44rpx;
height: 44rpx;
- background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
color: #FFFFFF;
font-size: 24rpx;
font-weight: 600;
@@ -183,7 +183,7 @@ page {
.notice-dot {
width: 12rpx;
height: 12rpx;
- background: #FF9B33;
+ background: #D4A853;
border-radius: 50%;
margin-top: 12rpx;
flex-shrink: 0;
@@ -230,17 +230,17 @@ page {
.total-price {
font-size: 40rpx;
- color: #FF9B33;
+ color: #D4A853;
font-weight: 700;
}
.order-btn {
- background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
color: #FFFFFF;
font-size: 30rpx;
font-weight: 600;
padding: 24rpx 56rpx;
- border-radius: 40rpx;
+ border-radius: 20rpx;
border: none;
line-height: 1.5;
}
@@ -352,7 +352,7 @@ page {
.order-service-price {
display: block;
font-size: 32rpx;
- color: #FF9B33;
+ color: #D4A853;
font-weight: 700;
}
@@ -475,12 +475,12 @@ page {
.popup-price-value {
font-size: 40rpx;
- color: #FF9B33;
+ color: #D4A853;
font-weight: 700;
}
.popup-submit-btn {
- background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
color: #FFFFFF;
font-size: 30rpx;
font-weight: 600;
diff --git a/pages/escort/itemlist.js b/pages/escort/itemlist.js
index 2f062e2..39bda76 100644
--- a/pages/escort/itemlist.js
+++ b/pages/escort/itemlist.js
@@ -1,66 +1,32 @@
-// pages/escort/itemlist.js
Page({
-
- /**
- * 页面的初始数据
- */
data: {
-
+ services: []
},
- /**
- * 生命周期函数--监听页面加载
- */
onLoad(options) {
-
+ const app = getApp()
+ this.setData({
+ services: app.globalData.services
+ });
},
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
-
+ goToDetail(e) {
+ const id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: `/pages/escort/itemdetail?id=${id}`
+ });
},
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
-
+ onBook(e) {
+ const id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: `/pages/escort/itemdetail?id=${id}`
+ });
},
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
-
- },
-
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
-
- },
-
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
-
- },
-
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
-
- },
-
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
-
+ goToAgreement() {
+ wx.navigateTo({
+ url: '/pages/escort/agreement'
+ });
}
-})
\ No newline at end of file
+});
diff --git a/pages/escort/itemlist.json b/pages/escort/itemlist.json
index 8835af0..9172073 100644
--- a/pages/escort/itemlist.json
+++ b/pages/escort/itemlist.json
@@ -1,3 +1,4 @@
{
- "usingComponents": {}
+ "usingComponents": {},
+ "navigationBarTitleText": "助诊服务"
}
\ No newline at end of file
diff --git a/pages/escort/itemlist.wxml b/pages/escort/itemlist.wxml
index 0b46a96..734ae88 100644
--- a/pages/escort/itemlist.wxml
+++ b/pages/escort/itemlist.wxml
@@ -1,2 +1,54 @@
-
-pages/escort/itemlist.wxml
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+ 服务列表
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ {{ item.tag }}
+
+
+ {{ item.subtitle }}
+
+
+
+
+
+
diff --git a/pages/escort/itemlist.wxss b/pages/escort/itemlist.wxss
index 1f1e125..011dae3 100644
--- a/pages/escort/itemlist.wxss
+++ b/pages/escort/itemlist.wxss
@@ -1 +1,217 @@
-/* pages/escort/itemlist.wxss */
\ No newline at end of file
+page {
+ background-color: #F5F7F6;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
+}
+
+.container {
+ min-height: 100vh;
+ padding-bottom: calc(32rpx + env(safe-area-inset-bottom));
+}
+
+/* 页面头部 */
+.page-header {
+ background: #FFFFFF;
+ padding: 48rpx 32rpx 32rpx;
+}
+
+.header-title-wrap {
+ display: flex;
+ align-items: center;
+ gap: 16rpx;
+ margin-bottom: 12rpx;
+}
+
+.header-accent {
+ width: 8rpx;
+ height: 40rpx;
+ background: #2D6A4F;
+ border-radius: 4rpx;
+}
+
+.header-title {
+ font-size: 40rpx;
+ font-weight: 700;
+ color: #1F2937;
+ letter-spacing: 2rpx;
+}
+
+.header-subtitle {
+ font-size: 26rpx;
+ color: #6B8E7B;
+ margin-left: 24rpx;
+ letter-spacing: 4rpx;
+ margin-bottom: 24rpx;
+}
+
+.intro-card {
+ display: flex;
+ align-items: flex-start;
+ background: #FAFAFA;
+ border-radius: 20rpx;
+ padding: 32rpx;
+}
+
+.intro-icon-wrap {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 20rpx;
+ background: #6B8E7B;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+ margin-right: 24rpx;
+}
+
+.intro-content {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+}
+
+.intro-title {
+ font-size: 32rpx;
+ font-weight: 700;
+ color: #1F2937;
+ margin-bottom: 12rpx;
+}
+
+.intro-desc {
+ font-size: 26rpx;
+ color: #6B7280;
+ line-height: 1.6;
+}
+
+.link-text {
+ color: #D4A853;
+ font-weight: 500;
+}
+
+/* 服务列表 */
+.service-list {
+ padding: 32rpx 12rpx;
+}
+
+.section-title-wrap {
+ display: flex;
+ align-items: center;
+ gap: 12rpx;
+ margin-bottom: 24rpx;
+}
+
+.section-title {
+ font-size: 32rpx;
+ font-weight: 700;
+ color: #1F2937;
+}
+
+.service-item {
+ background: #FFFFFF;
+ border-radius: 20rpx;
+ padding: 32rpx 32rpx 22rpx 32rpx;
+ margin-bottom: 24rpx;
+ box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.04);
+ transition: transform 0.2s, box-shadow 0.2s;
+}
+
+.service-item:active {
+ transform: translateY(2rpx);
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
+}
+
+.service-main {
+ margin-bottom: 24rpx;
+}
+
+.service-title-row {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 12rpx;
+}
+
+.title-wrap {
+ display: flex;
+ align-items: center;
+ gap: 12rpx;
+}
+
+.title-accent {
+ width: 6rpx;
+ height: 32rpx;
+ background: #2D6A4F;
+ border-radius: 3rpx;
+ flex-shrink: 0;
+}
+
+.service-title {
+ font-size: 32rpx;
+ font-weight: 700;
+ color: #1F2937;
+}
+
+.service-tag {
+ background: #D4A853;
+ color: #FFFFFF;
+ font-size: 22rpx;
+ padding: 6rpx 16rpx;
+ border-radius: 8rpx;
+ font-weight: 500;
+ flex-shrink: 0;
+ margin-left: 16rpx;
+}
+
+.subtitle-wrap {
+ display: flex;
+ align-items: center;
+ gap: 12rpx;
+}
+
+.service-subtitle {
+ font-size: 26rpx;
+ color: #6B7280;
+ line-height: 1.5;
+}
+
+.service-footer {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 14rpx;
+ border-top: 1rpx solid #F3F4F6;
+}
+
+.price-wrap {
+ display: flex;
+ align-items: baseline;
+}
+
+.price-symbol {
+ font-size: 28rpx;
+ color: #D4A853;
+ font-weight: 600;
+}
+
+.service-price {
+ font-size: 32rpx;
+ color: #D4A853;
+ font-weight: 700;
+ margin-left: 4rpx;
+}
+
+.btn-book {
+ display: flex;
+ align-items: center;
+ gap: 8rpx;
+ background: #2D6A4F;
+ color: #FFFFFF;
+ font-size: 26rpx;
+ padding: 16rpx 28rpx;
+ border-radius: 20rpx;
+ font-weight: 500;
+ transition: transform 0.2s;
+}
+
+.btn-book:active {
+ transform: scale(0.96);
+}
diff --git a/pages/escort/recordlist.wxss b/pages/escort/recordlist.wxss
index b1e2d41..03e631a 100644
--- a/pages/escort/recordlist.wxss
+++ b/pages/escort/recordlist.wxss
@@ -36,7 +36,7 @@ page {
.tab-item.active {
color: #FFFFFF;
- background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%);
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
font-weight: 600;
}
@@ -136,7 +136,7 @@ page {
.fee-value {
font-size: 32rpx;
- color: #FF9B33;
+ color: #D4A853;
font-weight: 700;
}
diff --git a/pages/home/index.js b/pages/home/index.js
index 7364e7e..d84206d 100644
--- a/pages/home/index.js
+++ b/pages/home/index.js
@@ -2,18 +2,18 @@ Page({
data: {
assistServices: [
{ id: 1, name: '陪诊', icon: 'heart-filled', iconColor: '#2D6A4F' },
- { id: 2, name: '代办问诊', icon: 'chat-heart-filled', iconColor: '#2D6A4F' },
+ { id: 2, name: '代办问诊', icon: 'chat-heart', iconColor: '#2D6A4F' },
{ id: 3, name: '代办买药', icon: 'cart-filled', iconColor: '#2D6A4F' },
{ id: 4, name: '代取结果', icon: 'draft-filled', iconColor: '#2D6A4F' },
- { id: 5, name: '检查预约', icon: 'calendar-filled', iconColor: '#2D6A4F' },
+ { id: 5, name: '检查预约', icon: 'calendar-1', iconColor: '#2D6A4F' },
{ id: 6, name: '出入院办理', icon: 'bridge', iconColor: '#2D6A4F' },
{ id: 7, name: 'vip陪诊', icon: 'user-vip-filled', iconColor: '#2D6A4F' },
{ id: 8, name: '其他助诊', icon: 'app-filled', iconColor: '#2D6A4F' }
],
otherServices: [
{ id: 1, name: '代探望', icon: 'apple', iconColor: '#D4A853' },
- { id: 2, name: '社区', icon: 'city-8', iconColor: '#D4A853' },
- { id: 3, name: '陪诊师入住', icon: 'usergroup', iconColor: '#D4A853' },
+ { id: 2, name: '企业陪诊', icon: 'city-8', iconColor: '#D4A853' },
+ { id: 3, name: '陪诊师入驻', icon: 'usergroup', iconColor: '#D4A853' },
{ id: 4, name: '商务合作', icon: 'command', iconColor: '#D4A853' },
]
},
@@ -44,5 +44,12 @@ Page({
wx.navigateTo({
url: `/pages/escort/itemlist?assistId=${id}`
});
+ },
+
+ goToOtherServicesDetail(e) {
+ wx.showToast({
+ title: '建设中, 请电话联系!',
+ icon: 'none'
+ });
}
});
diff --git a/pages/home/index.wxml b/pages/home/index.wxml
index eb8b156..96d1304 100644
--- a/pages/home/index.wxml
+++ b/pages/home/index.wxml
@@ -57,7 +57,7 @@
-
+
-
+
diff --git a/pages/home/index.wxss b/pages/home/index.wxss
index 0389a81..7c2ac26 100644
--- a/pages/home/index.wxss
+++ b/pages/home/index.wxss
@@ -174,6 +174,12 @@ page {
/* 助诊服务 */
.assist-section {
+ background: #F0F8F2;
+ padding: 50rpx 32rpx;
+ margin-top: 20rpx;
+}
+
+.other-section {
background: #FFFFFF;
padding: 50rpx 32rpx;
margin-top: 20rpx;
diff --git a/pages/mine/about.js b/pages/mine/about.js
new file mode 100644
index 0000000..5b72074
--- /dev/null
+++ b/pages/mine/about.js
@@ -0,0 +1,128 @@
+// pages/mine/about.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ },
+
+ // 复制内容到剪贴板
+ onCopy(e) {
+ const content = e.currentTarget.dataset.content;
+ wx.setClipboardData({
+ data: content,
+ success: () => {
+ wx.showToast({
+ title: '已复制',
+ icon: 'success',
+ duration: 1500
+ });
+ },
+ fail: () => {
+ wx.showToast({
+ title: '复制失败',
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ });
+ },
+
+ // 拨打电话
+ onCallPhone(e) {
+ const phone = e.currentTarget.dataset.phone;
+ wx.makePhoneCall({
+ phoneNumber: phone,
+ fail: () => {
+ wx.showToast({
+ title: '拨号失败',
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ });
+ },
+
+ // 点击用户协议
+ onTapAgreement() {
+ wx.navigateTo({
+ url: '/pages/escort/agreement'
+ });
+ },
+
+ // 点击隐私政策
+ onTapPrivacy() {
+ wx.showToast({
+ title: '功能开发中',
+ icon: 'none',
+ duration: 1500
+ });
+ },
+
+ // 点击更新日志
+ onTapUpdateLog() {
+ wx.showToast({
+ title: '功能开发中',
+ icon: 'none',
+ duration: 1500
+ });
+ }
+});
diff --git a/pages/mine/about.json b/pages/mine/about.json
new file mode 100644
index 0000000..e8ea58f
--- /dev/null
+++ b/pages/mine/about.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "关于我们",
+ "usingComponents": {
+ "t-icon": "tdesign-miniprogram/icon/icon"
+ }
+}
diff --git a/pages/mine/about.wxml b/pages/mine/about.wxml
new file mode 100644
index 0000000..63d491f
--- /dev/null
+++ b/pages/mine/about.wxml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+ 暖橙陪诊
+ 温暖陪伴,专业守护
+ 版本号:V 0.1.0
+
+
+
+
+
+
+
+ 关于我们
+ 暖橙陪诊是北京奕华盛科技旗下专注于医疗健康陪护服务的平台。我们致力于为患者提供专业、温暖、便捷的陪诊服务,让就医不再孤单。
+
+我们的服务涵盖挂号陪同、就诊引导、检查陪护、取药代办、住院陪护等全流程就医陪伴,由经过专业培训的陪诊师团队为您提供贴心服务。
+
+
+
+
+ 联系我们
+
+
+ 客服邮箱
+
+ service@huashengtec.com
+
+
+
+
+ 客服热线
+
+ 18618162956
+
+
+
+
+ 工作时间
+
+ 周一至周日 08:00 - 20:00
+
+
+
+
+
+
+
+
+
diff --git a/pages/mine/about.wxss b/pages/mine/about.wxss
new file mode 100644
index 0000000..fc089b2
--- /dev/null
+++ b/pages/mine/about.wxss
@@ -0,0 +1,191 @@
+/* pages/mine/about.wxss */
+page {
+ background-color: #F5F5F5;
+}
+
+.container {
+ min-height: 100vh;
+ padding-bottom: 48rpx;
+}
+
+/* 品牌信息区 */
+.brand-section {
+ background: linear-gradient(180deg, #FFFFFF 0%, #FFF8F0 100%);
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding: 64rpx 32rpx 48rpx;
+}
+
+.logo-wrap {
+ width: 160rpx;
+ height: 160rpx;
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
+ border-radius: 36rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ box-shadow: 0 8rpx 24rpx rgba(255, 133, 0, 0.2);
+}
+
+.logo {
+ width: 100rpx;
+ height: 100rpx;
+}
+
+.app-name {
+ font-size: 40rpx;
+ font-weight: 700;
+ color: #1A1A1A;
+ margin-top: 24rpx;
+}
+
+.app-slogan {
+ font-size: 28rpx;
+ color: #D4A853;
+ margin-top: 12rpx;
+ font-weight: 500;
+}
+
+.version {
+ font-size: 24rpx;
+ color: #999999;
+ margin-top: 16rpx;
+}
+
+/* 功能列表 */
+.menu-list {
+ margin: 24rpx 22rpx 0;
+ background: #FFFFFF;
+ border-radius: 16rpx;
+ overflow: hidden;
+}
+
+.menu-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 32rpx;
+ border-bottom: 1rpx solid #F0F0F0;
+}
+
+.menu-item:last-child {
+ border-bottom: none;
+}
+
+.menu-item-hover {
+ background-color: #F9F9F9;
+}
+
+.menu-text {
+ font-size: 30rpx;
+ color: #333333;
+}
+
+.menu-arrow {
+ color: #CCCCCC;
+}
+
+/* 简介区 */
+.intro-section {
+ margin: 24rpx 22rpx 0;
+ background: #FFFFFF;
+ border-radius: 16rpx;
+ padding: 32rpx;
+}
+
+.section-title {
+ font-size: 32rpx;
+ font-weight: 600;
+ color: #1A1A1A;
+ margin-bottom: 20rpx;
+ position: relative;
+ padding-left: 20rpx;
+}
+
+.section-title::before {
+ content: '';
+ position: absolute;
+ left: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 6rpx;
+ height: 28rpx;
+ background: linear-gradient(180deg, #D4A853 0%, #FF8500 100%);
+ border-radius: 4rpx;
+}
+
+.intro-text {
+ font-size: 28rpx;
+ color: #666666;
+ line-height: 1.8;
+ text-align: justify;
+}
+
+/* 联系方式 */
+.contact-section {
+ margin: 24rpx 22rpx 0;
+ background: #FFFFFF;
+ border-radius: 16rpx;
+ padding: 32rpx;
+}
+
+.contact-list {
+ display: flex;
+ flex-direction: column;
+}
+
+.contact-item {
+ display: flex;
+ flex-direction: column;
+ padding: 20rpx 0;
+ border-bottom: 1rpx solid #F5F5F5;
+}
+
+.contact-item:last-child {
+ border-bottom: none;
+}
+
+.contact-label {
+ font-size: 26rpx;
+ color: #999999;
+ margin-bottom: 8rpx;
+}
+
+.contact-value-wrap {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.contact-value {
+ font-size: 30rpx;
+ color: #333333;
+ flex: 1;
+ word-break: break-all;
+}
+
+.contact-icon {
+ color: #FF8500;
+ margin-left: 16rpx;
+ flex-shrink: 0;
+}
+
+/* 底部版权 */
+.footer-section {
+ margin-top: 48rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 8rpx;
+}
+
+.copyright {
+ font-size: 24rpx;
+ color: #AAAAAA;
+}
+
+.icp {
+ font-size: 22rpx;
+ color: #CCCCCC;
+}
diff --git a/pages/mine/comp_address/comp_address.wxml b/pages/mine/comp_address/comp_address.wxml
index aea54e0..71d151e 100644
--- a/pages/mine/comp_address/comp_address.wxml
+++ b/pages/mine/comp_address/comp_address.wxml
@@ -72,8 +72,14 @@
diff --git a/pages/mine/comp_address/comp_address.wxss b/pages/mine/comp_address/comp_address.wxss
index 5565e78..b7cf4f1 100644
--- a/pages/mine/comp_address/comp_address.wxss
+++ b/pages/mine/comp_address/comp_address.wxss
@@ -168,8 +168,15 @@
flex-shrink: 0;
}
+.address-list-footer,
+.address-edit-footer {
+ display: flex;
+ gap: 24rpx;
+}
+
.address-add-btn {
- background: linear-gradient(135deg, #FF9B33 0%, #D4A853 100%);
+ flex: 1;
+ background: linear-gradient(135deg, #6B8E7B 0%, #6B8E7B 100%);
color: #FFFFFF;
font-size: 30rpx;
font-weight: 600;
@@ -177,12 +184,30 @@
border-radius: 20rpx;
border: none;
line-height: 1.5;
+ margin-top: 20rpx;
}
.address-add-btn::after {
border: none;
}
+.address-cancel-btn {
+ flex: 1;
+ background: #F5F5F5;
+ color: #666666;
+ font-size: 30rpx;
+ font-weight: 600;
+ padding: 28rpx;
+ border-radius: 20rpx;
+ border: none;
+ line-height: 1.5;
+ margin-top: 20rpx;
+}
+
+.address-cancel-btn::after {
+ border: none;
+}
+
.address-form {
padding: 0 32rpx;
}
@@ -222,7 +247,8 @@
}
.address-save-btn {
- background: linear-gradient(135deg, #FF9B33 0%, #D4A853 100%);
+ flex: 1;
+ background: linear-gradient(135deg, #6B8E7B 0%, #6B8E7B 100%);
color: #FFFFFF;
font-size: 30rpx;
font-weight: 600;
@@ -230,6 +256,7 @@
border-radius: 20rpx;
border: none;
line-height: 1.5;
+ margin-top: 20rpx;
}
.address-save-btn::after {
diff --git a/pages/mine/comp_profile/comp_profile.wxml b/pages/mine/comp_profile/comp_profile.wxml
index a4b6af0..b2d2605 100644
--- a/pages/mine/comp_profile/comp_profile.wxml
+++ b/pages/mine/comp_profile/comp_profile.wxml
@@ -58,6 +58,7 @@
diff --git a/pages/mine/comp_profile/comp_profile.wxss b/pages/mine/comp_profile/comp_profile.wxss
index 453d930..0250918 100644
--- a/pages/mine/comp_profile/comp_profile.wxss
+++ b/pages/mine/comp_profile/comp_profile.wxss
@@ -14,7 +14,6 @@
.profile-sheet {
background: #FFFFFF;
border-radius: 32rpx 32rpx 0 0;
- padding-bottom: env(safe-area-inset-bottom);
animation: slideUp 0.3s ease;
max-height: 85vh;
overflow-y: auto;
@@ -125,7 +124,7 @@
}
.profile-sex-tag-active {
- background: linear-gradient(135deg, #FF9B33 0%, #D4A853 100%);
+ background: linear-gradient(135deg, #D4A853 0%, #D4A853 100%);
}
.profile-sex-text {
@@ -140,10 +139,30 @@
.profile-footer {
padding: 4rpx 32rpx 48rpx;
flex-shrink: 0;
+ display: flex;
+ gap: 24rpx;
+}
+
+.profile-cancel-btn {
+ flex: 1;
+ background: #F5F5F5;
+ color: #666666;
+ font-size: 30rpx;
+ font-weight: 600;
+ padding: 28rpx;
+ border-radius: 20rpx;
+ border: none;
+ line-height: 1.5;
+ margin-top: 20rpx;
+}
+
+.profile-cancel-btn::after {
+ border: none;
}
.profile-save-btn {
- background: linear-gradient(135deg, #FF9B33 0%, #D4A853 100%);
+ flex: 1;
+ background: linear-gradient(135deg, #6B8E7B 0%, #6B8E7B 100%);
color: #FFFFFF;
font-size: 30rpx;
font-weight: 600;
@@ -151,6 +170,7 @@
border-radius: 20rpx;
border: none;
line-height: 1.5;
+ margin-top: 20rpx;
}
.profile-save-btn::after {
diff --git a/pages/mine/mine.js b/pages/mine/mine.js
index d932de0..dc0970b 100644
--- a/pages/mine/mine.js
+++ b/pages/mine/mine.js
@@ -3,7 +3,7 @@ const API = require('../../utils/api.js')
Page({
data: {
userInfo: {
- avatar: '/images/home-green.png',
+ avatar: '/images/home-yellow.png',
name: '用户',
phone: '',
sex: '',
@@ -22,7 +22,7 @@ Page({
bindtap: 'onTapProfile'
}, {
name: '健康档案',
- icon: 'user-vip',
+ icon: 'attach',
bindtap: 'onTapHealth'
}, {
name: '邮寄地址',
@@ -126,7 +126,7 @@ Page({
},
onTapHealth() {
- this.setData({ healthVisible: true })
+ wx.showToast({ title: '正在建设中', icon: 'none' })
},
onHealthClose() {
@@ -139,6 +139,12 @@ Page({
})
},
+ onTapAboutUs() {
+ wx.navigateTo({
+ url: '/pages/mine/about'
+ })
+ },
+
onTapSetting() {
this.setData({ settingVisible: true })
},
diff --git a/utils/api.js b/utils/api.js
index 548deb1..191324e 100644
--- a/utils/api.js
+++ b/utils/api.js
@@ -19,6 +19,7 @@ const API = {
resource: {
getServices: (params) => request.get('/health/service', params),
+ getAgreement: (params) => request.get('/health/agreement', params),
},
ai: {
diff --git a/utils/request.js b/utils/request.js
index 12d2344..928dbd0 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -1,7 +1,7 @@
class Request {
- //constructor(baseURL = 'https://api.huashengtec.com') {
- constructor(baseURL = 'http://127.0.0.1:9004') {
+ constructor(baseURL = 'https://api.huashengtec.com') {
+ //constructor(baseURL = 'http://127.0.0.1:9004') {
this.baseURL = baseURL
}