This commit is contained in:
lik
2026-05-29 20:30:42 +08:00
parent 659232cf77
commit 91ffaa62e7
28 changed files with 1270 additions and 98 deletions

128
pages/mine/about.js Normal file
View File

@@ -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
});
}
});

6
pages/mine/about.json Normal file
View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "关于我们",
"usingComponents": {
"t-icon": "tdesign-miniprogram/icon/icon"
}
}

70
pages/mine/about.wxml Normal file
View File

@@ -0,0 +1,70 @@
<!--pages/mine/about.wxml-->
<view class="container">
<!-- 品牌信息区 -->
<view class="brand-section">
<view class="logo-wrap">
<image class="logo" src="/images/home-w.png" mode="aspectFit" />
</view>
<text class="app-name">暖橙陪诊</text>
<text class="app-slogan">温暖陪伴,专业守护</text>
<text class="version">版本号V 0.1.0</text>
</view>
<!-- 功能列表 -->
<view class="menu-list">
<view class="menu-item" hover-class="menu-item-hover" bindtap="onTapAgreement">
<text class="menu-text">用户协议</text>
<t-icon name="chevron-right" class="menu-arrow" size="36rpx" />
</view>
<view class="menu-item" hover-class="menu-item-hover" bindtap="onTapPrivacy">
<text class="menu-text">隐私政策</text>
<t-icon name="chevron-right" class="menu-arrow" size="36rpx" />
</view>
<view class="menu-item" hover-class="menu-item-hover" bindtap="onTapUpdateLog">
<text class="menu-text">更新日志</text>
<t-icon name="chevron-right" class="menu-arrow" size="36rpx" />
</view>
</view>
<!-- 公司简介 -->
<view class="intro-section">
<view class="section-title">关于我们</view>
<text class="intro-text">暖橙陪诊是北京奕华盛科技旗下专注于医疗健康陪护服务的平台。我们致力于为患者提供专业、温暖、便捷的陪诊服务,让就医不再孤单。
我们的服务涵盖挂号陪同、就诊引导、检查陪护、取药代办、住院陪护等全流程就医陪伴,由经过专业培训的陪诊师团队为您提供贴心服务。</text>
</view>
<!-- 联系方式 -->
<view class="contact-section">
<view class="section-title">联系我们</view>
<view class="contact-list">
<view class="contact-item" bindtap="onCopy" data-content="service@huashengtec.com">
<view class="contact-label">客服邮箱</view>
<view class="contact-value-wrap">
<text class="contact-value">service@huashengtec.com</text>
<t-icon name="mail" class="contact-icon" size="32rpx" />
</view>
</view>
<view class="contact-item" bindtap="onCallPhone" data-phone="18618162956">
<view class="contact-label">客服热线</view>
<view class="contact-value-wrap">
<text class="contact-value">18618162956</text>
<t-icon name="call" class="contact-icon" size="32rpx" />
</view>
</view>
<view class="contact-item">
<view class="contact-label">工作时间</view>
<view class="contact-value-wrap">
<text class="contact-value">周一至周日 08:00 - 20:00</text>
<t-icon name="calendar-1" class="contact-icon" size="32rpx" />
</view>
</view>
</view>
</view>
<!-- 底部版权 -->
<view class="footer-section">
<text class="copyright">© 2026 北京奕华盛科技 版权所有</text>
<text class="icp">京ICP备15030270号-2X</text>
</view>
</view>

191
pages/mine/about.wxss Normal file
View File

@@ -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;
}

View File

@@ -72,8 +72,14 @@
</view>
<view class="address-footer">
<button class="address-add-btn" wx:if="{{!isEditing}}" bindtap="onAddAddress">添加新地址</button>
<button class="address-save-btn" wx:if="{{isEditing}}" bindtap="onSaveEdit">保存</button>
<view class="address-list-footer" wx:if="{{!isEditing}}">
<button class="address-cancel-btn" bindtap="onClose">返回</button>
<button class="address-add-btn" bindtap="onAddAddress">添加地址</button>
</view>
<view class="address-edit-footer" wx:if="{{isEditing}}">
<button class="address-cancel-btn" bindtap="onBackToList">返回</button>
<button class="address-save-btn" bindtap="onSaveEdit">保存</button>
</view>
</view>
</view>
</view>

View File

@@ -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 {

View File

@@ -58,6 +58,7 @@
</view>
<view class="profile-footer">
<button class="profile-cancel-btn" bindtap="onClose">返回</button>
<button class="profile-save-btn" bindtap="onSave">保存</button>
</view>
</view>

View File

@@ -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 {

View File

@@ -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 })
},