拆分宣传页视图并扩充 Mock 数据,合作订单支持获客员备注名并修复线索图片网格尺寸。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -0,0 +1,66 @@
|
||||
//
|
||||
// ScenicPromotionBackgroundViews.swift
|
||||
// suixinkan
|
||||
//
|
||||
// Created by Codex on 2026/7/2.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
/// 宣传页全屏背景,叠加轻量蓝绿色遮罩以贴近参考图。
|
||||
struct ScenicPromotionSkyBackground: View {
|
||||
var body: some View {
|
||||
GeometryReader { proxy in
|
||||
ZStack(alignment: .bottom) {
|
||||
Image("ScenicPromotionBackground")
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
// 先限定为容器尺寸,再裁剪超出部分(scaledToFill 会放大图片)。
|
||||
.frame(width: proxy.size.width, height: proxy.size.height)
|
||||
.clipped()
|
||||
|
||||
LinearGradient(
|
||||
colors: [
|
||||
Color(hex: 0x1593FF, alpha: 0.16),
|
||||
Color(hex: 0xBFE9FF, alpha: 0.10),
|
||||
Color(hex: 0xEAF8FF, alpha: 0.42)
|
||||
],
|
||||
startPoint: .top,
|
||||
endPoint: .bottom
|
||||
)
|
||||
|
||||
LinearGradient(
|
||||
colors: [Color.clear, Color(hex: 0x62BA4C, alpha: 0.18)],
|
||||
startPoint: .top,
|
||||
endPoint: .bottom
|
||||
)
|
||||
.frame(height: 260)
|
||||
}
|
||||
.frame(width: proxy.size.width, height: proxy.size.height)
|
||||
.clipped()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// 顶部二维码图片,快速点击三次进入设置页密码弹窗。
|
||||
struct ScenicPromotionQRCodeView: View {
|
||||
var body: some View {
|
||||
Image("ScenicPromotionQRCode")
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
}
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#Preview("宣传页背景") {
|
||||
ScenicPromotionSkyBackground()
|
||||
.ignoresSafeArea()
|
||||
}
|
||||
|
||||
#Preview("宣传页二维码") {
|
||||
ScenicPromotionQRCodeView()
|
||||
.frame(width: 56, height: 56)
|
||||
.padding()
|
||||
.background(.white)
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user