<template>
  <div class="pricing">
    <div class="pricing-container">
      <header class="page-header">
        <h1 class="page-title">定价</h1>
        <p class="page-subtitle">查看我们的个人、Business 和 Enterprise 套餐定价。</p>
      </header>

      <div class="pricing-grid">
        <div
          v-for="(plan, index) in plans"
          :key="index"
          class="plan-card"
        >
          <div class="card-header">
            <h2 class="plan-name">{{ plan.name }}</h2>
            <p class="plan-desc">{{ plan.description }}</p>
          </div>

          <div class="plan-price-wrapper">
            <div class="price-line" v-if="plan.price !== null">
              <span class="currency">US${{ plan.price }}</span>
              <span class="unit" v-if="plan.unit">{{ plan.unit }}</span>
            </div>
            <div class="price-line" v-else>
              <span class="contact-text"> &nbsp; </span>
            </div>
          </div>

          <button class="action-btn">
            {{ plan.buttonText }}
            <span class="arrow-icon">↗</span>
          </button>

          <div class="features-list">
            <p v-if="plan.featuresTitle" class="features-title">{{ plan.featuresTitle }}</p>

            <ul>
              <li v-for="(feature, fIndex) in plan.features" :key="fIndex" class="feature-item">
                <svg class="check-icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <path d="M20 6L9 17L4 12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                </svg>
                <span v-html="feature"></span>
              </li>
            </ul>
          </div>

          <div class="card-footer" v-if="plan.footerLink">
            <a href="#">{{ plan.footerLink }}</a>
          </div>
        </div>
      </div>

      <PricingComparisonTable />


      <PricingFAQ />

      <div class="page-footer-link">
        <p>Have an existing plan? See <a href="#">billing help</a></p>
      </div>
    </div>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue';
import PricingComparisonTable from './component/PricingComparisonTable.vue';
import PricingFAQ from './component/PricingFAQ.vue';

// 定义数据结构
interface Plan {
  name: string;
  description: string;
  price: number | null; // null 用于企业版
  unit?: string;
  buttonText: string;
  featuresTitle?: string;
  features: string[];
  footerLink?: string;
}

// 模拟数据：根据截图内容填充
const plans = ref<Plan[]>([
  {
    name: '免费版',
    description: '日常任务的智能辅助方案',
    price: 0,
    unit: '/月',
    buttonText: '获取免费版本',
    features: [
      '有限使用高级模型',
      '判断和上传的数据有限',
      '回答生成速度：标准速度',
      '有限的记忆深入研究',
      '记忆与上下文支持受限'
    ],
    footerLink: '已有账号？登录以继续'
  },
  {
    name: 'Plus',
    description: '更多先进智能模型权限',
    price: 20,
    unit: '/月',
    buttonText: '获取 Plus 版本',
    featuresTitle: '免费版中的全部内容，以及：',
    features: [
      '使用 金银湖大模型-4, 金银湖大模型-4o, 金银湖大模型-4o mini',
      '判断和上传的数据更高',
      '图片生成（DALL·E 3）',
      '更深入的记忆与高级数据分析功能',
      '记忆与上下文支持增强',
      '联网、语音和自定义 金银湖大模型',
      '抢先体验新功能'
    ],
    footerLink: '查看适用范围'
  },
  {
    name: 'Pro',
    description: '全面运用 Chat金银湖大模型 的最佳功能',
    price: 200,
    unit: '/月',
    buttonText: '获取 Pro 版本',
    featuresTitle: 'Plus 中的全部功能，以及：',
    features: [
      '使用 金银湖大模型-4o Pro 进行专业推理',
      '判断和上传数据无上限',
      '无限制的高级图片生成',
      '深度思考和复杂任务的最大支持',
      '最大记忆与上下文支持',
      '扩展限制、任务和自定义 金银湖大模型',
      'o1 (原 o1-preview) 的高级推理能力',
      '扩展的代码解释器',
      '更深层的研究浏览'
    ],
    footerLink: '无限制、突发情况下的算力等，了解更多'
  },
  {
    name: 'Business Free',
    description: 'A secure way to try Chat金银湖大模型 at work',
    price: 0,
    unit: '/month',
    buttonText: 'Get Business Free',
    features: [
      'Limited access to our best model for work',
      'Privacy built in; data never used for training',
      'Limited video and image creation',
      'Tools for teams like projects, custom 金银湖大模型s',
      'Unlimited collaborator invites',
      'Integration with select business apps'
    ]
  },
  {
    name: 'Business 版',
    description: '一个安全、协作的工作空间，专为初创企业和成长中的企业而设计',
    price: 25,
    unit: '/每位用户/每月 (按年计费)',
    buttonText: '购买订阅',
    featuresTitle: '包含 Plus 版套餐中的所有功能，并含：',
    features: [
      '无限制使用 金银湖大模型-4o 模型功能，并扩大使用 金银湖大模型-4 Turbo，以及对 金银湖大模型-4... 的访问',
      '企业级环境，提供更长久的历史记录与 Slack, Google Drive... 等工具集成',
      '安全的企业工作空间，拥有基本的管理控制、SAML SSO 和 MFA',
      '数据不会用于训练模型',
      '分享聊天、记录模式、Canvas、共享快捷指令和自定义工作区 金银湖大模型 等业务功能'
    ],
    footerLink: '无限制、团队协作功能等，了解更多'
  },
  {
    name: '企业',
    description: '企业级 AI，安全与全面支持',
    price: null, // 代表联系销售
    buttonText: '联系销售人员',
    featuresTitle: 'Business 中的全部功能，以及：',
    features: [
      '扩展的上下文窗口，支持更长的输入和更大的文件',
      '企业级安全控制，包括 SCIM、EIKM、用户分级、域验证和更精细的权限控制',
      '高级数据分析：支持自定义数据保留策略、日志与保留审计功能...',
      '在多个地区支持数据驻留',
      '7x24 小时的优先支持、服务等级协议 (SLA)...',
      '按量计费，专属折扣'
    ]
  }
]);
</script>

