|                                                                                                                                                                                      |  | <template>  <view class="richtext-container">    <!-- 状态栏安全区域 -->    <uv-status-bar></uv-status-bar>    
        <!-- 富文本内容区域 -->    <view class="content-wrapper">      <view class="content-container">        <!-- 使用 uv-parse 组件渲染富文本 -->        <uv-parse           v-if="htmlContent"          :content="htmlContent"          :tag-style="tagStyle"          :show-with-animation="true"          :animation-duration="300"        ></uv-parse>                <!-- 加载状态 -->        <view v-else class="loading-container">          <uv-loading-icon mode="circle"></uv-loading-icon>          <text class="loading-text">内容加载中...</text>        </view>      </view>    </view>  </view></template>
<script>export default {  data() {    return {      htmlContent: '',      // 富文本样式配置
      tagStyle: {        p: 'margin: 16rpx 0; line-height: 1.6; color: #333;',        img: 'max-width: 100%; height: auto; border-radius: 8rpx; margin: 16rpx 0;',        h1: 'font-size: 36rpx; font-weight: bold; margin: 24rpx 0 16rpx 0; color: #222;',        h2: 'font-size: 32rpx; font-weight: bold; margin: 20rpx 0 12rpx 0; color: #333;',        h3: 'font-size: 28rpx; font-weight: bold; margin: 16rpx 0 8rpx 0; color: #444;',        strong: 'font-weight: bold; color: #222;',        em: 'font-style: italic; color: #666;',        ul: 'margin: 16rpx 0; padding-left: 32rpx;',        ol: 'margin: 16rpx 0; padding-left: 32rpx;',        li: 'margin: 8rpx 0; line-height: 1.5;',        blockquote: 'margin: 16rpx 0; padding: 16rpx; background: #f5f5f5; border-left: 4rpx solid #ddd; border-radius: 4rpx;',        code: 'background: #f5f5f5; padding: 4rpx 8rpx; border-radius: 4rpx; font-family: monospace;',        pre: 'background: #f5f5f5; padding: 16rpx; border-radius: 8rpx; overflow-x: auto; margin: 16rpx 0;'      }    }  },    onLoad(options) {    // 获取传递的富文本内容
    if (options.content) {      this.htmlContent = decodeURIComponent(options.content)    } else {      uni.showToast({        title: '内容加载失败',        icon: 'error'      })      setTimeout(() => {        this.goBack()      }, 1500)    }  },    methods: {    // 返回上一页
    goBack() {      uni.navigateBack({        delta: 1      })    }  }}</script>
<style lang="scss" scoped>.richtext-container {  min-height: 100vh;  background: #fff;}
.content-wrapper {  padding: 0 32rpx 40rpx;}
.content-container {  background: #fff;  border-radius: 16rpx;  overflow: hidden;}
.loading-container {  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  padding: 120rpx 0;    .loading-text {    margin-top: 24rpx;    font-size: 28rpx;    color: #999;  }}
// 富文本内容样式优化
:deep(.uv-parse) {  font-size: 28rpx;  line-height: 1.6;  color: #333;    // 图片样式
  img {    max-width: 100% !important;    height: auto !important;    border-radius: 8rpx;    margin: 16rpx 0;    box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);  }    // 段落样式
  p {    margin: 16rpx 0;    text-align: justify;    word-break: break-word;  }    // 标题样式
  h1, h2, h3, h4, h5, h6 {    margin: 24rpx 0 16rpx 0;    font-weight: bold;    line-height: 1.4;  }    // 列表样式
  ul, ol {    margin: 16rpx 0;    padding-left: 32rpx;        li {      margin: 8rpx 0;      line-height: 1.5;    }  }    // 引用样式
  blockquote {    margin: 16rpx 0;    padding: 16rpx;    background: #f8f9fa;    border-left: 4rpx solid $primary-color;    border-radius: 4rpx;    font-style: italic;  }    // 代码样式
  code {    background: #f1f3f4;    padding: 4rpx 8rpx;    border-radius: 4rpx;    font-family: 'Courier New', monospace;    font-size: 24rpx;  }    pre {    background: #f1f3f4;    padding: 16rpx;    border-radius: 8rpx;    overflow-x: auto;    margin: 16rpx 0;        code {      background: none;      padding: 0;    }  }}</style>
 |