<template>
  <view class="guide-page" v-if="showContent">
    <view class="status-bar"></view>
    <!-- 引导内容滑动容器 -->
    <swiper
      class="guide-swiper"
      :current="currentStep"
      @change="handleSwiperChange"
      :disable-scroll="false"
      :indicator-dots="false"
      :mode="mode"
    >
      <!-- 便捷服务 -->
      <swiper-item>
        <view class="guide-item">
          <view class="guide-img">
            <image src="https://wuyeadmin.bugtc.com/images/guide1.png" mode="aspectFit" class="img-content"></image>
          </view>
          <view class="guide-text">
            <view class="guide-title">便捷服务</view>
            <view class="guide-subtitle">报修、缴费、预约</view>
          </view>
        </view>
      </swiper-item>

      <!-- 高效管理 -->
      <swiper-item>
        <view class="guide-item">
          <view class="guide-img">
            <image src="https://wuyeadmin.bugtc.com/images/guide2.png" mode="aspectFit" class="img-content"></image>
          </view>
          <view class="guide-text">
            <view class="guide-title">高效管理</view>
            <view class="guide-subtitle">自动化流程和智能设备</view>
          </view>
        </view>
      </swiper-item>

      <!--安全保障 -->
      <swiper-item>
        <view class="guide-item">
          <view class="guide-img">
            <image src="https://wuyeadmin.bugtc.com/images/guide3.png" mode="aspectFit" class="img-content"></image>
          </view>
          <view class="guide-text">
            <view class="guide-title">安全保障</view>
            <view class="guide-subtitle">智能巡检和智慧访客</view>
          </view>
        </view>
      </swiper-item>
    </swiper>

    <!-- 进度点 -->
    <view class="progress-dots">
      <view class="dot" :class="{ active: currentStep === 0 }"></view>
      <view class="dot" :class="{ active: currentStep === 1 }"></view>
      <view class="dot" :class="{ active: currentStep === 2 }"></view>
    </view>

    <!-- 操作按钮 -->
    <view class="guide-btn-wrap">
      <button
        class="guide-btn"
        :class="{ primary: currentStep === 2 }"
        @click="handleBtnClick"
      >
        {{ currentStep === 2 ? '立即体验' : '下一步' }}
      </button>
    </view>
  </view>
</template>

<script setup>
import { ref, onMounted } from 'vue';

// 守卫：已登录或已看过引导页的用户不展示引导页，直接跳转
const hasShowGuide = uni.getStorageSync('hasShowGuide')
const tokenSave = uni.getStorageSync('token')
// 是否需要重定向（老用户跳过引导页）
const needRedirect = hasShowGuide || tokenSave

if (needRedirect) {
	if (tokenSave) {
		uni.reLaunch({ url: '/pages/index/index' })
	} else if (hasShowGuide) {
		uni.reLaunch({ url: '/pageSubPack/loginSub/login?mode=pwd' })
	}
}

// ========== 响应式数据 ==========
// 当前引导步骤（0/1/2）
const currentStep = ref(0);
const mode = ref("default")
// 防重复跳转锁
const isNavigating = ref(false)
// 控制是否展示引导内容（初始为 false，避免重定向用户看到闪烁）
const showContent = ref(false)

// 页面挂载后延迟显示，让过渡更平滑
onMounted(() => {
  // 需要重定向的用户不展示引导内容
  if (needRedirect) return
  setTimeout(() => {
    showContent.value = true
  }, 100)
})

// ========== 方法 ==========
// 滑动swiper切换步骤
const handleSwiperChange = (e) => {
  currentStep.value = e.detail.current;
};

// 点击按钮操作
const handleBtnClick = () => {
  // 前两步：点击下一步切换
  if (currentStep.value < 2) {
    currentStep.value++;
  } else {
    // 防重复跳转：已触发过跳转则直接返回
    if (isNavigating.value) return;
    isNavigating.value = true;
    // 记录引导已完成
    uni.setStorageSync('hasShowGuide', true);
    // 检查是否已有登录 token，有则直接进首页，否则跳转登录页
    const token = uni.getStorageSync('token');
    if (token) {
      uni.switchTab({
        url: '/pages/index/index'
      })
    } else {
      uni.redirectTo({
        url: "/pageSubPack/loginSub/login?mode=pwd"
      })
    }
  }
};
</script>

<style scoped>
/* 页面容器 */
.guide-page {
  width: 100%;
  height: 100vh;
  background: linear-gradient(to bottom, #E2F0FF, #F6FAFF);
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  animation: guideFadeIn 0.5s ease-out;
}

/* 引导页淡入动画 */
@keyframes guideFadeIn {
  from {
    opacity: 0;
    transform: translateY(20rpx);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 状态栏 - 自适应设备状态栏高度 */
.status-bar {
  height: var(--status-bar-height);
  width: 100%;
  flex-shrink: 0;
}

/* 滑动容器 */
.guide-swiper {
  flex: 1;
  width: 100%;
}

/* 单个引导项 - 全屏自适应 */
.guide-item {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 60rpx;
  box-sizing: border-box;
}

/* 图片区域 - 自适应 */
.guide-img {
  width: 80%;
  max-width: 600rpx;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40rpx;
}

.img-content {
  width: 100%;
  height: 100%;
  max-height: 50vh;
}

/* 文字区域 */
.guide-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40rpx;
}

/* 引导标题 */
.guide-title {
  font-size: 56rpx;
  font-weight: 600;
  color: #333;
  margin-bottom: 20rpx;
}

/* 引导副标题 */
.guide-subtitle {
  font-size: 28rpx;
  color: #666;
}

/* 进度点容器 */
.progress-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40rpx;
  flex-shrink: 0;
}

/* 单个进度点 */
.dot {
  width: 16rpx;
  height: 8rpx;
  border-radius: 8rpx;
  background-color: #ddd;
  margin: 0 8rpx;
  transition: all 0.3s ease;
}

/* 激活的进度点 */
.dot.active {
  background-color: #007aff;
  width: 28rpx;
}

/* 按钮容器 */
.guide-btn-wrap {
  width: 80%;
  max-width: 600rpx;
  margin-bottom: 80rpx;
  flex-shrink: 0;
}

/* 引导按钮 */
.guide-btn {
  width: 100%;
  height: 88rpx;
  line-height: 88rpx;
  border-radius: 44rpx;
  font-size: 32rpx;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

/* 默认按钮样式（下一步） */
.guide-btn:not(.primary) {
  background-color: #fff;
  color: #007aff;
  border: 2rpx solid #007aff;
}

/* 主按钮样式（立即体验） */
.guide-btn.primary {
  background-color: #007aff;
  color: #fff;
  border: none;
}

/* 按钮禁用态（可选） */
.guide-btn:disabled {
  background-color: #ccc;
  color: #fff;
  border: none;
}
</style>
