<template>
  <view class="container">
	<!--  <view class="status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
	  <uni-nav-bar title="收益详情" backgroundColor="transparent" :border="false" left-icon="left"
	  			@click-left="goBack" /> -->

	  <!-- 暂无数据 -->
	  <view v-if="isLoaded && !noticeDetail.noticeTitle" class="empty-state">
	    <uni-icons type="info" size="30" color="#ccc"></uni-icons>
	    <text class="empty-text">暂无数据</text>
	  </view>

      <!-- 文章标题 -->
      <view class="article-header" v-if="noticeDetail.noticeTitle">
        <view class="article-title">
          {{noticeDetail.noticeTitle}}
        </view>
        </view>
        <!-- 作者和日期 -->
		<view class="notice-meta" v-if="noticeDetail.noticeTitle">
		  <view class="notice-author">
		    <!-- <text class="author-name">{{noticeDetail.author}}</text> -->
		    <!-- <text class="separator">·</text> -->
		    <text class="publish-time">{{noticeDetail.publishTime}}</text>
		  </view>
		</view>

      <!-- 文章内容 -->
      <view class="article-content" v-if="noticeDetail.noticeTitle">
        <view class="paragraph" v-html="noticeDetail.noticeContent"></view>
		<view class="articleimg">

		</view>
      </view>


  </view>
</template>

<script setup>
	import { ref, onMounted } from 'vue'
	import { onLoad, onShow } from '@dcloudio/uni-app'
	import {revenueDetails} from '../api/apiSub.js'

	const isLoading = ref(false)
	const isLoaded = ref(false)
	const noticeDetail = ref({})
	const currentNoticeId = ref('') // 接收公告跳转的id
	const statusBarHeight = ref(uni.getSystemInfoSync().statusBarHeight || 0)

	// =====方法====
	onLoad((options) =>{
		currentNoticeId.value = options?.id
		if(currentNoticeId.value){
			getDetailsData(currentNoticeId.value)
		} else {
			isLoaded.value = true
		}

		// console.log('currentNoticeId',currentNoticeId.value)
	})
	// 获取详情数据
	const getDetailsData = async (noticeId) =>{

		try{
			const res = await revenueDetails({ id: noticeId })
			if(res.code === 200){
				noticeDetail.value = res.data
				uni.$emit('noticeRead',{
					noticeId:noticeId,
					readStatus:noticeDetail.value.readStatus
				})


			}
		}catch(err){
			uni.showToast({
				title: err.msg ||"网络异常",
				icon:"none"
			})
		}finally{
			isLoaded.value = true
		}
	}
	// 返回
	const goBack = () => {
		uni.navigateBack()
	}


</script>

<style lang="scss" scoped>
.container {
  min-height: 100vh;
  background-color: #ffffff;
  padding: 20px;
}
.status-bar {
	width: 100%;
	flex-shrink: 0;
}

/* 暂无数据 */
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 200rpx;

  .empty-text {
    font-size: 28rpx;
    color: #999;
    margin-top: 20rpx;
  }
}

/* 内容滚动区域 */
.content-scroll {
  padding-top: 15px;
  box-sizing: border-box;
  background-color: #ffffff;
}

/* 文章头部 */
.article-header {
  // padding: 24px 20px 20px;
  // border-bottom: 1px solid #f0f0f0;

  .article-title {
    word-break: break-all;
    white-space: pre-wrap;
    font-weight: bold;
    color: #333333;
    line-height: 1.4;
    margin-bottom: 16px;
    text-align: center;
  }

  .article-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666666;
    font-size: 14px;

    .meta-item {
      display: flex;
      align-items: center;

      .meta-icon {
        font-size: 14px;
        margin-right: 4px;
      }

      .meta-text {
        font-size: 14px;
      }
    }

    .meta-divider {
      margin: 0 12px;
      color: #cccccc;
    }
  }
}
/* 元信息 */
.notice-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  // margin-bottom: 12px;
  color: #666;
  font-size: 24rpx;
  margin: 0 30rpx;

  .notice-author {
    display: flex;
    align-items: center;

    .author-name {
      color: #666;
    }

    .separator {
      margin: 0 6px;
      color: #ccc;
    }

    .publish-time {
      color: #999;
    }
  }

  .notice-time {
    display: flex;
    align-items: center;

    .date-text {
      margin-left: 4px;
      color: #999;
    }
  }
}

