<template>
  <view class="help-container">
    <!-- 常见问题 -->
    <view class="faq-list">
      <view 
        class="faq-item"
        v-for="(item, index) in faqList"
        :key="index"
        @click="toggleFaq(index)"
      >
        <view class="faq-header">
          <text class="question">{{ $t(item.question) }}</text>
          <view class="arrow" :class="{ open: item.isOpen }"></view>
        </view>
        <view class="answer" v-show="item.isOpen">
          {{ $t(item.answer) }}
        </view>
      </view>
    </view>

    <!-- 联系客服 -->
    <view class="contact-card">
      <view class="contact-title">{{ $t('help.contactUs') }}</view>
      <view class="contact-content">
        <view class="contact-item">
          <text class="label">{{ $t('help.phone') }}</text>
          <text class="value" @click="makePhoneCall">{{ customerPhone }}</text>
        </view>
        <view class="contact-item">
          <text class="label">{{ $t('help.workingHours') }}</text>
          <text class="value">{{ HELP_CONTENT.CONTACT.SERVICE_TIME.VALUE }}</text>
        </view>
      </view>
    </view>
  </view>
</template>

<script>
import { HELP_CONTENT } from '@/constants/help'
import { getCustomerPhone } from '@/util/index.js'

export default {
  data() {
    return {
      HELP_CONTENT,
      faqList: HELP_CONTENT.FAQ_LIST.map(item => ({
        ...item,
        isOpen: false
      })),
      customerPhone: HELP_CONTENT.CONTACT.PHONE.VALUE // 默认客服电话
    }
  },
  onLoad() {
    // 设置页面标题
    uni.setNavigationBarTitle({
      title: this.$t('help.title')
    })
    // 从缓存读取客服电话
    this.customerPhone = getCustomerPhone()
  },
  methods: {
    toggleFaq(index) {
      this.faqList[index].isOpen = !this.faqList[index].isOpen
    },
    makePhoneCall() {
      uni.makePhoneCall({
        phoneNumber: this.customerPhone
      })
    }
  }
}
</script>

<style lang="scss" scoped>
.help-container {
  min-height: 100vh;
  background: #f8f8f8;
  padding: 30rpx;

  .faq-list {
    background: #fff;
    border-radius: 20rpx;
    padding: 20rpx;
    margin-bottom: 30rpx;
    box-shadow: 0 4rpx 16rpx rgba(0,0,0,0.04);

    .faq-item {
      border-bottom: 1rpx solid #f5f5f5;
      
      &:last-child {
        border-bottom: none;
      }

      .faq-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 30rpx 20rpx;

        .question {
          font-size: 30rpx;
          color: #333;
          flex: 1;
          padding-right: 20rpx;
        }

        .arrow {
          width: 16rpx;
          height: 16rpx;
          border-right: 4rpx solid #999;
          border-bottom: 4rpx solid #999;
          transform: rotate(45deg);
          transition: all 0.3s;

          &.open {
            transform: rotate(-135deg);
          }
        }
      }

      .answer {
        font-size: 28rpx;
        color: #666;
        line-height: 1.6;
        padding: 0 20rpx 30rpx;
        background: #f9f9f9;
        border-radius: 10rpx;
        margin: 0 20rpx 20rpx;
      }
    }
  }

  .contact-card {
    background: #fff;
    border-radius: 20rpx;
    padding: 30rpx;
    box-shadow: 0 4rpx 16rpx rgba(0,0,0,0.04);

    .contact-title {
      position: relative;
      z-index: 4;
      display: inline-block;
      font-size: 32rpx;
      color: #333;
      font-weight: 500;
      margin-bottom: 20rpx;
      padding-bottom: 8rpx;
      width:fit-content;

      &::after {
        z-index: -1;
        content: '';
        position: absolute;
        left: 0;
        bottom: 8rpx;
        width: 88%;
        height: 16rpx;
        border-radius: 20rpx;
        // background: transparent;
        background: #07C160; // 底部高亮（微信绿）
      }
    }

    .contact-content {
      .contact-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20rpx 0;
        
        .label {
          font-size: 28rpx;
          color: #666;
        }

        .value {
          font-size: 28rpx;
          color: #333;
          font-weight: 500;

          &:active {
            opacity: 0.7;
          }
        }
      }
    }
  }
}
</style> 