projectUpdateDetails.vue 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <template>
  2. <view class="project-update-details">
  3. <view
  4. class="custom-navbar"
  5. :style="navBgStyle"
  6. >
  7. <view
  8. class="navbar-left scale-tap"
  9. @click="goBack"
  10. >
  11. <image
  12. src="@/static/crowdFunding/back.png"
  13. mode="widthFix"
  14. ></image>
  15. </view>
  16. <view
  17. class="navbar-center one-omit"
  18. style="max-width: 70vw"
  19. :style="{ opacity: navBgOpacity }"
  20. >
  21. 【Woh】灯塔 塔罗牌 治愈风泛伟特系伟特系伟特系
  22. </view>
  23. <view
  24. class="navbar-right scale-tap"
  25. @click="showShare = true"
  26. >
  27. <image
  28. src="@/static/crowdFunding/share.png"
  29. mode="widthFix"
  30. ></image>
  31. </view>
  32. </view>
  33. <image
  34. class="top-img"
  35. src="@/static/crowdFunding/top-img.png"
  36. mode="widthFix"
  37. ></image>
  38. <view class="update-info">
  39. <view class="update-title-row">
  40. <text class="update-title">· 第2次更新</text>
  41. <text class="update-time">2025.5.23 16:23</text>
  42. </view>
  43. <view class="update-user-row">
  44. <image
  45. class="user-avatar"
  46. src="@/static/home/avator.png"
  47. ></image>
  48. <text class="user-nickname">也许时间是一种解药</text>
  49. </view>
  50. </view>
  51. <view class="content">
  52. <uv-parse :content="content" :selectable="true"></uv-parse>
  53. </view>
  54. </view>
  55. </template>
  56. <script>
  57. export default {
  58. data() {
  59. return {
  60. navBgOpacity: 0,
  61. showShare: false,
  62. content: `<section data-role="paragraph" class="_135editor" style="">
  63. <p style="border-width: 0px; border-radius: 10px;text-align:center;" align="center">
  64. <span style="font-size: 20px; border-width: 0px; border-radius: 10px;"><strong style="border-width: 0px; border-radius: 10px;">追加解锁档位和关于地址修改邮费退补的提示</strong></span>&nbsp;
  65. </p>
  66. <p style="border-width: 0px; border-radius: 10px;text-align:center;" align="center">
  67. <br style="border-width: 0px; border-radius: 10px;"/>
  68. </p>
  69. <p style="border-width: 0px; border-radius: 10px;text-align:center;" align="center">
  70. <br style="border-width: 0px; border-radius: 10px;"/>
  71. </p>
  72. <p style="border-width: 0px; border-radius: 10px;" >
  73. 感谢大家的热情,我们在半天的时间内达到了68万的 金额。
  74. </p>
  75. <p style="border-width: 0px; border-radius: 10px;">
  76. <br style="border-width: 0px; border-radius: 10px;"/>
  77. </p>
  78. <p style="border-width: 0px; border-radius: 10px;">
  79. &nbsp;为了回应大家的支持,我们决定增加以下
  80. </p>
  81. <p style="border-width: 0px; border-radius: 10px;">
  82. 解锁档位:&nbsp;
  83. </p>
  84. <p style="border-width: 0px; border-radius: 10px;">
  85. <br style="border-width: 0px; border-radius: 10px;"/>
  86. </p>
  87. <p style="border-width: 0px; border-radius: 10px;">
  88. 350,000:正式开启《三相奇谈官方艺术设定集》制作企划!&lt;已经解锁&gt;&nbsp;
  89. </p>
  90. <p style="border-width: 0px; border-radius: 10px;">
  91. <br style="border-width: 0px; border-radius: 10px;"/>
  92. </p>
  93. <p style="border-width: 0px; border-radius: 10px;">
  94. ·500,000:为60元以上档位额外追加表情包贴纸·第 二弹!&lt;已经解锁&gt;&nbsp;
  95. </p>
  96. <p style="border-width: 0px; border-radius: 10px;">
  97. ·650,000:为所有档位追加3张角色明信片!&lt;已经解锁&gt;&nbsp;
  98. </p>
  99. <p style="border-width: 0px; border-radius: 10px;">
  100. ·800,000:为100元以上档位追加局部彩窗亚克力挂饰一个!&nbsp;
  101. </p>
  102. <p style="border-width: 0px; border-radius: 10px;">
  103. <span style="caret-color: red; border-width: 0px; border-radius: 10px;">·900,000:为所有档位追加角色纪念徽章,根据投票选出角色并全新绘制!</span>
  104. </p>
  105. </section>`,
  106. };
  107. },
  108. computed: {
  109. navBgStyle() {
  110. return {
  111. background: `rgba(255,255,255,${this.navBgOpacity})`,
  112. transition: "background 0.3s",
  113. };
  114. },
  115. },
  116. methods: {
  117. goBack() {
  118. uni.navigateBack();
  119. },
  120. },
  121. onPageScroll(e) {
  122. const threshold = this.swiperHeight || uni.upx2px(400); // 优先用实际高度
  123. let opacity = 0;
  124. if (e.scrollTop > 0) {
  125. opacity = Math.min(e.scrollTop / threshold, 1);
  126. }
  127. this.navBgOpacity = opacity;
  128. },
  129. };
  130. </script>
  131. <style scoped lang="scss">
  132. .project-update-details {
  133. min-height: 100vh;
  134. padding-bottom: 20vh;
  135. /* 自定义导航栏样式 */
  136. .custom-navbar {
  137. display: flex;
  138. flex-direction: row;
  139. align-items: center;
  140. justify-content: space-between;
  141. width: 100%;
  142. height: calc(90rpx + var(--status-bar-height));
  143. padding: 0 20rpx;
  144. position: fixed;
  145. top: 0;
  146. z-index: 100;
  147. padding: 12rpx 24rpx;
  148. padding-top: calc(var(--status-bar-height) + 12rpx);
  149. background: transparent;
  150. transition: background 0.3s;
  151. image {
  152. width: 64rpx;
  153. height: 64rpx;
  154. }
  155. }
  156. .top-img {
  157. width: 100%;
  158. }
  159. .update-info {
  160. background: #fff;
  161. padding: 32rpx 32rpx 0 32rpx;
  162. .update-title-row {
  163. display: flex;
  164. justify-content: space-between;
  165. align-items: center;
  166. margin-bottom: 24rpx;
  167. .update-title {
  168. font-size: 26rpx;
  169. color: #222;
  170. }
  171. .update-time {
  172. font-size: 24rpx;
  173. color: #bdbdbd;
  174. }
  175. }
  176. .update-user-row {
  177. display: flex;
  178. align-items: center;
  179. .user-avatar {
  180. width: 48rpx;
  181. height: 48rpx;
  182. border-radius: 50%;
  183. margin-right: 16rpx;
  184. }
  185. .user-nickname {
  186. font-size: 26rpx;
  187. color: #222;
  188. font-weight: 500;
  189. }
  190. }
  191. }
  192. .content{
  193. padding: 42rpx 28rpx;
  194. }
  195. }
  196. </style>