Add 卓米会 mini program and admin server.
Initial commit of the WeChat mini program, Express backend, and admin console. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,163 @@
|
||||
.page {
|
||||
padding: 28rpx 32rpx 48rpx;
|
||||
}
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
gap: 20rpx;
|
||||
margin-bottom: 4rpx;
|
||||
}
|
||||
|
||||
.btn {
|
||||
flex: 1;
|
||||
height: 84rpx;
|
||||
border-radius: 18rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.add {
|
||||
background: #128a80;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.del {
|
||||
background: #ffffff;
|
||||
color: #dc2626;
|
||||
border: 2rpx solid #fecaca;
|
||||
}
|
||||
|
||||
.del.active {
|
||||
background: #fff1f2;
|
||||
}
|
||||
|
||||
.empty {
|
||||
margin-top: 160rpx;
|
||||
text-align: center;
|
||||
color: #9ca3af;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.card {
|
||||
margin-top: 28rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 28rpx;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 4rpx 16rpx rgba(15, 23, 42, 0.04);
|
||||
}
|
||||
|
||||
.card:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.card.pinned {
|
||||
box-shadow: 0 8rpx 24rpx rgba(18, 138, 128, 0.14);
|
||||
}
|
||||
|
||||
.cover {
|
||||
position: relative;
|
||||
height: 272rpx;
|
||||
padding: 32rpx;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cover-image,
|
||||
.cover-shade {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.cover-shade {
|
||||
background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.45) 100%);
|
||||
}
|
||||
|
||||
.cover-title {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
color: #ffffff;
|
||||
font-size: 36rpx;
|
||||
font-weight: 700;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.pin-badge,
|
||||
.video-badge {
|
||||
position: absolute;
|
||||
top: 20rpx;
|
||||
height: 44rpx;
|
||||
padding: 0 16rpx;
|
||||
border-radius: 22rpx;
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
color: #ffffff;
|
||||
font-size: 22rpx;
|
||||
font-weight: 600;
|
||||
line-height: 44rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.pin-badge {
|
||||
left: 20rpx;
|
||||
}
|
||||
|
||||
.video-badge {
|
||||
right: 20rpx;
|
||||
}
|
||||
|
||||
.theme-0 {
|
||||
background: linear-gradient(135deg, #0b6b66 0%, #13857c 100%);
|
||||
}
|
||||
|
||||
.theme-1 {
|
||||
background: linear-gradient(135deg, #1aa39a 0%, #4fd1c5 100%);
|
||||
}
|
||||
|
||||
.body {
|
||||
padding: 28rpx 32rpx 32rpx;
|
||||
}
|
||||
|
||||
.title-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 16rpx;
|
||||
}
|
||||
|
||||
.name {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
font-size: 32rpx;
|
||||
font-weight: 700;
|
||||
color: #111827;
|
||||
}
|
||||
|
||||
.ops {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.time {
|
||||
display: block;
|
||||
margin-top: 12rpx;
|
||||
color: #9ca3af;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.pin-btn {
|
||||
color: #128a80;
|
||||
font-size: 26rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.remove {
|
||||
color: #dc2626;
|
||||
font-size: 26rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
Reference in New Issue
Block a user