927b302152
- 新增 api/subscription.ts: 订阅 API 模块(mock数据+接口定义) - 新增 UpgradeSubscription.tsx + .css: 升级/降级/续费页面 - 新增 Billing.tsx + .css: 账单管理页面
129 lines
2.3 KiB
CSS
129 lines
2.3 KiB
CSS
/* 账单管理页面 */
|
|
.xx-billing-page {
|
|
max-width: 960px;
|
|
margin: 0 auto;
|
|
padding: 40px 24px;
|
|
}
|
|
|
|
/* 订阅概览 */
|
|
.xx-billing-overview {
|
|
background: rgba(255, 255, 255, 0.94);
|
|
border: 1px solid rgba(226, 232, 240, 0.95);
|
|
border-radius: 20px;
|
|
padding: 32px;
|
|
margin-bottom: 40px;
|
|
box-shadow: 0 8px 30px rgba(15, 23, 42, 0.06);
|
|
}
|
|
|
|
.xx-billing-overview h2 {
|
|
font-size: 24px;
|
|
font-weight: 800;
|
|
color: var(--slate, #0f172a);
|
|
margin: 0 0 24px;
|
|
}
|
|
|
|
.xx-overview-details {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 20px;
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.xx-overview-details {
|
|
grid-template-columns: repeat(2, 1fr);
|
|
}
|
|
}
|
|
|
|
.xx-overview-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
}
|
|
|
|
.xx-label {
|
|
font-size: 13px;
|
|
color: var(--muted, #64748b);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.xx-value {
|
|
font-size: 16px;
|
|
font-weight: 700;
|
|
color: var(--slate, #0f172a);
|
|
}
|
|
|
|
/* 账单记录 */
|
|
.xx-billing-history {
|
|
background: rgba(255, 255, 255, 0.94);
|
|
border: 1px solid rgba(226, 232, 240, 0.95);
|
|
border-radius: 20px;
|
|
padding: 32px;
|
|
box-shadow: 0 8px 30px rgba(15, 23, 42, 0.06);
|
|
}
|
|
|
|
.xx-billing-history h2 {
|
|
font-size: 24px;
|
|
font-weight: 800;
|
|
color: var(--slate, #0f172a);
|
|
margin: 0 0 24px;
|
|
}
|
|
|
|
/* 表格样式 */
|
|
.xx-billing-table {
|
|
width: 100%;
|
|
}
|
|
|
|
.xx-table-header {
|
|
display: grid;
|
|
grid-template-columns: 1.2fr 1fr 0.8fr 1fr 0.8fr 1fr;
|
|
gap: 12px;
|
|
padding: 12px 16px;
|
|
background: rgba(241, 245, 249, 0.8);
|
|
border-radius: 10px;
|
|
margin-bottom: 8px;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
color: var(--muted, #64748b);
|
|
}
|
|
|
|
.xx-table-row {
|
|
display: grid;
|
|
grid-template-columns: 1.2fr 1fr 0.8fr 1fr 0.8fr 1fr;
|
|
gap: 12px;
|
|
padding: 14px 16px;
|
|
align-items: center;
|
|
border-bottom: 1px solid rgba(226, 232, 240, 0.6);
|
|
font-size: 14px;
|
|
color: var(--slate, #0f172a);
|
|
transition: background 0.15s;
|
|
}
|
|
|
|
.xx-table-row:hover {
|
|
background: rgba(241, 245, 249, 0.4);
|
|
}
|
|
|
|
.xx-table-row:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.xx-amount {
|
|
font-weight: 700;
|
|
color: var(--indigo, #4f46e5);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.xx-table-header,
|
|
.xx-table-row {
|
|
grid-template-columns: 1fr 1fr 1fr;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.xx-table-header span:nth-child(4),
|
|
.xx-table-header span:nth-child(6),
|
|
.xx-table-row span:nth-child(4),
|
|
.xx-table-row span:nth-child(6) {
|
|
display: none;
|
|
}
|
|
}
|