feat(ops): v4.0.2 活动图模板、合伙人选择持久化与用户管理主图

HQ 上传底图与码栏;合伙人单选写入 partner_account.activity_poster_id,用户管理下次登录仍显示同一张图。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-30 21:36:43 +08:00
parent 0ff61c2cd1
commit 3166467518
39 changed files with 1872 additions and 35 deletions
+116
View File
@@ -3971,3 +3971,119 @@ header:has(> .app-page-title:only-child),
padding: 20px 20px calc(20px + env(safe-area-inset-bottom, 0px));
box-sizing: border-box;
}
.partner-activity-scroll {
display: flex;
gap: 10px;
overflow-x: auto;
padding-bottom: 4px;
-webkit-overflow-scrolling: touch;
}
.partner-activity-chip {
flex: 0 0 92px;
border: 1px solid var(--color-outline-variant, #eee);
border-radius: 12px;
background: #fff;
padding: 6px;
text-align: left;
cursor: pointer;
}
.partner-activity-chip img {
width: 100%;
height: 92px;
object-fit: cover;
border-radius: 8px;
display: block;
background: #f5f5f5;
}
.partner-activity-chip span {
display: block;
margin-top: 6px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.partner-activity-chip.is-active {
border-color: var(--color-heritage-red);
box-shadow: 0 0 0 1px var(--color-heritage-red);
}
.partner-activity-preview {
position: relative;
background: #f5f5f5;
}
.partner-activity-preview img {
width: 100%;
display: block;
}
.partner-activity-preview-mask {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.62);
color: var(--color-on-surface-variant, #666);
font-size: 14px;
}
.partner-activity-center-card {
flex: 0 0 120px;
text-decoration: none;
color: inherit;
}
.partner-activity-center-card img {
width: 100%;
height: 120px;
object-fit: cover;
border-radius: 12px;
display: block;
background: #f5f5f5;
}
.partner-activity-center-card span {
display: block;
margin-top: 6px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.partner-activity-radio-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 14px 16px;
cursor: pointer;
}
.partner-activity-radio-row input[type='radio'] {
width: 20px;
height: 20px;
flex-shrink: 0;
accent-color: var(--color-heritage-red);
}
.partner-activity-panel {
padding: 0 16px 16px;
}
.partner-activity-preview--qr {
display: flex;
justify-content: center;
background: #fff;
margin-bottom: 12px;
}
.partner-activity-preview--qr img {
width: 200px;
height: 200px;
}