<style scoped>
/* 引入通用字体，模仿 OpenAI 风格 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

.pricing {
  width: 100%;
  background-color: white;
}

.pricing-container {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
  color: #0d0d0d;
  background-color: white;
}

/* 头部样式 */
.page-header {
  text-align: center;
  margin-bottom: 60px;
}

.page-title {
  font-size: 3rem; /* 48px */
  font-weight: 600; /* Semi-bold */
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

.page-subtitle {
  font-size: 1.125rem;
  color: #6e6e80; /* 次级文本颜色 */
}

/* 网格布局 */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列 */
  gap: 24px;
}

/* 响应式：小于1024px变2列，小于768px变1列 */
@media (max-width: 1024px) {
  .pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .pricing-grid {
    grid-template-columns: 1fr;
  }
}

/* 卡片样式 */
.plan-card {
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  transition: border-color 0.2s;
  height: 100%;
}

.plan-card:hover {
  border-color: #999;
}

/* 卡片头部 */
.card-header {
  min-height: 80px; /* 保持对齐 */
  margin-bottom: 10px;
}

.plan-name {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 8px 0;
}

.plan-desc {
  font-size: 0.875rem;
  color: #6e6e80;
  line-height: 1.4;
  margin: 0;
}

/* 价格区域 */
.plan-price-wrapper {
  margin-bottom: 24px;
  min-height: 42px; /* 保持对齐 */
}

.price-line {
  display: flex;
  align-items: baseline;
}

.currency {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.unit {
  font-size: 0.875rem;
  color: #6e6e80;
  margin-left: 4px;
}

/* 按钮样式 */
.action-btn {
  width: 100%;
  background-color: #0d0d0d;
  color: #fff;
  border: none;
  padding: 12px 16px;
  border-radius: 999px; /* 胶囊圆角 */
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.2s;
  margin-bottom: 32px;
}

.action-btn:hover {
  background-color: #333;
}

.arrow-icon {
  margin-left: 6px;
  font-size: 1.1em;
  line-height: 1;
}

/* 功能列表 */
.features-list {
  flex-grow: 1; /* 让内容撑开，使 footer 对齐底部 */
}

.features-title {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 12px;
  color: #0d0d0d;
}

.features-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.feature-item {
  display: flex;
  align-items: flex-start;
  font-size: 0.875rem;
  color: #0d0d0d;
  margin-bottom: 12px;
  line-height: 1.5;
}

.check-icon {
  width: 16px;
  height: 16px;
  margin-right: 10px;
  color: #0d0d0d;
  flex-shrink: 0;
  margin-top: 3px;
}

/* 底部链接 */
.card-footer {
  margin-top: 24px;
  font-size: 0.75rem;
  padding-top: 16px;
  border-top: 1px solid transparent; /* 占位，如果需要分隔线可改为 #e5e5e5 */
}

.card-footer a, .page-footer-link a {
  color: #0d0d0d;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.page-footer-link {
  text-align: left;
  margin-top: 40px;
  font-size: 0.875rem;
  color: #6e6e80;
}
</style>
