/**
 * Soul创业实验 - 分销中心页
 * 1:1还原Web版本
 */
const app = getApp()

Page({
  data: {
    statusBarHeight: 44,
    isLoggedIn: false,
    userInfo: null,
    
    // 收益数据
    earnings: 0,
    pendingEarnings: 0,
    distributorShare: 90,
    
    // 统计数据
    referralCount: 0,
    expiringCount: 0,
    
    // 邀请码
    referralCode: '',
    
    // 绑定用户
    showBindingList: true,
    activeTab: 'active',
    activeBindings: [],
    convertedBindings: [],
    expiredBindings: [],
    currentBindings: [],
    totalBindings: 0
  },

  onLoad() {
    this.setData({ statusBarHeight: app.globalData.statusBarHeight })
    this.initData()
  },

  onShow() {
    this.initData()
  },

  // 初始化数据
  async initData() {
    const { isLoggedIn, userInfo } = app.globalData
    if (isLoggedIn && userInfo) {
      // 生成邀请码
      const referralCode = userInfo.referralCode || 'SOUL' + (userInfo.id || Date.now().toString(36)).toUpperCase().slice(-6)
      
      // 尝试从API获取真实数据
      let realData = null
      try {
        const res = await app.request('/api/referral/data', {
          method: 'GET',
          data: { userId: userInfo.id }
        })
        if (res.success) {
          realData = res.data
        }
      } catch (e) {
        console.log('获取推广数据失败，使用本地数据')
      }
      
      // 使用真实数据或本地存储的数据
      const storedBindings = wx.getStorageSync('referral_bindings') || []
      const storedEarnings = wx.getStorageSync('referral_earnings') || { total: 0, pending: 0 }
      
      let activeBindings, convertedBindings, expiredBindings
      
      if (realData) {
        activeBindings = realData.activeBindings || []
        convertedBindings = realData.convertedBindings || []
        expiredBindings = realData.expiredBindings || []
      } else if (storedBindings.length > 0) {
        // 使用本地存储的数据
        activeBindings = storedBindings.filter(b => b.status === 'active')
        convertedBindings = storedBindings.filter(b => b.status === 'converted')
        expiredBindings = storedBindings.filter(b => b.status === 'expired')
      } else {
        // 默认空数据
        activeBindings = []
        convertedBindings = []
        expiredBindings = []
      }
      
      const expiringCount = activeBindings.filter(b => b.daysRemaining <= 7).length
      
      this.setData({
        isLoggedIn: true,
        userInfo,
        earnings: realData?.earnings || storedEarnings.total || 0,
        pendingEarnings: realData?.pendingEarnings || storedEarnings.pending || 0,
        referralCount: realData?.referralCount || activeBindings.length + convertedBindings.length,
        referralCode,
        activeBindings,
        convertedBindings,
        expiredBindings,
        expiringCount,
        currentBindings: activeBindings,
        totalBindings: activeBindings.length + convertedBindings.length + expiredBindings.length
      })
    }
  },

  // 切换Tab
  switchTab(e) {
    const tab = e.currentTarget.dataset.tab
    let currentBindings = []
    
    if (tab === 'active') {
      currentBindings = this.data.activeBindings
    } else if (tab === 'converted') {
      currentBindings = this.data.convertedBindings
    } else {
      currentBindings = this.data.expiredBindings
    }
    
    this.setData({ activeTab: tab, currentBindings })
  },

  // 切换绑定列表显示
  toggleBindingList() {
    this.setData({ showBindingList: !this.data.showBindingList })
  },

  // 复制邀请链接
  copyLink() {
    const link = `https://soul.quwanzhi.com/?ref=${this.data.referralCode}`
    wx.setClipboardData({
      data: link,
      success: () => wx.showToast({ title: '链接已复制', icon: 'success' })
    })
  },

  // 生成海报
  generatePoster() {
    wx.showToast({ title: '海报功能开发中', icon: 'none' })
  },

  // 分享到朋友圈
  shareToMoments() {
    const shareText = `🔥 发现一本超棒的创业实战书《一场Soul的创业实验》！\n\n💡 62个真实商业案例，从私域运营到资源整合，干货满满！\n\n🎁 通过我的链接购买立享5%优惠，我是 ${this.data.userInfo?.nickname || '卡若'} 推荐！\n\n👉 ${this.data.referralCode} 是我的专属邀请码\n\n#创业实验 #私域运营 #商业案例`
    
    wx.setClipboardData({
      data: shareText,
      success: () => {
        wx.showModal({
          title: '文案已复制',
          content: '请打开微信朋友圈，粘贴分享文案即可',
          showCancel: false,
          confirmText: '知道了'
        })
      }
    })
  },

  // 提现
  handleWithdraw() {
    const earnings = parseFloat(this.data.earnings)
    if (earnings < 10) {
      wx.showToast({ title: '满10元可提现', icon: 'none' })
      return
    }
    wx.showToast({ title: '提现功能开发中', icon: 'none' })
  },

  // 显示通知
  showNotification() {
    wx.showToast({ title: '暂无新消息', icon: 'none' })
  },

  // 显示设置
  showSettings() {
    wx.showActionSheet({
      itemList: ['自动提现设置', '收益通知设置'],
      success: (res) => {
        if (res.tapIndex === 0) {
          wx.showToast({ title: '自动提现功能开发中', icon: 'none' })
        } else {
          wx.showToast({ title: '通知设置开发中', icon: 'none' })
        }
      }
    })
  },

  // 分享
  onShareAppMessage() {
    return {
      title: '📚 一场SOUL的创业实验场 - 来自派对房的真实商业故事',
      path: `/pages/index/index?ref=${this.data.referralCode}`
    }
  },

  goBack() { 
    wx.navigateBack() 
  }
})
