修改功能,现已测试注册登录忘记密码

This commit is contained in:
rain
2026-06-12 11:42:49 +08:00
parent 0bf2f573ed
commit cfc64c69e5
26 changed files with 2238 additions and 898 deletions
+98
View File
@@ -517,6 +517,104 @@ body:has(.auth-container) {
background: linear-gradient(135deg, #27ae60, #1a8f50);
}
/* === Captcha Dialog ======================================== */
.captcha-dialog {
padding: 24px;
color: var(--text-dark, #1a1a2e);
}
.captcha-dialog-title {
font-size: 18px;
font-weight: 800;
line-height: 1.3;
}
.captcha-dialog-desc {
margin-top: 8px;
font-size: 13px;
line-height: 1.6;
color: var(--text-muted, #6b7280);
}
.captcha-dialog-row {
display: flex;
gap: 10px;
align-items: center;
margin-top: 18px;
}
.captcha-dialog-input {
flex: 1;
min-width: 0;
height: 44px;
padding: 0 12px;
border: 1px solid var(--border-light, #e5e7eb);
border-radius: var(--radius-md, 10px);
font-size: 14px;
outline: none;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.captcha-dialog-input:focus {
border-color: var(--primary, #102b6a);
box-shadow: 0 0 0 3px rgba(16, 43, 106, 0.08);
}
.captcha-dialog-img-box {
width: 120px;
height: 44px;
border: 1px solid var(--border-light, #e5e7eb);
border-radius: var(--radius-md, 10px);
overflow: hidden;
cursor: pointer;
background: var(--bg-light, #f4f6fb);
flex: 0 0 120px;
}
.captcha-dialog-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.captcha-dialog-tip {
margin-top: 10px;
font-size: 12px;
color: var(--text-muted, #6b7280);
}
.captcha-dialog-tip span {
color: var(--primary, #102b6a);
cursor: pointer;
font-weight: 700;
}
.captcha-dialog-actions {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 22px;
}
.captcha-dialog-btn {
min-width: 84px;
height: 38px;
border: 1px solid var(--border-light, #e5e7eb);
border-radius: var(--radius-md, 10px);
background: #ffffff;
color: var(--text-dark, #1a1a2e);
font-size: 13px;
font-weight: 700;
cursor: pointer;
}
.captcha-dialog-btn.primary {
border-color: transparent;
background: linear-gradient(135deg, var(--primary, #102b6a), var(--primary-light, #1a3f8f));
color: #ffffff;
}
/* === Submit Button ========================================= */
.auth-submit-btn {
width: 100%;
+405
View File
@@ -0,0 +1,405 @@
.cz-hidden {
display: none;
}
.cz-footer-link {
font-size: 12px;
color: rgba(255, 255, 255, 0.5);
}
.cz-balance-bar {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
margin-bottom: 24px;
}
.cz-balance-bar__item {
background: var(--white);
border-radius: var(--radius-lg);
padding: 20px 24px;
box-shadow: var(--shadow-sm);
display: flex;
align-items: center;
gap: 16px;
border: 1px solid var(--border-light);
transition: all 0.3s;
}
.cz-balance-bar__item:hover {
border-color: transparent;
box-shadow: var(--shadow-md);
transform: translateY(-2px);
}
.cz-balance-bar__icon {
width: 48px;
height: 48px;
border-radius: 14px;
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
flex-shrink: 0;
}
.cz-balance-bar__icon.account {
background: rgba(16, 43, 106, 0.08);
color: var(--primary);
}
.cz-balance-bar__label {
font-size: 13px;
color: var(--text-muted);
}
.cz-balance-bar__value {
font-size: 24px;
font-weight: 800;
color: var(--text-dark);
line-height: 1.2;
}
.cz-balance-bar__value .unit {
font-size: 14px;
font-weight: 400;
color: var(--text-muted);
margin-left: 2px;
}
.cz-package-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 14px;
margin-bottom: 24px;
}
.cz-package-loading {
grid-column: 1/-1;
text-align: center;
padding: 40px;
color: var(--text-muted);
}
.cz-package-loading i {
font-size: 28px;
display: block;
margin-bottom: 8px;
color: var(--primary);
}
.cz-pkg {
position: relative;
background: var(--bg-light);
border: 2px solid var(--border-light);
border-radius: var(--radius-lg);
padding: 20px 16px;
text-align: center;
cursor: pointer;
transition: all 0.3s;
user-select: none;
overflow: hidden;
}
.cz-pkg:hover {
border-color: var(--primary);
transform: translateY(-2px);
box-shadow: var(--shadow-sm);
}
.cz-pkg.selected {
border-color: var(--primary);
background: rgba(16, 43, 106, 0.04);
box-shadow: 0 0 0 3px rgba(16, 43, 106, 0.12);
}
.cz-pkg.selected::after {
content: "\2713";
position: absolute;
top: 0;
right: 0;
width: 24px;
height: 24px;
background: var(--primary);
color: #fff;
font-size: 12px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0 var(--radius-lg) 0 var(--radius-lg);
}
.cz-pkg__price {
font-size: 28px;
font-weight: 800;
color: var(--primary);
line-height: 1.2;
}
.cz-pkg__price span {
font-size: 14px;
font-weight: 600;
}
.cz-pkg__credit {
display: inline-block;
margin-top: 8px;
padding: 3px 10px;
border-radius: 999px;
font-size: 12px;
font-weight: 700;
background: rgba(253, 185, 51, 0.12);
color: var(--gold);
}
.cz-pkg__bonus {
display: inline-block;
margin-top: 4px;
padding: 2px 8px;
border-radius: 999px;
font-size: 11px;
font-weight: 600;
background: rgba(241, 90, 34, 0.1);
color: var(--orange);
}
.cz-pkg.selected .cz-pkg__price {
color: var(--primary);
}
.cz-pkg__tag {
position: absolute;
top: 8px;
left: 8px;
padding: 2px 8px;
border-radius: 999px;
font-size: 10px;
font-weight: 700;
letter-spacing: 0.5px;
color: #fff;
}
.cz-pkg__tag.hot {
background: linear-gradient(135deg, #ff6b35, #f15a22);
}
.cz-pkg__tag.rec {
background: linear-gradient(135deg, var(--primary), #1a3f8f);
}
.cz-qr-section {
text-align: center;
padding: 24px 0;
}
.cz-qr-header {
margin-bottom: 16px;
}
.cz-qr-icon {
width: 48px;
height: 48px;
border-radius: 50%;
background: rgba(7, 193, 96, 0.1);
color: #07c160;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 24px;
margin-bottom: 8px;
}
.cz-qr-title {
font-size: 18px;
font-weight: 700;
color: var(--text-dark);
}
.cz-qr-subtitle {
font-size: 13px;
color: var(--text-muted);
margin-top: 4px;
}
.cz-qr-amount {
font-size: 32px;
font-weight: 800;
color: var(--orange);
margin: 16px 0;
}
.cz-qr-amount span {
font-size: 16px;
font-weight: 600;
color: var(--text-muted);
}
.cz-qr-wrap {
display: inline-block;
padding: 16px;
background: #fff;
border: 2px solid var(--border-light);
border-radius: var(--radius-lg);
margin-bottom: 12px;
}
.cz-qr-wrap img,
.cz-qr-wrap canvas {
display: block;
width: 200px;
height: 200px;
}
.cz-qr-hint {
font-size: 13px;
color: var(--text-muted);
margin-top: 8px;
}
.cz-qr-timer {
font-size: 14px;
color: var(--orange);
margin-top: 8px;
font-weight: 700;
}
.cz-qr-cancel {
margin-top: 16px;
padding: 8px 24px;
border: 1px solid var(--border-light);
border-radius: 999px;
background: transparent;
color: var(--text-muted);
font-size: 13px;
cursor: pointer;
transition: all 0.25s;
}
.cz-qr-cancel:hover {
border-color: var(--primary);
color: var(--primary);
}
.cz-pay-result {
text-align: center;
padding: 40px 0;
}
.cz-pay-result__icon {
width: 72px;
height: 72px;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 36px;
margin-bottom: 16px;
}
.cz-pay-result__icon.success {
background: rgba(40, 167, 69, 0.12);
color: var(--green);
}
.cz-pay-result__icon.timeout {
background: rgba(255, 193, 7, 0.15);
color: #ffc107;
}
.cz-pay-result__title {
font-size: 20px;
font-weight: 700;
color: var(--text-dark);
margin-bottom: 8px;
}
.cz-pay-result__desc {
font-size: 13px;
color: var(--text-muted);
margin-bottom: 20px;
}
.cz-pay-result__btn {
display: inline-block;
padding: 10px 32px;
border-radius: 999px;
font-size: 14px;
font-weight: 700;
background: linear-gradient(135deg, var(--primary), #1a3f8f);
color: #fff;
text-decoration: none;
cursor: pointer;
border: none;
transition: all 0.3s;
}
.cz-pay-result__btn:hover {
box-shadow: 0 6px 20px rgba(16, 43, 106, 0.4);
transform: translateY(-2px);
}
.cz-tips-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 20px 24px;
border: 1px solid var(--border-light);
margin-top: 24px;
}
.cz-tips-title {
font-size: 14px;
font-weight: 700;
color: var(--text-dark);
margin-bottom: 12px;
}
.cz-tips-title i {
color: var(--primary);
margin-right: 4px;
}
.cz-tips-list {
margin: 0;
padding-left: 18px;
}
.cz-tips-list li {
font-size: 12px;
color: var(--text-muted);
line-height: 2;
position: relative;
}
@media (max-width: 768px) {
.cz-balance-bar {
grid-template-columns: 1fr;
}
.cz-package-grid {
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.cz-pkg {
padding: 16px 12px;
}
.cz-pkg__price {
font-size: 22px;
}
}
@media (max-width: 480px) {
.cz-package-grid {
grid-template-columns: repeat(2, 1fr);
gap: 8px;
}
.cz-pkg__price {
font-size: 20px;
}
.cz-pkg__credit {
font-size: 11px;
}
}
+51 -1
View File
@@ -452,7 +452,7 @@
/* Action Section (legacy 2-column card layout) */
.action-section {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-bottom: 24px;
}
@@ -524,6 +524,56 @@
pointer-events: none;
}
.custom-modal-mask {
position: fixed;
inset: 0;
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.45);
}
.custom-modal-content {
width: min(360px, calc(100vw - 32px));
padding: 26px 24px 22px;
border-radius: var(--radius-lg);
background: #fff;
box-shadow: var(--shadow-lg);
text-align: center;
}
.custom-modal-title {
margin: 0 0 18px;
color: var(--primary);
font-size: 18px;
font-weight: 800;
}
.custom-qr-container {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12px;
border: 1px solid var(--border-light);
border-radius: var(--radius-md);
background: #fff;
}
.custom-modal-close {
display: block;
width: 100%;
height: 38px;
margin-top: 18px;
border: 0;
border-radius: var(--radius-md);
background: var(--primary);
color: #fff;
cursor: pointer;
font-size: 14px;
font-weight: 800;
}
/* Team Section */
.team-section {
background: var(--white, #fff);
+66
View File
@@ -1544,6 +1544,61 @@
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cxz-recommend-section {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
margin-top: 24px;
}
.cxz-recommend-card {
padding: 18px 20px;
border: 1px solid #e7edf6;
border-radius: 12px;
background: #fff;
box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.04));
}
.cxz-recommend-title {
margin-bottom: 12px;
color: var(--primary);
font-size: 16px;
font-weight: 800;
}
.cxz-recommend-list {
display: grid;
gap: 10px;
margin: 0;
padding: 0;
list-style: none;
}
.cxz-recommend-list li {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 12px;
align-items: center;
color: var(--text-muted);
font-size: 13px;
}
.cxz-recommend-list a {
overflow: hidden;
color: var(--text-dark);
text-overflow: ellipsis;
white-space: nowrap;
}
.cxz-recommend-list a:hover {
color: var(--primary);
}
.cxz-recommend-empty {
grid-template-columns: 1fr !important;
color: var(--text-muted);
}
.cxz-nav-item {
position: relative;
overflow: hidden;
@@ -1664,6 +1719,17 @@
border: 1px solid #e7edf6;
}
@media (max-width: 768px) {
.cxz-recommend-section {
grid-template-columns: 1fr;
}
.cxz-recommend-list li {
grid-template-columns: 1fr;
gap: 4px;
}
}
.cxz-comment-header {
display: flex;
align-items: center;
+219
View File
@@ -0,0 +1,219 @@
* {
box-sizing: border-box;
}
body {
min-height: 100vh;
margin: 0;
color: #1f2933;
font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei",
sans-serif;
background:
radial-gradient(circle at 72% 18%, rgba(255, 190, 98, 0.45), rgba(255, 190, 98, 0) 32%),
linear-gradient(135deg, #ff7a1a 0%, #ff6f12 54%, #ff8a23 100%);
}
.page {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 40px 16px;
}
.card {
width: 420px;
max-width: 100%;
padding: 28px 30px 30px;
border-radius: 10px;
background: #ffffff;
box-shadow: 0 18px 48px rgba(124, 38, 4, 0.18);
}
.brand {
margin-bottom: 20px;
color: #de2103;
font-size: 28px;
font-weight: 800;
text-align: center;
}
.title {
margin-bottom: 8px;
font-size: 18px;
font-weight: 700;
text-align: center;
}
.desc {
min-height: 22px;
margin-bottom: 18px;
color: #667085;
font-size: 13px;
line-height: 22px;
text-align: center;
}
.status {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin: 14px 0 20px;
color: #de2103;
font-size: 14px;
}
.spinner {
width: 18px;
height: 18px;
border: 2px solid #f5c7bd;
border-top-color: #de2103;
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
.bind-form {
display: none;
}
.form-row {
margin-top: 14px;
}
.form-row label {
display: block;
margin-bottom: 6px;
color: #344054;
font-size: 13px;
font-weight: 600;
}
.input,
.sms-input {
width: 100%;
height: 42px;
padding: 0 12px;
border: 1px solid #d9dee7;
border-radius: 5px;
color: #1f2933;
font-size: 14px;
outline: none;
}
.input:focus,
.sms-input:focus {
border-color: #de2103;
box-shadow: 0 0 0 3px rgba(222, 33, 3, 0.08);
}
.sms-row {
display: flex;
gap: 10px;
}
.captcha-row {
display: none;
}
.captcha-box {
display: flex;
gap: 10px;
}
.captcha-box .input {
flex: 1;
min-width: 0;
}
.captcha-image {
flex: 0 0 108px;
height: 42px;
border: 1px solid #d9dee7;
border-radius: 5px;
background: #f8fafc;
cursor: pointer;
object-fit: cover;
}
.sms-input {
flex: 1;
min-width: 0;
}
.sms-button {
flex: 0 0 108px;
height: 42px;
border: 1px solid #de2103;
border-radius: 5px;
background: #fff8f6;
color: #de2103;
cursor: pointer;
}
.sms-button:disabled,
.submit:disabled {
cursor: not-allowed;
opacity: 0.65;
}
.submit {
width: 100%;
height: 42px;
margin-top: 20px;
border: 0;
border-radius: 5px;
background: linear-gradient(180deg, #ff4a22 0%, #de2103 100%);
color: #ffffff;
font-size: 14px;
font-weight: 700;
cursor: pointer;
}
.tips {
margin-top: 12px;
padding: 10px 12px;
border: 1px solid #f2d2ca;
border-radius: 5px;
background: #fff8f6;
color: #8a4b42;
font-size: 12px;
line-height: 20px;
}
.error {
display: none;
margin-top: 14px;
padding: 10px 12px;
border: 1px solid #f4c7c7;
border-radius: 5px;
background: #fff5f5;
color: #b42318;
font-size: 13px;
line-height: 20px;
}
.actions {
display: flex;
justify-content: center;
gap: 16px;
margin-top: 16px;
}
.actions a,
.actions button {
border: 0;
background: transparent;
color: #de2103;
font-size: 13px;
text-decoration: none;
cursor: pointer;
}
+59
View File
@@ -79,6 +79,49 @@
background: #f8fafd;
}
.tl-flow-tabs {
display: grid;
grid-template-columns: repeat(5, minmax(120px, 1fr));
gap: 10px;
width: 100%;
}
.tl-flow-tab {
min-height: 70px;
padding: 12px 14px;
border: 1px solid var(--border-light);
border-radius: var(--radius-md);
background: #fff;
text-align: left;
cursor: pointer;
transition: all 0.2s;
}
.tl-flow-tab span,
.tl-flow-tab em {
display: block;
}
.tl-flow-tab span {
color: var(--text-dark);
font-size: 14px;
font-weight: 800;
}
.tl-flow-tab em {
margin-top: 6px;
color: var(--text-muted);
font-size: 12px;
font-style: normal;
}
.tl-flow-tab.active,
.tl-flow-tab:hover {
border-color: var(--primary);
background: rgba(16, 43, 106, 0.06);
box-shadow: var(--shadow-sm);
}
.tl-filter-group {
display: flex;
align-items: center;
@@ -191,6 +234,18 @@
font-weight: 800;
}
.tl-amount.income {
color: #15824a;
}
.tl-amount.outcome {
color: #e04828;
}
.tl-amount.neutral {
color: var(--text-dark);
}
.tl-status {
display: inline-flex;
align-items: center;
@@ -291,4 +346,8 @@
.tl-summary {
grid-template-columns: 1fr;
}
.tl-flow-tabs {
grid-template-columns: 1fr;
}
}