/* 文章内容 */
.article-content {
  padding: 20px;
  color: #333333;
  line-height: 1.8;
  font-size: 28rpx;
  .articleimg{
	  width: 100%;
	  height: 330rpx;
  }

  .paragraph {
    white-space: pre-wrap;
    word-break: break-word;
    margin-bottom: 20px;
    text-align: justify;
    text-indent: 2em;

    /* 富文本里的图片不超出屏幕 */
    :deep(img),
    :deep(image) {
      max-width: 100% !important;
      height: auto !important;
      display: block;
      margin: 10px 0;
    }
  }

  .bullet-list {
    margin: 20px 0 20px 2em;

    .bullet-item {
      display: flex;
      margin-bottom: 12px;

      .bullet-dot {
        color: #666666;
        margin-right: 8px;
        flex-shrink: 0;
      }

      .bullet-text {
        flex: 1;
        color: #333333;
      }
    }
  }
}

/* 附件区域 */
.attachments-section {
  padding: 20px;
  background-color: #f9f9f9;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  margin-top: 20px;

  .section-title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;

    .title-text {
      font-size: 18px;
      font-weight: 600;
      color: #333333;
      white-space: nowrap;
      margin-right: 12px;
    }

    .title-line {
      flex: 1;
      height: 1px;
      background-color: #e0e0e0;
    }
  }

  .attachments-list {
    .attachment-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px;
      background-color: #ffffff;
      border-radius: 8px;
      margin-bottom: 12px;
      border: 1px solid #e8e8e8;

      &:active {
        background-color: #f5f5f5;
      }

      &:last-child {
        margin-bottom: 0;
      }

      .attachment-left {
        display: flex;
        align-items: center;
        flex: 1;

        .file-icon {
          font-size: 24px;
          margin-right: 12px;

          &.doc-icon {
            color: #2b579a; /* Word文档蓝色 */
          }

          &.pdf-icon {
            color: #e74c3c; /* PDF红色 */
          }
        }

        .file-info {
          .file-name {
            font-size: 16px;
            color: #333333;
            margin-bottom: 4px;
            font-weight: 500;
          }

          .file-size {
            font-size: 13px;
            color: #666666;
          }
        }
      }

      .download-btn {
        width: 40px;
        height: 40px;
        border-radius: 20px;
        background-color: #f0f0f0;
        display: flex;
        align-items: center;
        justify-content: center;

        .download-icon {
          font-size: 18px;
          color: #333333;
        }
      }
    }
  }
}

/* 页面底部 */
.page-footer {
  padding: 30px 20px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;

  .footer-text {
    font-size: 16px;
    color: #999999;
    margin-bottom: 20px;
  }

  .footer-info {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #999999;

    .info-item {
      padding: 0 8px;
    }

    .info-divider {
      color: #dddddd;
    }
  }
}

/* 响应式调整 */
@media (min-width: 768px) {
  .container {
    max-width: 768px;
    margin: 0 auto;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  }

  .article-header,
  .article-content,
  .attachments-section,
  .page-footer {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* 暗色模式适配 */
@media (prefers-color-scheme: dark) {
  .container {
    background-color: #1a1a1a;
  }

  .custom-navbar {
    background-color: #1a1a1a;
    border-bottom-color: #333333;

    .nav-back,
    .nav-title {
      color: #ffffff;
    }

    .nav-actions .action-icon {
      color: #ffffff;
    }
  }

  .content-scroll {
    background-color: #1a1a1a;
  }

  .article-header {
    border-bottom-color: #333333;

    .article-title {
    word-break: break-all;
	    white-space: pre-wrap;
      color: #ffffff;
    }

    .article-meta {
      color: #999999;
    }
  }

  .article-content {
    color: #e0e0e0;

    .bullet-item .bullet-text {
      color: #e0e0e0;
    }
  }

  .attachments-section {
    background-color: #2a2a2a;
    border-top-color: #333333;
    border-bottom-color: #333333;

    .section-title .title-text {
      color: #ffffff;
    }

    .attachment-item {
      background-color: #2a2a2a;
      border-color: #333333;

      &:active {
        background-color: #333333;
      }

      .file-info .file-name {
        color: #ffffff;
      }

      .file-info .file-size {
        color: #999999;
      }
    }
  }

  .page-footer {
    .footer-text,
    .footer-info {
      color: #666666;
    }
  }
}
</style>
