feat(pay): card-pass redeem for VIP and balance (zibll-style)
Rewrite charge-card into typed single-use card_pass inventory with public redeem REST, user-center UI for balance/VIP, admin type-aware create/batch, and CAS mark-used fulfillment via Credits/activate_vip.
This commit is contained in:
1 parent
5d7b138c2c
commit
d34c954b83
14 files changed
+936
-132
No files matched your search
@@ -560,3 +560,62 @@
|
||||
box-shadow: none;
|
||||
border-color: var(--color-line, #e5e7eb);
|
||||
}
|
||||
|
||||
/* Card-pass redeem (balance / VIP) */
|
||||
.uc-card-pass {
|
||||
margin: 16px 0 0;
|
||||
padding: 14px 16px;
|
||||
border: 1px solid var(--color-line, #e5e7eb);
|
||||
border-radius: 12px;
|
||||
background: #fff;
|
||||
}
|
||||
.uc-card-pass__title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #111827;
|
||||
margin: 0 0 8px;
|
||||
}
|
||||
.uc-card-pass__title i { color: #2563eb; }
|
||||
.uc-card-pass__desc {
|
||||
margin: 0 0 10px;
|
||||
font-size: 12px;
|
||||
color: #6b7280;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.uc-card-pass__input {
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin: 0 0 8px;
|
||||
padding: 9px 12px;
|
||||
border: 1px solid #e5e7eb;
|
||||
border-radius: 8px;
|
||||
font-size: 13px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.uc-card-pass__btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 36px;
|
||||
padding: 0 14px;
|
||||
border: 0;
|
||||
border-radius: 8px;
|
||||
background: #2563eb;
|
||||
color: #fff;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
}
|
||||
.uc-card-pass__btn:hover { background: #1d4ed8; }
|
||||
.uc-card-pass__btn:disabled { opacity: .6; cursor: not-allowed; }
|
||||
.uc-card-pass__tip {
|
||||
margin: 8px 0 0;
|
||||
font-size: 12px;
|
||||
color: #059669;
|
||||
min-height: 1.2em;
|
||||
}
|
||||
.uc-card-pass__tip.is-error { color: #b91c1c; }
|
||||
|
||||
Reference in new issue
Block a user