优化支付宝支付流程与 Web 端体验

- 支付宝新窗口跳转,轮询与手动刷新增加加载反馈
- 支付回跳先校验订单状态,避免未付款误报成功
- 门户登录回调统一,云文件打开加载与版本冲突同步
- 精简本地 start.bat 与 README 说明

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
24kycj
2026-06-23 11:27:45 +08:00
parent 23b958753d
commit 4d19d7e814
13 changed files with 400 additions and 214 deletions
+69 -1
View File
@@ -454,19 +454,87 @@
}
.soon-pay-status {
margin: 0 0 12px;
margin: 0 0 8px;
text-align: center;
font-size: 12px;
color: var(--soon-text-muted);
transition: color 0.2s ease, opacity 0.2s ease;
}
.soon-pay-status--ok { color: #4db6ac; }
.soon-pay-status--err { color: var(--soon-danger); }
.soon-pay-status--warn { color: #ffb74d; }
.soon-pay-status.is-checking {
color: #4db6ac;
opacity: 0.85;
}
.soon-pay-poll {
display: none;
align-items: center;
justify-content: center;
gap: 8px;
margin: 0 0 10px;
font-size: 11px;
color: var(--soon-text-muted);
}
.soon-pay-sheet--polling .soon-pay-poll {
display: flex;
}
.soon-pay-poll__spin {
width: 12px;
height: 12px;
border: 2px solid rgba(255, 255, 255, 0.12);
border-top-color: #4db6ac;
border-radius: 50%;
animation: soon-pay-spin 0.75s linear infinite;
flex-shrink: 0;
}
.soon-pay-poll.is-tick .soon-pay-poll__spin {
animation-duration: 0.45s;
}
.soon-pay-sheet--polling .soon-pay-checkout-ready {
border-color: rgba(77, 182, 172, 0.28);
animation: soon-pay-wait-pulse 2.4s ease-in-out infinite;
}
.soon-pay-sheet__cta {
width: 100%;
transition: opacity 0.2s ease;
}
.soon-pay-sheet__cta--secondary {
margin-top: 8px;
}
.soon-pay-sheet__cta.is-loading {
opacity: 0.72;
pointer-events: none;
}
.soon-pay-sheet__cta.is-loading::before {
content: '';
display: inline-block;
width: 12px;
height: 12px;
margin-right: 6px;
vertical-align: -2px;
border: 2px solid rgba(255, 255, 255, 0.2);
border-top-color: currentColor;
border-radius: 50%;
animation: soon-pay-spin 0.75s linear infinite;
}
@keyframes soon-pay-spin {
to { transform: rotate(360deg); }
}
@keyframes soon-pay-wait-pulse {
0%, 100% { box-shadow: inset 0 0 0 0 rgba(77, 182, 172, 0); }
50% { box-shadow: inset 0 0 0 1px rgba(77, 182, 172, 0.22); }
}