diff --git a/.gitignore b/.gitignore
index 99057ba..f2e87df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,11 @@
-unpackage/
\ No newline at end of file
+# uni-app 编译产物
+unpackage/
+
+# 依赖
+node_modules/
+
+# 本地环境与编辑器
+.idea/
+.vscode/
+.DS_Store
+*.log
diff --git a/pages/index/components/CompanyIntro.vue b/pages/index/components/CompanyIntro.vue
new file mode 100644
index 0000000..04a0ac6
--- /dev/null
+++ b/pages/index/components/CompanyIntro.vue
@@ -0,0 +1,258 @@
+
+
+
+
+
+
+
+
+
+
+ 公司简介
+
+
+
+ 用科技重新定义POD供应链
+ 让每一个创意,都能高效抵达全球
+
+
+
+
+ INKREACH印美达全球,一家以AI与智能印花技术驱动的全球化POD柔性供应链公司,致力于成为全球创业者最可靠的成长伙伴。
+
+
+
+
+
+ 服务对象与场景
+
+ 服务于数千家跨境独立站、TikTok、TEMU、SHEIN等平台商家,提供从海外生产到末端物流的一站式供应链服务,让电商创业者专注增长,无惧后端履约。
+
+
+
+ 愿景
+
+ 我们坚信,每一个创意都值得被完美呈现。Inkreach将持续深耕智能供应链生态,用科技消除制造壁垒,让全球创业者专注发挥创造力,共同书写个性化电商的新纪元。
+
+
+
+
+
+
+
+
+ {{ getAbilityIcon(index) }}
+
+ {{ item.title }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/components/HeroBanner.vue b/pages/index/components/HeroBanner.vue
new file mode 100644
index 0000000..aab041e
--- /dev/null
+++ b/pages/index/components/HeroBanner.vue
@@ -0,0 +1,138 @@
+
+
+
+
+
+ inkreach
+ 印美达全球
+
+
+
+
+ 全球POD供应链平台
+
+
+
+
+ 连接设计、生产、订单与全球物流,助力跨境卖家快速上新、稳定履约
+
+
+
+
+
+ {{ item.value }}
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/components/PlatformFeatures.vue b/pages/index/components/PlatformFeatures.vue
new file mode 100644
index 0000000..c005597
--- /dev/null
+++ b/pages/index/components/PlatformFeatures.vue
@@ -0,0 +1,145 @@
+
+
+
+ 用强大的功能,开启盈利快车道
+
+
+
+
+
+ 0{{ index + 1 }}
+ {{ item.title }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/components/PodCatalog.vue b/pages/index/components/PodCatalog.vue
new file mode 100644
index 0000000..d823d33
--- /dev/null
+++ b/pages/index/components/PodCatalog.vue
@@ -0,0 +1,171 @@
+
+
+
+ 全球POD货盘
+
+
+
+
+
+ {{ item.flag }} {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+ 更多产品
+ →
+
+
+
+
+
+
+
diff --git a/pages/index/components/StepsFlow.vue b/pages/index/components/StepsFlow.vue
new file mode 100644
index 0000000..4618550
--- /dev/null
+++ b/pages/index/components/StepsFlow.vue
@@ -0,0 +1,149 @@
+
+
+
+ 4步开始你的按需定制生意
+
+
+
+
+
+ {{ item.step }}
+ {{ item.title }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/components/WhyChoose.vue b/pages/index/components/WhyChoose.vue
new file mode 100644
index 0000000..01a69b2
--- /dev/null
+++ b/pages/index/components/WhyChoose.vue
@@ -0,0 +1,97 @@
+
+
+
+ 为什么选择Inkreach?
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
diff --git a/pages/index/index.css b/pages/index/index.css
deleted file mode 100644
index 9ddb378..0000000
--- a/pages/index/index.css
+++ /dev/null
@@ -1,828 +0,0 @@
-/* 首页样式 - 印美达 Inkreach */
-
-.home {
- min-height: 100vh;
- background: #ffffff;
- overflow-x: hidden;
-}
-
-/* 导航栏 */
-.nav-bar {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- z-index: 1000;
- background: #ffffff;
- box-shadow: 0 1rpx 0 rgba(0, 0, 0, 0.05);
-}
-
-.nav-content {
- height: 88rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 0 32rpx;
-}
-
-.nav-logo {
- display: flex;
- align-items: baseline;
- gap: 8rpx;
-}
-
-.logo-text {
- font-size: 32rpx;
- font-weight: 700;
- color: #ff6800;
- font-style: italic;
-}
-
-.logo-cn {
- font-size: 24rpx;
- color: #333;
- font-weight: 500;
-}
-
-.nav-actions {
- display: flex;
- align-items: center;
- gap: 24rpx;
-}
-
-.nav-btn {
- font-size: 26rpx;
- color: #333;
-}
-
-.nav-login {
- font-size: 24rpx;
- color: #ff6800;
- border: 2rpx solid #ff6800;
- padding: 8rpx 24rpx;
- border-radius: 32rpx;
-}
-
-/* Hero 首屏 */
-.hero {
- position: relative;
- padding: 60rpx 32rpx 80rpx;
- overflow: hidden;
- background: linear-gradient(180deg, #fff5ee 0%, #ffffff 100%);
-}
-
-.hero-bg {
- position: absolute;
- top: -100rpx;
- right: -200rpx;
- width: 600rpx;
- height: 600rpx;
- background: radial-gradient(circle, rgba(255, 104, 0, 0.06) 0%, transparent 70%);
- border-radius: 50%;
-}
-
-.hero-content {
- position: relative;
- z-index: 2;
-}
-
-.hero-title {
- display: flex;
- flex-direction: column;
- gap: 8rpx;
-}
-
-.hero-title-main {
- font-size: 72rpx;
- font-weight: 800;
- color: #1a1a1a;
- line-height: 1.2;
- letter-spacing: 2rpx;
-}
-
-.hero-subtitle {
- font-size: 30rpx;
- color: #666;
- margin-top: 24rpx;
-}
-
-.hero-tags {
- display: flex;
- gap: 16rpx;
- margin-top: 32rpx;
-}
-
-.hero-tag {
- font-size: 22rpx;
- color: #ff6800;
- background: rgba(255, 104, 0, 0.08);
- padding: 8rpx 20rpx;
- border-radius: 24rpx;
- font-weight: 500;
-}
-
-.hero-cta {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- background: #ff6800;
- color: #ffffff;
- font-size: 30rpx;
- font-weight: 600;
- padding: 24rpx 64rpx;
- border-radius: 48rpx;
- margin-top: 48rpx;
- box-shadow: 0 8rpx 24rpx rgba(255, 104, 0, 0.3);
-}
-
-/* 3D插画区 */
-.hero-illustration {
- position: relative;
- height: 400rpx;
- margin-top: 40rpx;
-}
-
-.hero-illust-item {
- position: absolute;
-}
-
-.hero-illist-tshirt {
- top: 20rpx;
- left: 20rpx;
- transform: rotate(-8deg);
-}
-
-.hero-illist-bag {
- top: 60rpx;
- right: 40rpx;
- transform: rotate(12deg);
-}
-
-.hero-illist-box {
- bottom: 0;
- left: 50%;
- transform: translateX(-50%) rotate(-3deg);
-}
-
-.illust-placeholder {
- border-radius: 24rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 80rpx;
-}
-
-.illust-placeholder.tshirt {
- width: 200rpx;
- height: 220rpx;
- background: linear-gradient(135deg, #ff6800 0%, #ff8c40 100%);
-}
-
-.illust-placeholder.bag {
- width: 180rpx;
- height: 200rpx;
- background: linear-gradient(135deg, #f26522 0%, #ff8855 100%);
-}
-
-.illust-placeholder.box {
- width: 240rpx;
- height: 180rpx;
- background: linear-gradient(135deg, #ff6800 0%, #ffa040 100%);
-}
-
-/* 通用 section */
-.section-title {
- font-size: 40rpx;
- font-weight: 700;
- color: #1a1a1a;
- text-align: center;
- display: block;
-}
-
-.section-subtitle {
- font-size: 26rpx;
- color: #999;
- text-align: center;
- margin-top: 12rpx;
- display: block;
-}
-
-.section-title-small {
- font-size: 28rpx;
- color: #666;
- text-align: center;
- display: block;
- margin-bottom: 32rpx;
-}
-
-/* 信任指标 */
-.trust-section {
- padding: 64rpx 32rpx;
- background: #ffffff;
-}
-
-.trust-grid {
- display: flex;
- flex-wrap: wrap;
- gap: 24rpx;
-}
-
-.trust-card {
- flex: 1;
- min-width: 160rpx;
- background: #fff8f3;
- border-radius: 16rpx;
- padding: 28rpx 16rpx;
- text-align: center;
-}
-
-.trust-number {
- font-size: 40rpx;
- font-weight: 700;
- color: #ff6800;
- display: block;
-}
-
-.trust-label {
- font-size: 24rpx;
- color: #666;
- margin-top: 8rpx;
- display: block;
-}
-
-/* 4步流程 */
-.steps-section {
- padding: 64rpx 32rpx;
- background: #fafafa;
-}
-
-.steps-list {
- margin-top: 40rpx;
-}
-
-.step-item {
- display: flex;
- align-items: center;
- padding: 24rpx;
- background: #ffffff;
- border-radius: 16rpx;
- margin-bottom: 16rpx;
- transition: all 0.3s;
- border: 2rpx solid transparent;
-}
-
-.step-item.active {
- border-color: #ff6800;
- box-shadow: 0 4rpx 16rpx rgba(255, 104, 0, 0.1);
-}
-
-.step-number {
- font-size: 36rpx;
- font-weight: 800;
- color: #ddd;
- width: 80rpx;
- flex-shrink: 0;
-}
-
-.step-item.active .step-number {
- color: #ff6800;
-}
-
-.step-info {
- flex: 1;
- display: flex;
- flex-direction: column;
- gap: 6rpx;
-}
-
-.step-title {
- font-size: 30rpx;
- font-weight: 600;
- color: #333;
-}
-
-.step-desc {
- font-size: 24rpx;
- color: #999;
-}
-
-.step-visual {
- margin-top: 32rpx;
-}
-
-.step-visual-card {
- background: #ffffff;
- border-radius: 20rpx;
- padding: 48rpx 32rpx;
- text-align: center;
- border: 2rpx solid #ff6800;
-}
-
-.step-visual-icon {
- width: 120rpx;
- height: 120rpx;
- border-radius: 50%;
- background: #fff0e5;
- display: flex;
- align-items: center;
- justify-content: center;
- margin: 0 auto 24rpx;
-}
-
-.step-visual-emoji {
- font-size: 56rpx;
-}
-
-.step-visual-text {
- font-size: 28rpx;
- color: #666;
- line-height: 1.6;
-}
-
-/* 全球POD货盘 */
-.catalog-section {
- padding: 64rpx 0;
- background: #ffffff;
-}
-
-.catalog-section .section-title {
- padding: 0 32rpx;
-}
-
-.category-tabs {
- white-space: nowrap;
- padding: 24rpx 32rpx;
-}
-
-.cat-tab {
- display: inline-block;
- padding: 12rpx 32rpx;
- margin-right: 16rpx;
- font-size: 26rpx;
- color: #666;
- background: #f5f5f5;
- border-radius: 32rpx;
- transition: all 0.3s;
-}
-
-.cat-tab.active {
- background: #ff6800;
- color: #ffffff;
-}
-
-.product-preview-grid {
- display: flex;
- flex-wrap: wrap;
- padding: 0 32rpx;
- gap: 24rpx;
-}
-
-.product-preview-card {
- width: calc(50% - 12rpx);
- background: #ffffff;
- border-radius: 16rpx;
- overflow: hidden;
- box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);
-}
-
-.product-preview-img {
- width: 100%;
- height: 280rpx;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.product-preview-emoji {
- font-size: 80rpx;
-}
-
-.product-preview-info {
- padding: 16rpx;
-}
-
-.product-preview-name {
- font-size: 26rpx;
- color: #333;
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.product-preview-price {
- font-size: 28rpx;
- color: #ff6800;
- font-weight: 600;
- margin-top: 8rpx;
- display: block;
-}
-
-.see-more {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 8rpx;
- padding: 24rpx;
- font-size: 28rpx;
- color: #ff6800;
-}
-
-.see-more .arrow {
- font-size: 24rpx;
-}
-
-/* 平台功能 */
-.features-section {
- padding: 64rpx 32rpx;
- background: #fafafa;
-}
-
-.features-grid {
- display: flex;
- flex-wrap: wrap;
- gap: 24rpx;
- margin-top: 40rpx;
-}
-
-.feature-card {
- width: calc(50% - 12rpx);
- background: #ffffff;
- border-radius: 16rpx;
- padding: 32rpx 24rpx;
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- gap: 12rpx;
-}
-
-.feature-icon {
- width: 80rpx;
- height: 80rpx;
- border-radius: 20rpx;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.feature-emoji {
- font-size: 40rpx;
-}
-
-.feature-title {
- font-size: 30rpx;
- font-weight: 600;
- color: #333;
-}
-
-.feature-desc {
- font-size: 24rpx;
- color: #999;
- line-height: 1.5;
-}
-
-/* 为什么选择 */
-.why-section {
- padding: 64rpx 32rpx;
- background: #ffffff;
-}
-
-.why-grid {
- display: flex;
- flex-wrap: wrap;
- gap: 24rpx;
- margin-top: 40rpx;
-}
-
-.why-card {
- width: calc(50% - 12rpx);
- text-align: center;
- padding: 32rpx 16rpx;
- background: #fff8f3;
- border-radius: 16rpx;
-}
-
-.why-icon {
- width: 72rpx;
- height: 72rpx;
- margin: 0 auto 16rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- background: #ffffff;
- border-radius: 50%;
-}
-
-.why-emoji {
- font-size: 36rpx;
-}
-
-.why-title {
- font-size: 28rpx;
- font-weight: 600;
- color: #333;
- display: block;
- margin-bottom: 8rpx;
-}
-
-.why-desc {
- font-size: 22rpx;
- color: #999;
- display: block;
-}
-
-/* 公司简介 */
-.company-section {
- padding: 64rpx 32rpx;
- background: #fafafa;
-}
-
-.company-card {
- background: #ffffff;
- border-radius: 20rpx;
- padding: 40rpx 32rpx;
- margin-top: 32rpx;
-}
-
-.company-headline {
- display: flex;
- flex-direction: column;
- font-size: 32rpx;
- font-weight: 600;
- color: #1a1a1a;
- line-height: 1.6;
- margin-bottom: 32rpx;
-}
-
-.company-content {
- display: flex;
- flex-direction: column;
- gap: 24rpx;
-}
-
-.company-block-title {
- font-size: 26rpx;
- font-weight: 600;
- color: #ff6800;
- display: block;
- margin-bottom: 8rpx;
-}
-
-.company-block-text {
- font-size: 24rpx;
- color: #666;
- line-height: 1.7;
-}
-
-.company-stats {
- display: flex;
- justify-content: space-around;
- margin-top: 32rpx;
- padding-top: 32rpx;
- border-top: 1rpx solid #eee;
-}
-
-.company-stat {
- text-align: center;
-}
-
-.company-stat-number {
- font-size: 36rpx;
- font-weight: 700;
- color: #ff6800;
- display: block;
-}
-
-.company-stat-label {
- font-size: 22rpx;
- color: #999;
- margin-top: 4rpx;
- display: block;
-}
-
-/* 用户案例 */
-.cases-section {
- padding: 64rpx 0;
- background: #ffffff;
-}
-
-.cases-section .section-title {
- padding: 0 32rpx;
-}
-
-.cases-scroll {
- white-space: nowrap;
- padding: 32rpx;
-}
-
-.case-card {
- display: inline-block;
- width: 480rpx;
- background: #ffffff;
- border-radius: 20rpx;
- overflow: hidden;
- margin-right: 24rpx;
- box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
- vertical-align: top;
-}
-
-.case-image {
- width: 100%;
- height: 320rpx;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.case-emoji {
- font-size: 80rpx;
-}
-
-.case-info {
- padding: 24rpx;
-}
-
-.case-title {
- font-size: 28rpx;
- font-weight: 600;
- color: #333;
- display: block;
- margin-bottom: 12rpx;
-}
-
-.case-tags {
- display: flex;
- gap: 8rpx;
- margin-bottom: 16rpx;
-}
-
-.case-tag {
- font-size: 20rpx;
- padding: 4rpx 12rpx;
- background: #fff0e5;
- color: #ff6800;
- border-radius: 8rpx;
-}
-
-.case-metrics {
- display: flex;
- gap: 24rpx;
- padding-top: 16rpx;
- border-top: 1rpx solid #eee;
-}
-
-.case-metric-value {
- font-size: 32rpx;
- font-weight: 700;
- color: #ff6800;
- display: block;
-}
-
-.case-metric-label {
- font-size: 22rpx;
- color: #999;
- display: block;
-}
-
-/* 最终CTA */
-.cta-section {
- position: relative;
- padding: 80rpx 32rpx;
- overflow: hidden;
-}
-
-.cta-bg {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: linear-gradient(135deg, #ff6800 0%, #ff8c40 100%);
-}
-
-.cta-content {
- position: relative;
- z-index: 2;
- text-align: center;
-}
-
-.cta-title {
- display: flex;
- flex-direction: column;
- font-size: 48rpx;
- font-weight: 700;
- color: #ffffff;
- line-height: 1.4;
-}
-
-.cta-desc {
- font-size: 26rpx;
- color: rgba(255, 255, 255, 0.85);
- margin-top: 16rpx;
- display: block;
-}
-
-.cta-input-wrap {
- display: flex;
- gap: 16rpx;
- margin-top: 40rpx;
- padding: 0 16rpx;
-}
-
-.cta-input {
- flex: 1;
- height: 80rpx;
- background: rgba(255, 255, 255, 0.95);
- border-radius: 40rpx;
- padding: 0 32rpx;
- font-size: 26rpx;
- color: #333;
-}
-
-.cta-placeholder {
- color: #ccc;
-}
-
-.cta-btn {
- display: flex;
- align-items: center;
- justify-content: center;
- background: #1a1a1a;
- color: #ffffff;
- font-size: 28rpx;
- font-weight: 600;
- padding: 0 40rpx;
- border-radius: 40rpx;
-}
-
-/* 底部 */
-.footer {
- background: #121212;
- padding: 48rpx 32rpx;
- padding-bottom: calc(48rpx + env(safe-area-inset-bottom));
-}
-
-.footer-top {
- text-align: center;
- margin-bottom: 40rpx;
-}
-
-.footer-logo {
- display: flex;
- align-items: baseline;
- justify-content: center;
- gap: 8rpx;
- margin-bottom: 16rpx;
-}
-
-.footer-logo-en {
- font-size: 36rpx;
- font-weight: 700;
- color: #ff6800;
- font-style: italic;
-}
-
-.footer-logo-cn {
- font-size: 28rpx;
- color: #fff;
-}
-
-.footer-slogan {
- font-size: 22rpx;
- color: rgba(255, 255, 255, 0.5);
-}
-
-.footer-links {
- display: flex;
- justify-content: space-around;
- margin-bottom: 40rpx;
-}
-
-.footer-col {
- display: flex;
- flex-direction: column;
- gap: 12rpx;
-}
-
-.footer-col-title {
- font-size: 26rpx;
- font-weight: 600;
- color: #fff;
- margin-bottom: 8rpx;
-}
-
-.footer-link {
- font-size: 22rpx;
- color: rgba(255, 255, 255, 0.5);
-}
-
-.footer-bottom {
- text-align: center;
- padding-top: 32rpx;
- border-top: 1rpx solid rgba(255, 255, 255, 0.1);
-}
-
-.footer-copyright {
- font-size: 20rpx;
- color: rgba(255, 255, 255, 0.3);
-}
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 95664d8..0324f72 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -1,532 +1,87 @@
-
-
-
-
-
-
- inkreach
- 印美达
-
-
- 产品中心
- 立即开始
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
- 一站定制
- 链通全球
-
- 从定制设计到生产发货如此简单
-
- 0库存
- 1件起订
- 全球配送
-
-
- 免费开始
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
- 全球5000+卖家信赖我们的平台
-
-
- 1000万+
- 订单履约
-
-
- 20+
- 国家覆盖
-
-
- 500+
- 合作工厂
-
-
- 24H
- 极速发货
-
-
-
+
+
-
-
- 4步开始你的按需定制生意
-
-
- 01
-
- 选择产品
- 从全球POD货盘中选择热销产品
-
-
-
- 02
-
- 上传设计
- 使用在线设计工具创建专属图案
-
-
-
- 03
-
- 在线销售
- 一键上架到Shopify等电商平台
-
-
-
- 04
-
- 生产配送
- 自动生产全球发货履约无忧
-
-
-
-
-
-
- {{ stepEmoji }}
-
- {{ stepDesc }}
-
-
-
+
+
-
-
- 全球POD货盘
- 多元化产品选择,满足场景化需求
-
-
- {{ item.name }}
-
-
-
-
-
- {{ item.emoji }}
-
-
-
- {{ item.name }}
- ¥{{ item.price }}起
-
-
-
-
- 查看更多产品
- >
-
-
-
-
-
- 用强大功能,开启盈利快车道
-
-
-
- {{ item.emoji }}
-
-
- {{ item.title }}
-
- {{ item.desc }}
-
-
-
-
-
-
- 为什么选择Inkreach?
-
-
-
- {{ item.emoji }}
-
-
- {{ item.title }}
-
- {{ item.desc }}
-
-
-
-
-
-
- 公司简介
-
-
- 用科技重新定义服装供应链
- 让每一个创意,都能高效抵达全球
-
-
-
- 服务对象与场景
-
- 服务于数千家跨境独立站、TikTok、TEMU、SHEIN等平台商家,提供从海外生产到末端物流的一站式供应链服务,让电商创业者专注增长,无惧后端履约。
-
-
-
- 愿景
-
- 我们坚信,每一个创意都值得被完美呈现。INKREACH将持续深耕智能供应链生态,用科技消除制造壁垒,让全球创业者专注发挥创造力。
-
-
-
-
-
- {{ item.value }}
-
- {{ item.label }}
-
-
-
-
-
-
-
- 用户案例
-
-
-
- {{ item.emoji }}
-
-
-
- {{ item.title }}
-
- {{ tag }}
-
-
-
- {{ item.roi }}
- ROI
-
-
- {{ item.revenue }}
- 月收入
-
-
-
-
-
-
-
-
-
-
-
-
- 开始你的POD生意
- 现在就行动
-
- 加入成千上万的成功卖家,开始你的定制商品生意
-
-
- 立即注册
-
-
-
-
-
-
-
+
+
+
+
diff --git a/pages/index/mock.js b/pages/index/mock.js
new file mode 100644
index 0000000..ec1cfac
--- /dev/null
+++ b/pages/index/mock.js
@@ -0,0 +1,170 @@
+// 首页 mock 数据
+// 设计稿尺寸: 390px 宽度,1px = 750/390 ≈ 1.923rpx
+
+// Hero 区 4个指标
+export const trustStats = [
+ { value: '11国', label: '全球生产工厂' },
+ { value: '24h', label: '极速发货' },
+ { value: '1000w+', label: '订单履约' },
+ { value: '800+', label: '产品SKU' }
+]
+
+// 4步流程
+export const stepList = [
+ {
+ step: '01',
+ title: '选择产品',
+ desc: '海量爆款产品,满足多元化场景需求'
+ },
+ {
+ step: '02',
+ title: '上传设计',
+ desc: '可视化编辑器,轻松实现创意落地'
+ },
+ {
+ step: '03',
+ title: '自动生产',
+ desc: '智能分发工厂,高效品质管控'
+ },
+ {
+ step: '04',
+ title: '全球配送',
+ desc: '多国本地仓,7日极速达'
+ }
+]
+
+// 全球POD货盘 - 国家tab
+export const countryTabs = [
+ { id: 'us', name: '美国', flag: '🇺🇸' },
+ { id: 'ca', name: '加拿大', flag: '🇨🇦' },
+ { id: 'mx', name: '墨西哥', flag: '🇲🇽' },
+ { id: 'br', name: '巴西', flag: '🇧🇷' },
+ { id: 'ar', name: '阿根廷', flag: '🇦🇷' }
+]
+
+// 全球POD货盘 - 产品列表
+export const podProducts = [
+ {
+ id: 1,
+ name: '女士短款露脐T恤',
+ price: '19.00',
+ image: '/static/images/home/Rectangle_181_1455_1450.png'
+ },
+ {
+ id: 2,
+ name: '女士短款露脐T恤',
+ price: '19.00',
+ image: '/static/images/home/Rectangle_181_1455_1456.png'
+ },
+ {
+ id: 3,
+ name: '女士短款露脐T恤',
+ price: '19.00',
+ image: '/static/images/home/Rectangle_63_1446_1437.png'
+ },
+ {
+ id: 4,
+ name: '女士短款露脐T恤',
+ price: '19.00',
+ image: '/static/images/home/Rectangle_63_1455_1461.png'
+ }
+]
+
+// 平台功能卡片
+export const featureList = [
+ {
+ id: 1,
+ title: '在线设计工具',
+ desc: '可视化编辑器,支持图片文字自由创作',
+ icon: '/static/icons/home/Vector_1460_1460.svg',
+ bgColor: '#FFF0E5'
+ },
+ {
+ id: 2,
+ title: '自动化履约',
+ desc: '订单自动分配工厂生产发货',
+ icon: '/static/icons/home/Vector_1461_1461.svg',
+ bgColor: '#E5F5FF'
+ },
+ {
+ id: 3,
+ title: '全球配送',
+ desc: '多国本地仓7日达',
+ icon: '/static/icons/home/Vector_1462_1462.svg',
+ bgColor: '#F0FFE5'
+ },
+ {
+ id: 4,
+ title: '店铺集成',
+ desc: '对接主流电商平台',
+ icon: '/static/icons/home/Vector_1463_1463.svg',
+ bgColor: '#FFF5E5'
+ }
+]
+
+// 集成平台列表
+export const platformList = [
+ { id: 1, name: 'Amazon', image: '' },
+ { id: 2, name: 'Shopify', image: '' },
+ { id: 3, name: 'TikTok', image: '' },
+ { id: 4, name: 'Temu', image: '' },
+ { id: 5, name: 'Shein', image: '' },
+ { id: 6, name: 'Etsy', image: '' },
+ { id: 7, name: 'eBay', image: '' }
+]
+
+// 为什么选择 - 4个优势
+export const reasonList = [
+ {
+ id: 1,
+ title: '零库存',
+ desc: '按需生产,降低库存风险',
+ icon: ''
+ },
+ {
+ id: 2,
+ title: '快速生产',
+ desc: '48小时极速出货',
+ icon: ''
+ },
+ {
+ id: 3,
+ title: '优质产品',
+ desc: '严格品质管控',
+ icon: ''
+ },
+ {
+ id: 4,
+ title: '全球配送',
+ desc: '覆盖200+国家',
+ icon: ''
+ }
+]
+
+// 公司简介 - 4个核心能力
+export const companyFeatures = [
+ {
+ id: 1,
+ title: '前沿印花技术',
+ desc: '创新数码直喷等工艺,品质与效率兼得',
+ icon: ''
+ },
+ {
+ id: 2,
+ title: 'AI 深度AI应用',
+ desc: 'AI设计辅助生产,全链路智能提效',
+ icon: ''
+ },
+ {
+ id: 3,
+ title: '全球智能工厂',
+ desc: '11国本土化生产POD工厂,当地产能随时开启',
+ icon: ''
+ },
+ {
+ id: 4,
+ title: '一站式柔性交付',
+ desc: '覆盖生产到物流,从小品牌到大牌全链路业务落地',
+ icon: ''
+ }
+]
diff --git a/pages/product-detail/components/ColorSelector.vue b/pages/product-detail/components/ColorSelector.vue
new file mode 100644
index 0000000..0d3f8fb
--- /dev/null
+++ b/pages/product-detail/components/ColorSelector.vue
@@ -0,0 +1,95 @@
+
+
+
+ 颜色
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
diff --git a/pages/product-detail/components/DetailSwiper.vue b/pages/product-detail/components/DetailSwiper.vue
new file mode 100644
index 0000000..e86db26
--- /dev/null
+++ b/pages/product-detail/components/DetailSwiper.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/product-detail/components/PackagingSpec.vue b/pages/product-detail/components/PackagingSpec.vue
new file mode 100644
index 0000000..021c70e
--- /dev/null
+++ b/pages/product-detail/components/PackagingSpec.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.size }}
+
+
+
+
+ {{ row.dimension.cm }}
+ {{ row.dimension.in }}
+
+
+
+
+ {{ row.volume.cm }}
+ {{ row.volume.in }}
+
+
+
+
+ {{ row.weight.cm }}
+ {{ row.weight.in }}
+
+
+
+
+
+
+
+
+
diff --git a/pages/product-detail/components/ParamsTable.vue b/pages/product-detail/components/ParamsTable.vue
new file mode 100644
index 0000000..31490ca
--- /dev/null
+++ b/pages/product-detail/components/ParamsTable.vue
@@ -0,0 +1,179 @@
+
+
+
+ 产品参数
+
+
+
+ {{ item.label }}
+ {{ item.value }}
+
+
+
+
+ {{ expandableParam.label }}
+
+ {{ expandableParam.value }}
+
+
+
+
+
+ 展开
+
+
+
+
+
+
+ 收起
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/product-detail/components/ProductInfo.vue b/pages/product-detail/components/ProductInfo.vue
new file mode 100644
index 0000000..cc93152
--- /dev/null
+++ b/pages/product-detail/components/ProductInfo.vue
@@ -0,0 +1,137 @@
+
+
+
+
+ {{ info.name }}
+
+
+
+
+ SKU:
+ {{ info.sku }}
+
+
+ 国家:
+ {{ info.country }}
+
+
+
+
+
+ {{ info.price.symbol }}
+ {{ info.price.integer }}
+ {{ info.price.decimal }}
+
+
+
+
+
+
+
+
+ {{ item.label }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
diff --git a/pages/product-detail/components/SizeChart.vue b/pages/product-detail/components/SizeChart.vue
new file mode 100644
index 0000000..6e81c6c
--- /dev/null
+++ b/pages/product-detail/components/SizeChart.vue
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.size }}
+ {{ row.shoulder }}
+ {{ row.chest }}
+ {{ row.length }}
+ {{ row.sleeve }}
+
+
+
+
+
+
+
+
diff --git a/pages/product-detail/components/SizeSelector.vue b/pages/product-detail/components/SizeSelector.vue
new file mode 100644
index 0000000..0ae09d4
--- /dev/null
+++ b/pages/product-detail/components/SizeSelector.vue
@@ -0,0 +1,87 @@
+
+
+
+ 尺码
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
diff --git a/pages/product-detail/mock.js b/pages/product-detail/mock.js
new file mode 100644
index 0000000..741d2cb
--- /dev/null
+++ b/pages/product-detail/mock.js
@@ -0,0 +1,100 @@
+// 产品详情页 mock 数据(基于 Figma 设计稿 1544:530)
+
+export const mockProduct = {
+ id: 1,
+ name: '180G牛奶丝T恤 DG120',
+ sku: 'DG120',
+ country: '美国',
+ // 价格:符号/整数/小数 三段不同字号,全部红色 #FF0000
+ price: {
+ symbol: '¥',
+ integer: '19',
+ decimal: '.00'
+ },
+ // 价格下方的 4 列快捷信息
+ quickInfo: [
+ { label: '生产工艺', value: '白墨烫画' },
+ { label: '发货时效', value: '48小时' },
+ { label: '印花', value: '单面印' },
+ { label: '产品编码', value: 'NS6001152' }
+ ]
+}
+
+// 5 张图片对应 5 个指示点(mock 用同一张图)
+export const mockImages = [
+ '/static/images/detail/Rectangle_194_1548_574.png',
+ '/static/images/detail/Rectangle_194_1548_574.png',
+ '/static/images/detail/Rectangle_194_1548_574.png',
+ '/static/images/detail/Rectangle_194_1548_574.png',
+ '/static/images/detail/Rectangle_194_1548_574.png'
+]
+
+// 6 个颜色:第一行 4 个,第二行 2 个;默认选中"灰色"
+export const mockColors = [
+ { id: 1, name: '白色', value: '#FFFFFF' },
+ { id: 2, name: '黑色', value: '#000000' },
+ { id: 3, name: '灰色', value: '#838383' },
+ { id: 4, name: '橙色', value: '#FF6800' },
+ { id: 5, name: '藏青', value: '#0F215B' },
+ { id: 6, name: '粉色', value: '#FFB7D2' }
+]
+
+// 默认选中 L
+export const mockSizes = ['S', 'M', 'L', 'XL', '2XL']
+
+// 产品参数:前 3 项固定行高,"补充说明"可展开/收起
+export const mockParams = [
+ { label: '克重', value: '180g' },
+ { label: '材质', value: '纯棉' },
+ { label: '定制类型', value: '来图定制' },
+ {
+ label: '补充说明',
+ expandable: true,
+ value:
+ '【 材质说明 】\n97%聚酯纤维 3%氨纶\n【 产品性能 】\n优质材料:这款露背T恤采用优质材料制成,面料柔软、轻薄贴身。 时尚外观:性感T恤设计,时尚性感,简约大方,适合大多数人的体型。 面料轻盈:舒适款式设计为您带来一个更加干净的外观,面料轻盈柔软,让您全天舒适。 轻松百搭:简单搭配外套、长裤、牛仔裤或沙滩休闲短裤,都是非常不错的选择,也可以选择就单穿,让您一直保持凉爽和放松。\n【 适用情景 】\n适用于日常生活、工作、出游、逛街等场合。\n【 洗涤说明 】\n可手洗可机洗,不要长时间浸泡,不可漂白,洗涤液温度不能超过45ºC。\n【 温馨提醒 】\n该图片展示效果仅供参考,最终效果以实物为准!由于生产批次、机器设备、纸样大小不同等客观因素原因,难以避免或将存在微小色差、位置及大小等误差,如遇以上问题均属于正常现象,将不予纳入售后处理范畴。 另外,根据各国本土政策要求,请勿上传科技单、跑水单等非正规来源面单,严禁使用侵权图案及未授权 IP、商标、赛事元素等内容。 违规订单将不予生产发货,已产生费用不予退还,相应风险与责任由下单方自行承担。感谢您的理解与配合。'
+ }
+]
+
+// 产品尺码表:4 行 5 列
+export const mockSizeChart = {
+ unit: 'cm',
+ columns: ['尺码', '肩宽', '胸围', '衣长', '袖长'],
+ rows: [
+ { size: 'S', shoulder: '51', chest: '56', length: '62', sleeve: '48' },
+ { size: 'M', shoulder: '51', chest: '56', length: '62', sleeve: '48' },
+ { size: 'L', shoulder: '51', chest: '56', length: '62', sleeve: '48' },
+ { size: 'XL', shoulder: '51', chest: '56', length: '62', sleeve: '48' }
+ ]
+}
+
+// 包装规格表:4 行 4 列,每个单元格双单位(cm + in)
+export const mockPackaging = {
+ unit: 'cm',
+ columns: ['尺码', '尺寸', '体积', '重量'],
+ rows: [
+ {
+ size: 'S',
+ dimension: { cm: '31.0*23.0*1.0cm', in: '12.20*9.06*0.39in' },
+ volume: { cm: '713.00cm³', in: '43.51in³' },
+ weight: { cm: '200.00g', in: '0.36lb' }
+ },
+ {
+ size: 'M',
+ dimension: { cm: '31.0*23.0*1.0cm', in: '12.20*9.06*0.39in' },
+ volume: { cm: '713.00cm³', in: '43.51in³' },
+ weight: { cm: '200.00g', in: '0.36lb' }
+ },
+ {
+ size: 'L',
+ dimension: { cm: '31.0*23.0*1.0cm', in: '12.20*9.06*0.39in' },
+ volume: { cm: '713.00cm³', in: '43.51in³' },
+ weight: { cm: '200.00g', in: '0.36lb' }
+ },
+ {
+ size: 'XL',
+ dimension: { cm: '31.0*23.0*1.0cm', in: '12.20*9.06*0.39in' },
+ volume: { cm: '713.00cm³', in: '43.51in³' },
+ weight: { cm: '200.00g', in: '0.36lb' }
+ }
+ ]
+}
diff --git a/pages/product-detail/product-detail.css b/pages/product-detail/product-detail.css
index 664071d..925e40e 100644
--- a/pages/product-detail/product-detail.css
+++ b/pages/product-detail/product-detail.css
@@ -1,327 +1,14 @@
-/* 产品详情页样式 */
+/* 产品详情页 - 页面容器样式 */
+/* 各区块样式在 pages/product-detail/components/ 下对应组件的
diff --git a/pages/products/components/ActiveFilters.vue b/pages/products/components/ActiveFilters.vue
new file mode 100644
index 0000000..bbc49cb
--- /dev/null
+++ b/pages/products/components/ActiveFilters.vue
@@ -0,0 +1,62 @@
+
+
+
+
+ {{ item.label }}
+ ✕
+
+ 清除全部
+
+
+
+
+
+
diff --git a/pages/products/components/CategorySidebar.vue b/pages/products/components/CategorySidebar.vue
new file mode 100644
index 0000000..ca5b8ea
--- /dev/null
+++ b/pages/products/components/CategorySidebar.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
diff --git a/pages/products/components/CountryBar.vue b/pages/products/components/CountryBar.vue
new file mode 100644
index 0000000..140e05b
--- /dev/null
+++ b/pages/products/components/CountryBar.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+ {{ item.flag }}
+ {{ item.name }}
+
+
+
+
+
+
+
+
diff --git a/pages/products/components/FilterDrawer.vue b/pages/products/components/FilterDrawer.vue
new file mode 100644
index 0000000..7bc78be
--- /dev/null
+++ b/pages/products/components/FilterDrawer.vue
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+
+ {{ group.title }}
+
+
+ {{ tag.name }}
+
+
+
+
+
+ 价格区间
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/products/components/ProductGrid.vue b/pages/products/components/ProductGrid.vue
new file mode 100644
index 0000000..c41a962
--- /dev/null
+++ b/pages/products/components/ProductGrid.vue
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+ {{ tag.text }}
+
+
+
+
+ {{ item.name }}
+
+
+ ¥{{ item.price }}
+ 起
+
+
+
+
+
+
+
+
+
+
+
+ 加载中...
+
+
+
+
+
+
+
diff --git a/pages/products/components/SearchBar.vue b/pages/products/components/SearchBar.vue
new file mode 100644
index 0000000..4dc380b
--- /dev/null
+++ b/pages/products/components/SearchBar.vue
@@ -0,0 +1,85 @@
+
+
+
+
+ 🔍
+
+
+
+ ⚙
+ 筛选
+
+
+
+
+
+
+
diff --git a/pages/products/mock.js b/pages/products/mock.js
new file mode 100644
index 0000000..157a307
--- /dev/null
+++ b/pages/products/mock.js
@@ -0,0 +1,146 @@
+// 货盘页 mock 数据(用于离线预览,实际数据从 API 获取)
+
+export const mockCountries = [
+ { id: '45', name: '美国', flag: '🇺🇸' },
+ { id: '76', name: '日本', flag: '🇯🇵' },
+ { id: '484', name: '墨西哥', flag: '🇲🇽' },
+ { id: '826', name: '英国', flag: '🇬🇧' },
+ { id: '276', name: '德国', flag: '🇩🇪' },
+ { id: '250', name: '法国', flag: '🇫🇷' },
+ { id: '380', name: '意大利', flag: '🇮🇹' },
+ { id: '124', name: '加拿大', flag: '🇨🇦' },
+ { id: '36', name: '澳大利亚', flag: '🇦🇺' },
+ { id: '410', name: '韩国', flag: '🇰🇷' },
+ { id: '152', name: '智利', flag: '🇨🇱' },
+ { id: '604', name: '秘鲁', flag: '🇵🇪' }
+]
+
+export const mockCategories = [
+ { id: 'all', name: '全部商品', children: [], productCount: 0 },
+ {
+ id: '1',
+ name: '男士服装',
+ productCount: 159,
+ children: [
+ { id: '101', categoryName: 'T恤' },
+ { id: '102', categoryName: '卫衣' },
+ { id: '103', categoryName: 'POLO衫' }
+ ]
+ },
+ {
+ id: '2',
+ name: '女士服装',
+ productCount: 36,
+ children: [
+ { id: '201', categoryName: '连衣裙' },
+ { id: '202', categoryName: 'T恤' }
+ ]
+ },
+ {
+ id: '3',
+ name: '童装',
+ productCount: 40,
+ children: [
+ { id: '301', categoryName: '儿童T恤' },
+ { id: '302', categoryName: '儿童卫衣' }
+ ]
+ },
+ {
+ id: '4',
+ name: '家居配饰',
+ productCount: 3,
+ children: [
+ { id: '401', categoryName: '帆布包' },
+ { id: '402', categoryName: '马克杯' }
+ ]
+ }
+]
+
+export const mockFilterGroups = [
+ {
+ id: '1',
+ title: '物流渠道',
+ tags: [
+ { id: 't1', name: '包邮', color: '#ff6800', fontColor: '#ffffff', productCount: 84 },
+ { id: 't2', name: '不包邮', color: '#999999', fontColor: '#ffffff', productCount: 154 }
+ ],
+ selected: []
+ },
+ {
+ id: '2',
+ title: '印刷位置',
+ tags: [
+ { id: 't3', name: '单面印', color: '#00b894', fontColor: '#ffffff', productCount: 12 },
+ { id: 't4', name: '双面印', color: '#6c5ce7', fontColor: '#ffffff', productCount: 14 }
+ ],
+ selected: []
+ },
+ {
+ id: '3',
+ title: '印刷工艺',
+ tags: [
+ { id: 't5', name: '烫画', color: '#e17055', fontColor: '#ffffff', productCount: 8 },
+ { id: 't6', name: '直喷', color: '#00cec9', fontColor: '#ffffff', productCount: 3 }
+ ],
+ selected: []
+ }
+]
+
+export const mockProducts = [
+ {
+ id: 1,
+ name: '180G牛奶丝T恤 DG120',
+ price: '28.00',
+ image: '/static/images/products/1.png',
+ tags: [
+ { text: '包邮', bg: '#ff6800', color: '#ffffff' },
+ { text: '烫画', bg: '#e17055', color: '#ffffff' }
+ ]
+ },
+ {
+ id: 2,
+ name: '纯棉连帽卫衣 HD200',
+ price: '59.00',
+ image: '/static/images/products/2.png',
+ tags: [
+ { text: '不包邮', bg: '#999999', color: '#ffffff' }
+ ]
+ },
+ {
+ id: 3,
+ name: '帆布托特包 BG150',
+ price: '15.00',
+ image: '/static/images/products/3.png',
+ tags: [
+ { text: '单面印', bg: '#00b894', color: '#ffffff' }
+ ]
+ },
+ {
+ id: 4,
+ name: '儿童纯棉T恤 KD100',
+ price: '22.00',
+ image: '/static/images/products/4.png',
+ tags: [
+ { text: '包邮', bg: '#ff6800', color: '#ffffff' },
+ { text: '直喷', bg: '#00cec9', color: '#ffffff' }
+ ]
+ },
+ {
+ id: 5,
+ name: '重磅圆领T恤 DG150',
+ price: '35.00',
+ image: '/static/images/products/5.png',
+ tags: [
+ { text: '双面印', bg: '#6c5ce7', color: '#ffffff' }
+ ]
+ },
+ {
+ id: 6,
+ name: '拉链卫衣 HD220',
+ price: '79.00',
+ image: '/static/images/products/6.png',
+ tags: [
+ { text: '包邮', bg: '#ff6800', color: '#ffffff' }
+ ]
+ }
+]
diff --git a/pages/products/products.css b/pages/products/products.css
index 9118a55..987edc6 100644
--- a/pages/products/products.css
+++ b/pages/products/products.css
@@ -1,502 +1,14 @@
-/* 产品列表页样式 */
+/* 货盘页 - 页面容器样式 */
+/* 各区块样式已移入 pages/products/components/ 下对应组件 */
.products-page {
- min-height: 100vh;
- background: #f5f5f5;
- display: flex;
- flex-direction: column;
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+ background: #f8f8f8;
}
-
-/* 搜索栏 */
-.search-bar {
- display: flex;
- align-items: center;
- gap: 16rpx;
- padding: 16rpx 24rpx;
- background: #ffffff;
-}
-
-.search-input-wrap {
- flex: 1;
- display: flex;
- align-items: center;
- background: #f5f5f5;
- border-radius: 32rpx;
- padding: 0 24rpx;
- height: 64rpx;
-}
-
-.search-icon {
- font-size: 28rpx;
- margin-right: 12rpx;
-}
-
-.search-input {
- flex: 1;
- font-size: 26rpx;
- color: #333;
-}
-
-.search-placeholder {
- color: #ccc;
-}
-
-.filter-btn {
- display: flex;
- align-items: center;
- gap: 4rpx;
- padding: 0 16rpx;
-}
-
-.filter-icon {
- font-size: 28rpx;
- color: #666;
-}
-
-.filter-text {
- font-size: 24rpx;
- color: #666;
-}
-
-/* 国家选择条 */
-.country-bar {
- white-space: nowrap;
- background: #ffffff;
- padding: 16rpx 24rpx;
- border-bottom: 1rpx solid #eee;
-}
-
-.country-item {
- display: inline-flex;
- align-items: center;
- gap: 6rpx;
- padding: 8rpx 20rpx;
- margin-right: 12rpx;
- border-radius: 24rpx;
- background: #f5f5f5;
-}
-
-.country-item.active {
- background: #fff0e5;
-}
-
-.country-flag {
- font-size: 28rpx;
-}
-
-.country-name {
- font-size: 22rpx;
- color: #666;
-}
-
-.country-item.active .country-name {
- color: #ff6800;
- font-weight: 500;
-}
-
-/* 已选筛选标签 */
-.active-filters {
- display: flex;
- align-items: center;
- gap: 12rpx;
- padding: 12rpx 24rpx;
- background: #ffffff;
- overflow-x: auto;
- white-space: nowrap;
-}
-
-.active-filter-tag {
- display: inline-flex;
- align-items: center;
- gap: 8rpx;
- background: #f2f2f2;
- border-radius: 8rpx;
- padding: 6rpx 16rpx;
- font-size: 22rpx;
- color: #666;
- flex-shrink: 0;
-}
-
-.filter-remove {
- font-size: 20rpx;
- color: #ccc;
-}
-
-.clear-all {
- font-size: 22rpx;
- color: #ff6800;
- flex-shrink: 0;
-}
-
-/* 主体内容 */
.content-body {
- flex: 1;
- display: flex;
- overflow: hidden;
-}
-
-/* 左侧分类侧边栏 */
-.sidebar {
- width: 180rpx;
- background: #ffffff;
- border-right: 1rpx solid #eee;
- height: 100%;
- flex-shrink: 0;
-}
-
-.sidebar-item {
- position: relative;
- padding: 28rpx 20rpx;
- font-size: 24rpx;
- color: #666;
- text-align: center;
-}
-
-.sidebar-item.active {
- background: #f5f5f5;
- color: #ff6800;
- font-weight: 600;
-}
-
-.sidebar-indicator {
- position: absolute;
- left: 0;
- top: 50%;
- transform: translateY(-50%);
- width: 6rpx;
- height: 32rpx;
- background: #ff6800;
- border-radius: 0 4rpx 4rpx 0;
-}
-
-.sidebar-promo {
- margin: 24rpx 16rpx;
- padding: 20rpx 12rpx;
- background: linear-gradient(135deg, #ff6800 0%, #ff8c40 100%);
- border-radius: 12rpx;
- text-align: center;
-}
-
-.promo-title {
- font-size: 24rpx;
- font-weight: 700;
- color: #fff;
- display: block;
-}
-
-.promo-desc {
- font-size: 20rpx;
- color: rgba(255, 255, 255, 0.9);
- display: block;
- margin-top: 4rpx;
-}
-
-/* 右侧产品列表区 */
-.product-list-area {
- flex: 1;
- height: 100%;
-}
-
-/* 子分类 */
-.sub-categories {
- display: flex;
- flex-wrap: wrap;
- gap: 12rpx;
- padding: 16rpx 20rpx;
- background: #ffffff;
-}
-
-.sub-cat-item {
- font-size: 22rpx;
- padding: 8rpx 20rpx;
- border-radius: 24rpx;
- background: #f5f5f5;
- color: #666;
-}
-
-.sub-cat-item.active {
- background: #ff6800;
- color: #fff;
-}
-
-/* 产品网格 */
-.product-grid {
- display: flex;
- flex-wrap: wrap;
- gap: 16rpx;
- padding: 16rpx 20rpx;
-}
-
-.product-card {
- width: calc(50% - 8rpx);
- background: #ffffff;
- border-radius: 12rpx;
- overflow: hidden;
- box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
-}
-
-.product-img {
- width: 100%;
- height: 300rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- position: relative;
- background: #f5f5f5;
-}
-
-.product-image {
- width: 100%;
- height: 100%;
-}
-
-.product-badges {
- position: absolute;
- top: 12rpx;
- left: 12rpx;
- display: flex;
- flex-direction: column;
- gap: 4rpx;
-}
-
-.product-badge {
- font-size: 18rpx;
- padding: 2rpx 8rpx;
- border-radius: 4rpx;
-}
-
-.product-info {
- padding: 16rpx;
-}
-
-.product-name {
- font-size: 24rpx;
- color: #333;
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.product-bottom {
- margin-top: 8rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.product-price {
- font-size: 30rpx;
- font-weight: 700;
- color: #ff6800;
-}
-
-.product-price-unit {
- font-size: 20rpx;
- font-weight: 400;
- margin-left: 2rpx;
-}
-
-/* 分页 */
-.pagination {
- padding: 24rpx 20rpx;
- text-align: center;
-}
-
-.page-info {
- font-size: 22rpx;
- color: #999;
- display: block;
- margin-bottom: 16rpx;
-}
-
-.page-controls {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 8rpx;
-}
-
-.page-btn {
- padding: 8rpx 20rpx;
- font-size: 22rpx;
- color: #666;
- background: #fff;
- border-radius: 8rpx;
- border: 1rpx solid #eee;
-}
-
-.page-btn.disabled {
- color: #ccc;
-}
-
-.page-num {
- min-width: 48rpx;
- height: 48rpx;
- line-height: 48rpx;
- text-align: center;
- font-size: 24rpx;
- color: #666;
- background: #fff;
- border-radius: 8rpx;
- border: 1rpx solid #eee;
-}
-
-.page-num.active {
- background: #ff6800;
- color: #fff;
- border-color: #ff6800;
-}
-
-.page-size {
- margin-top: 12rpx;
- font-size: 22rpx;
- color: #999;
-}
-
-.loading-more {
- padding: 24rpx;
- text-align: center;
- font-size: 24rpx;
- color: #999;
-}
-
-/* 筛选弹窗 */
-.filter-overlay {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: rgba(0, 0, 0, 0.5);
- z-index: 1000;
- opacity: 0;
- visibility: hidden;
- transition: all 0.3s;
-}
-
-.filter-overlay.show {
- opacity: 1;
- visibility: visible;
-}
-
-.filter-drawer {
- position: fixed;
- top: 0;
- right: 0;
- width: 80%;
- height: 100%;
- background: #ffffff;
- z-index: 1001;
- transform: translateX(100%);
- transition: transform 0.3s;
- display: flex;
- flex-direction: column;
-}
-
-.filter-drawer.show {
- transform: translateX(0);
-}
-
-.filter-drawer-header {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 32rpx 24rpx;
- border-bottom: 1rpx solid #eee;
-}
-
-.filter-drawer-title {
- font-size: 32rpx;
- font-weight: 600;
- color: #333;
-}
-
-.filter-drawer-close {
- font-size: 32rpx;
- color: #999;
-}
-
-.filter-drawer-body {
- flex: 1;
- padding: 24rpx;
-}
-
-.filter-group {
- margin-bottom: 32rpx;
-}
-
-.filter-group-title {
- font-size: 28rpx;
- font-weight: 600;
- color: #333;
- display: block;
- margin-bottom: 16rpx;
-}
-
-.filter-options {
- display: flex;
- flex-wrap: wrap;
- gap: 12rpx;
-}
-
-.filter-option {
- padding: 12rpx 24rpx;
- font-size: 24rpx;
- color: #666;
- background: #f5f5f5;
- border-radius: 8rpx;
- border: 2rpx solid transparent;
-}
-
-.filter-option.selected {
- background: #fff0e5;
- color: #ff6800;
- border-color: #ff6800;
-}
-
-.filter-price-range {
- display: flex;
- align-items: center;
- gap: 16rpx;
-}
-
-.price-input {
- flex: 1;
- height: 64rpx;
- background: #f5f5f5;
- border-radius: 8rpx;
- padding: 0 20rpx;
- font-size: 24rpx;
-}
-
-.price-divider {
- color: #ccc;
-}
-
-.filter-drawer-footer {
- display: flex;
- gap: 16rpx;
- padding: 24rpx;
- border-top: 1rpx solid #eee;
-}
-
-.filter-reset {
- flex: 1;
- text-align: center;
- padding: 24rpx;
- font-size: 28rpx;
- color: #666;
- background: #f5f5f5;
- border-radius: 12rpx;
-}
-
-.filter-confirm {
- flex: 1;
- text-align: center;
- padding: 24rpx;
- font-size: 28rpx;
- color: #fff;
- background: #ff6800;
- border-radius: 12rpx;
+ flex: 1;
+ display: flex;
+ overflow: hidden;
}
diff --git a/pages/products/products.vue b/pages/products/products.vue
index cf2cbe7..29f168e 100644
--- a/pages/products/products.vue
+++ b/pages/products/products.vue
@@ -1,652 +1,463 @@
-
-
-
-
-
- 🔍
-
-
-
- ⚙
- 筛选
-
-
+
+
+
+
-
-
-
- {{ item.flag }}
+
+
- {{ item.name }}
-
-
+
+
-
-
-
- {{ item.label }}
+
+
+
+
- ✕
-
- 清除全部
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.name }}
-
-
-
-
-
-
-
-
-
-
- {{ tag.text }}
-
-
-
-
-
- {{ item.name }}
-
-
- ¥{{ item.price }}
- 起
-
-
-
-
-
-
-
-
-
-
-
- 加载中...
-
-
-
-
-
-
-
-
-
-
-
- {{ group.title }}
-
-
- {{ tag.name }}
-
-
-
-
-
- 价格区间
-
-
- -
-
-
-
-
-
-
+
+
+
+
+
+
+