index.wxml 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <!--pages/exhibition/activeDetails/index.wxml-->
  2. <import src="../../../utils/wxParse/wxParse.wxml"/>
  3. <view class="detail-container">
  4. <!-- 返回按钮 -->
  5. <!-- <view wx:if="{{shouldShowBackButton}}" class="back-button" bindtap="goBack">
  6. <image src="/assets/indexPage/icon_back.png" mode="aspectFit"></image>
  7. </view> -->
  8. <!-- 加载状态 -->
  9. <view wx:if="{{loading}}" class="loading-container">
  10. <view class="loading-text">加载中...</view>
  11. </view>
  12. <!-- 详情内容 -->
  13. <view wx:elif="{{detailData}}" class="detail-content {{isFrom == 'weixin' ? 'notMargin' : ''}}">
  14. <!-- 标题 -->
  15. <view class="detail-title">
  16. {{detailData.title}}
  17. </view>
  18. <!-- 时间 -->
  19. <view wx:if="{{detailData.publish}}" class="detail-time">
  20. {{formattedPublishTime}}
  21. </view>
  22. <!-- 处理后的内容 -->
  23. <view wx:if="{{detailData.context}}" class="detail-text">
  24. <template is="wxParse" data="{{wxParseData: article.nodes}}"/>
  25. <!-- <view class="processed-html-content">
  26. <block wx:for="{{contentItems}}" wx:key="index">
  27. <text decode='true' wx:if="{{item.type === 'text'}}" class="text-content {{item.indent ? 'indent' : ''}}">{{item.content}}</text>
  28. <view wx:elif="{{item.type === 'text_with_links'}}" class="text-with-links {{item.indent ? 'indent' : ''}}">
  29. <rich-text nodes="{{item.content}}" class="rich-text-content" bindtap="onRichTextTap" data-links="{{item.links}}"></rich-text>
  30. </view>
  31. <view wx:elif="{{item.type === 'image'}}" class="image-item">
  32. <image src="{{item.src}}" mode="widthFix" class="content-image" lazy-load></image>
  33. </view>
  34. <view wx:elif="{{item.type === 'video'}}" class="video-item">
  35. <video src="{{item.src}}" poster="{{item.poster}}" class="content-video" controls></video>
  36. </view>
  37. <view wx:elif="{{item.type === 'audio'}}" class="audio-item">
  38. <view class="audio-title">{{item.title}}</view>
  39. <view class="audio-placeholder">音频: {{item.title}}</view>
  40. </view>
  41. </block>
  42. </view> -->
  43. </view>
  44. <!-- 展览特有按钮 -->
  45. <view wx:if="{{detailData.webSite}}" class="exhibition-actions">
  46. <view class="online-exhibition-btn" bindtap="goToOnlineExhibition">
  47. <image src="/assets/exhibition/online-kz.png" class="btn-icon" mode="aspectFit"></image>
  48. 线上观展
  49. </view>
  50. </view>
  51. <!-- 活动预约按钮 -->
  52. <view wx:if="{{detailData.personCount > 0 && fromtype == 'activity' && isLoggedIn}}" class="active-preview-btn">
  53. <view class="preview-btn" bindtap="goToActivePreview">
  54. 活动预约
  55. </view>
  56. </view>
  57. </view>
  58. <!-- 错误状态 -->
  59. <view wx:else class="error-state">
  60. <view class="error-text">加载失败,请重试</view>
  61. <button class="retry-button" bindtap="loadDetailData">重新加载</button>
  62. </view>
  63. </view>