1轮修复

This commit is contained in:
2026-01-20 16:17:39 +08:00
parent 0bf7361672
commit 8ab6107f25
23 changed files with 2587 additions and 612 deletions

View File

@@ -7,7 +7,8 @@
position: relative;
// 多种安全区域适配方式
padding-top: env(safe-area-inset-top);
padding-top: constant(safe-area-inset-top); /* 兼容iOS < 11.2 */
padding-top: constant(safe-area-inset-top);
/* 兼容iOS < 11.2 */
box-sizing: border-box;
}
@@ -18,12 +19,12 @@
left: 0;
right: 0;
display: flex;
flex-direction: row;
flex-direction: row;
align-items: center;
padding: 0 16px;
z-index: 100;
box-sizing: border-box;
// 小程序需要为右侧胶囊按钮留出空间
/* #ifdef MP-WEIXIN */
padding-right: 100px;
@@ -83,7 +84,7 @@
// 退出按钮特殊样式
.logout-btn {
background: rgba(255, 59, 48, 0.1);
.btn-text {
color: #ff3b30;
}
@@ -117,10 +118,25 @@
border: none !important;
}
.r1 { width: 260px; height: 260px; }
.r2 { width: 200px; height: 200px; }
.r3 { width: 150px; height: 150px; }
.r4 { width: 110px; height: 110px; }
.r1 {
width: 260px;
height: 260px;
}
.r2 {
width: 200px;
height: 200px;
}
.r3 {
width: 150px;
height: 150px;
}
.r4 {
width: 110px;
height: 110px;
}
.robot {
position: relative;
@@ -128,10 +144,10 @@
width: 140px;
height: 140px;
/* 父容器加一层径向渐变背景,模拟外层模糊光晕 */
background: radial-gradient(circle at center,
rgba(180, 220, 255, 0.5) 0%,
rgba(180, 220, 255, 0.25) 50%,
transparent 75%);
background: radial-gradient(circle at center,
rgba(180, 220, 255, 0.5) 0%,
rgba(180, 220, 255, 0.25) 50%,
transparent 75%);
border-radius: 50%;
display: flex;
align-items: center;
@@ -164,16 +180,30 @@
.float-tag {
position: absolute;
padding: 6px 12px;
background: transparent; /* 去掉背景色,和左侧一致 */
border: none; /* 去掉边框 */
border-radius: 0; /* 保持直角如果需要圆角也可以改回16px */
background: transparent;
/* 去掉背景色,和左侧一致 */
border: none;
/* 去掉边框 */
border-radius: 0;
/* 保持直角如果需要圆角也可以改回16px */
font-size: 12px;
color: #666;
}
.t1 { right: 20px; top: 40px; }
.t2 { left: 20px; top: 80px; }
.t3 { right: 30px; bottom: 50px; }
.t1 {
right: 20px;
top: 40px;
}
.t2 {
left: 20px;
top: 80px;
}
.t3 {
right: 30px;
bottom: 50px;
}
.greeting {
text-align: left;
@@ -199,7 +229,7 @@
background: #fff;
padding: 12px 16px;
border-radius: 12px;
margin: 16px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
@@ -373,63 +403,86 @@
padding-left: 48px;
}
// 底部操作区域
// 底部操作区域(如果没有定义,需要添加)
.bottom-area {
position: fixed;
bottom: 0;
left: 0;
right: 0;
// background: rgba(240, 241, 246, 0.95);
padding: 12px 16px;
padding-bottom: calc(12px + env(safe-area-inset-bottom));
z-index: 50;
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding: 12px 16px;
padding-bottom: calc(12px + env(safe-area-inset-bottom));
z-index: 50;
background-color: #fff; // 增加背景色,避免穿透
}
// 快捷按钮横向滚动
// 快捷按钮横向滚动 - 修复横向滚动问题
.quick-scroll {
white-space: nowrap;
margin-bottom: 12px;
width: 100%;
margin-bottom: 12px;
/* 核心必须设置固定高度否则scroll-view可能无法正常工作 */
height: 50px;
/* 确保scroll-view能正确处理滚动 */
overflow-x: scroll;
display: flex;
flex-direction: row;
-webkit-overflow-scrolling: touch;
/* 隐藏滚动条但保留滚动功能 */
scrollbar-width: none;
-ms-overflow-style: none;
}
.quick-inner {
display: flex;
flex-direction: row;
align-items: center; /* ✅ 垂直居中 */
padding: 0 16px;
height: 100%;
}
/* 隐藏滚动条 */
.quick-scroll::-webkit-scrollbar {
display: none;
}
.quick-list {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
display: inline-flex; /* 使用inline-flex确保宽度随内容增长触发横向滚动 */
flex-direction: row;
align-items: center;
gap: 8px;
padding: 0 16px;
/* 关键:让容器宽度自动适应内容,超出父容器时触发滚动 */
width: auto;
/* 确保垂直居中 */
height: 100%;
}
.quick-btn {
margin: 0;
position: relative;
box-sizing: border-box;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-content: stretch;
min-height: 0px;
min-width: 0px;
overflow: hidden;
align-items: center;
justify-content: center;
background: #fff;
border-radius: 24px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
border: none;
display: flex;
flex-direction: row;
padding: 10px 24px;
color: black;
/* 保持原有样式 */
margin: 0;
position: relative;
box-sizing: border-box;
background: #fff;
border-radius: 24px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
border: none;
padding: 10px 24px;
color: black;
/* 确保按钮不换行 */
white-space: nowrap;
/* 关键防止flex子项被压缩确保产生横向溢出以便滚动 */
flex-shrink: 0;
/* 按钮内部使用flex布局 */
display: flex;
align-items: center;
justify-content: center;
flex-direction: row;
/* 确保按钮高度合适 */
height: 36px;
}
.quick-btn.has-icon {
// background: linear-gradient(90deg, #173294 0%, #4a6fd9 100%);
border: none;
padding: 10px 24px;
/* 保持原有样式 */
}
.quick-btn.has-icon .quick-text {
// color: #fff;
font-weight: 500;
/* 保持原有样式 */
}
.quick-icon {
@@ -443,6 +496,7 @@
height: 20px;
background: #d0d5dd;
margin: 0 4px;
flex-shrink: 0;
}
.quick-text {
@@ -696,10 +750,14 @@
}
@keyframes typing-bounce {
0%, 80%, 100% {
0%,
80%,
100% {
transform: scale(0.6);
opacity: 0.5;
}
40% {
transform: scale(1);
opacity: 1;
@@ -953,3 +1011,77 @@
font-size: 14px;
color: #666;
}
// 操作选择弹窗样式
.operation-select-modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1000;
display: flex;
align-items: center;
justify-content: center;
}
.modal-mask {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
}
.modal-content {
position: relative;
width: 80%;
max-width: 400px;
background: white;
border-radius: 16px;
padding: 20px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}
.modal-header {
text-align: center;
margin-bottom: 20px;
}
.modal-title {
font-size: 18px;
font-weight: 600;
color: #333;
}
.operation-select-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.operation-select-item {
display: flex;
align-items: center;
padding: 16px;
background: #f5f7fa;
border-radius: 12px;
cursor: pointer;
transition: all 0.3s ease;
}
.operation-select-item:active {
background: #e4e7ed;
transform: scale(0.98);
}
.select-icon {
font-size: 24px;
margin-right: 12px;
}
.select-text {
font-size: 16px;
color: #333;
}