feat(小程序): 支持多设备绑定与管理

This commit is contained in:
stu2not
2026-04-22 17:25:31 +08:00
parent d7df6f565c
commit f21e0afcd0
8 changed files with 1078 additions and 670 deletions

View File

@@ -161,149 +161,198 @@
}
}
.add-input-box {
.image-avatar {
width: 100%;
height: 100%;
border-radius: 24px;
}
.summary-card {
background: #FFFFFF;
border-radius: 20px;
margin: 0 24px 24px;
padding: 24px;
padding: 10px 24px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
.input-row {
display: flex;
flex-direction: column;
gap: 16px;
.summary-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 0;
border-bottom: 1px solid #F2F2F2;
&:last-child {
border-bottom: none;
}
}
.input-wrapper {
.name-input {
background: #F5F7FA;
border-radius: 12px;
padding: 20px 24px;
font-size: 30px;
width: 100%;
box-sizing: border-box;
}
.summary-label {
font-size: 28px;
color: #666666;
}
.input-hint {
font-size: 24px;
color: #999999;
margin-top: 12px;
display: block;
}
}
.input-btns {
display: flex;
justify-content: flex-end;
gap: 24px;
.confirm-btn {
font-size: 30px;
color: #FF8C42;
font-weight: 500;
}
.cancel-btn {
font-size: 30px;
color: #999999;
}
}
.summary-value {
max-width: 60%;
font-size: 28px;
color: #1A1A1A;
text-align: right;
word-break: break-all;
}
.menu-item.disabled {
opacity: 0.5;
&:active {
background: transparent;
}
opacity: 0.45;
}
.logout-section {
margin: 24px;
margin: 0 24px;
}
.logout-btn {
height: 92px;
border-radius: 18px;
background: #FFFFFF;
border-radius: 20px;
padding: 26px 24px;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
.logout-text {
font-size: 30px;
color: #FF3B30;
font-weight: 500;
}
.logout-text {
font-size: 30px;
color: #FF6B35;
font-weight: 600;
}
.modal-mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
inset: 0;
background: rgba(0, 0, 0, 0.42);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
padding: 0 48px;
z-index: 20;
}
.modal-content {
.modal-card {
width: 100%;
background: #FFFFFF;
border-radius: 20px;
width: 600px;
margin: 0 48px;
overflow: hidden;
border-radius: 24px;
padding: 32px;
box-sizing: border-box;
}
.modal-header {
padding: 32px 32px 16px;
text-align: center;
.modal-title {
display: block;
font-size: 32px;
font-weight: 700;
color: #1A1A1A;
margin-bottom: 24px;
}
.modal-title {
font-size: 34px;
.modal-input-wrap {
background: #F7F8FA;
border-radius: 16px;
padding: 0 24px;
}
.modal-input {
height: 88px;
width: 100%;
font-size: 28px;
color: #1A1A1A;
}
.modal-actions {
display: flex;
justify-content: flex-end;
margin-top: 28px;
}
.modal-action {
font-size: 30px;
margin-left: 32px;
&.cancel {
color: #999999;
}
&.confirm {
color: #FF8C42;
font-weight: 600;
color: #1A1A1A;
}
}
.modal-body {
padding: 16px 32px 32px;
.device-switch-card {
max-height: 70vh;
}
.device-switch-empty {
display: block;
font-size: 28px;
color: #999999;
line-height: 1.6;
}
.device-switch-list {
max-height: 52vh;
overflow-y: auto;
}
.device-switch-item {
padding: 24px;
border-radius: 18px;
background: #F7F8FA;
margin-bottom: 16px;
&:last-child {
margin-bottom: 0;
}
&.active {
background: #FFF2E7;
border: 2px solid #FFBE94;
}
}
.device-switch-head {
display: flex;
align-items: center;
.modal-input {
background: #F5F7FA;
border-radius: 12px;
padding: 0 24px;
font-size: 34px;
width: 100%;
height: 96px;
box-sizing: border-box;
display: flex;
align-items: center;
}
justify-content: space-between;
margin-bottom: 10px;
}
.modal-footer {
.device-switch-id {
font-size: 28px;
color: #1A1A1A;
font-weight: 600;
word-break: break-all;
}
.device-switch-tag {
margin-left: 16px;
padding: 6px 14px;
border-radius: 999px;
background: #FF8C42;
font-size: 22px;
color: #FFFFFF;
flex-shrink: 0;
}
.device-switch-name {
font-size: 26px;
color: #666666;
}
.loading {
min-height: 100%;
display: flex;
border-top: 1px solid #F0F0F0;
align-items: center;
justify-content: center;
.modal-btn {
flex: 1;
text-align: center;
padding: 24px 0;
text {
font-size: 32px;
&.cancel {
color: #666666;
border-right: 1px solid #F0F0F0;
}
&.confirm {
color: #FF8C42;
font-weight: 500;
}
color: #999999;
}
}