// pages/article-generate/article-generate.ts
import { EmployeeService } from '../../services/employee';

interface Article {
  title: string;
  content: string;
  tags: string[];
  images: string[];
}

Page({
  data: {
    productId: 0,
    productName: '',
    copyId: 0, // 领取的文案ID
    claimId: 0, // 领取记录ID
    article: {
      title: '',
      content: '',
      tags: [],
      images: []
    } as Article,
    generating: false,
    isFromClaim: false // 是否来自领取的文案
  },

  onLoad(options: any) {
    const { productId, productName, copyId, claimId, title, content } = options;
    
    this.setData({
      productId: parseInt(productId || '0'),
      productName: decodeURIComponent(productName || ''),
      copyId: parseInt(copyId || '0'),
      claimId: parseInt(claimId || '0'),
      isFromClaim: !!copyId
    });

    // 如果有copyId，说明是从领取文案过来的
    if (this.data.copyId && this.data.claimId) {
      // 如果有传递文案内容，直接显示
      if (title && content) {
        this.setData({
          article: {
            title: decodeURIComponent(title),
            content: decodeURIComponent(content),
            tags: ['种草分享', '好物推荐'],
            images: []
          }
        });
      } else {
        // 否则生成模拟文案
        this.generateArticle();
      }
    } else {
      // 生成文章
      this.generateArticle();
    }
  },

  // 生成文章
  generateArticle() {
    this.setData({ generating: true });

    wx.showLoading({
      title: '生成中...',
      mask: true
    });

    // 模拟AI生成文章
    setTimeout(() => {
      const mockArticles = [
        {
          title: `【种草分享】${this.data.productName}使用体验💕`,
          content: `姐妹们！今天必须来跟大家分享一下我最近入手的宝藏好物——${this.data.productName}！

✨使用感受：
用了一段时间真的太爱了！质感超级好，完全超出我的预期。包装也非常精致，送人自用都很合适。

🌟推荐理由：
1. 品质优秀，性价比超高
2. 使用体验一级棒
3. 颜值在线，拿出来超有面子

💰价格也很美丽，趁着活动入手真的很划算！强烈推荐给大家，绝对不会踩雷！`,
          tags: ['种草分享', '好物推荐', '必买清单', '真实测评'],
          images: [
            'https://picsum.photos/id/237/600/400',
            'https://picsum.photos/id/152/600/400'
          ]
        },
        {
          title: `真香警告！${this.data.productName}实测分享`,
          content: `集美们看过来！今天给大家带来${this.data.productName}的真实使用感受~

🎯第一印象：
收到货的那一刻就被惊艳到了！包装精美，细节满满，完全是高端货的质感。

💫使用体验：
用了几天下来，真的是越用越喜欢！质量很好，用起来特别顺手，完全就是我想要的样子！

⭐️总结：
这个价位能买到这么好的产品，真的是太值了！强烈安利给大家，闭眼入不会错！`,
          tags: ['真实测评', '使用心得', '好物安利', '值得入手'],
          images: [
            'https://picsum.photos/id/292/600/400',
            'https://picsum.photos/id/365/600/400',
            'https://picsum.photos/id/180/600/400'
          ]
        }
      ];

      const randomArticle = mockArticles[Math.floor(Math.random() * mockArticles.length)];

      this.setData({
        article: randomArticle,
        generating: false
      });

      wx.hideLoading();
    }, 2000);
  },

  // 删除图片
  deleteImage(e: any) {
    const index = e.currentTarget.dataset.index;
    const images = this.data.article.images;
    images.splice(index, 1);
    
    this.setData({
      'article.images': images
    });
  },

  // 返回上一页
  goBack() {
    wx.navigateBack();
  },

  // 重新生成文章
  regenerateArticle() {
    if (this.data.generating) return;
    this.generateArticle();
  },

  // 发布文章
  async publishArticle() {
    wx.showModal({
      title: '确认发布',
      content: '确定要发布这篇种草文章吗？',
      confirmText: '发布',
      confirmColor: '#ff2442',
      success: async (res) => {
        if (res.confirm) {
          // 如果是从领取的文案，调用后端API
          if (this.data.isFromClaim && this.data.copyId) {
            try {
              const response = await EmployeeService.publish({
                copy_id: this.data.copyId,
                title: this.data.article.title,
                content: this.data.article.content,
                publish_link: '', // 可以后续添加发布链接输入
                xhs_note_id: '' // 小红书笔记ID
              });

              if (response.code === 200) {
                wx.showToast({
                  title: '发布成功',
                  icon: 'success',
                  duration: 2000
                });

                // 保存到本地
                const articles = wx.getStorageSync('myArticles') || [];
                articles.unshift({
                  id: (response.data && response.data.record_id) || Date.now(),
                  productName: this.data.productName,
                  title: this.data.article.title,
                  content: this.data.article.content,
                  tags: this.data.article.tags,
                  createTime: new Date().toISOString(),
                  status: 'published'
                });
                wx.setStorageSync('myArticles', articles);

                // 2秒后返回首页
                setTimeout(() => {
                  wx.navigateBack();
                }, 2000);
              }
            } catch (error) {
              console.error('发布失败:', error);
            }
          } else {
            // 模拟发布（非领取文案的情况）
            wx.showLoading({
              title: '发布中...',
              mask: true
            });

            setTimeout(() => {
              wx.hideLoading();
              wx.showToast({
                title: '发布成功',
                icon: 'success',
                duration: 2000
              });

              // 保存到本地（模拟）
              const articles = wx.getStorageSync('myArticles') || [];
              articles.unshift({
                id: Date.now(),
                productName: this.data.productName,
                title: this.data.article.title,
                content: this.data.article.content,
                tags: this.data.article.tags,
                createTime: new Date().toISOString(),
                status: 'published'
              });
              wx.setStorageSync('myArticles', articles);

              // 2秒后返回首页
              setTimeout(() => {
                wx.navigateBack();
              }, 2000);
            }, 1500);
          }
        }
      }
    });
  }
});
