帧视界壹通告,付费看视频的微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

186 lines
3.1 KiB

10 months ago
  1. <template>
  2. <view class="postDetail">
  3. <navbar leftClick @leftClick="leftClick" />
  4. <view class="swipe">
  5. <uv-swiper
  6. :list="item.image &&
  7. item.image.split(',')"
  8. indicator
  9. height="320rpx"></uv-swiper>
  10. </view>
  11. <view class="box">
  12. <view class="topInfo">
  13. <view class="title">
  14. {{ item.title }}
  15. </view>
  16. <view class="price">
  17. <view class="">
  18. 排名{{ item.money || 0 }}
  19. </view>
  20. <view class="">
  21. 投票200
  22. </view>
  23. </view>
  24. <!-- <view class="right">
  25. <view class="money30">
  26. 近30天收益
  27. </view>
  28. <view class="phone">
  29. 联系方式<text>付费查看</text>
  30. </view>
  31. </view> -->
  32. </view>
  33. <view class="createBy">
  34. <view class="">
  35. 发布人{{ item.userId }}
  36. </view>
  37. <view class="">
  38. 发布时间{{ item.createTime }}
  39. </view>
  40. </view>
  41. <view class="controls">
  42. <contentControls/>
  43. </view>
  44. <!-- <view class="content">
  45. <uv-parse :content="item.photographerContent"></uv-parse>
  46. </view> -->
  47. <view class="works">
  48. <view class="item"
  49. v-for="(t, index) in item.isImage && item.isImage.split(',')"
  50. :key="index">
  51. <view class="item-image">
  52. <video :src="t" object-fit="fill"/>
  53. </view>
  54. </view>
  55. </view>
  56. </view>
  57. </view>
  58. </template>
  59. <script>
  60. import contentControls from '@/components/content/contentControls.vue'
  61. export default {
  62. components : {
  63. contentControls
  64. },
  65. data() {
  66. return {
  67. item: {},
  68. total : 0,
  69. }
  70. },
  71. onLoad(options) {
  72. // this.$route.query的参数
  73. this.getData(options.id)
  74. },
  75. methods: {
  76. leftClick(){
  77. uni.navigateBack(-1)
  78. },
  79. getData(id){
  80. this.$api('indexGetGetWorkDetail', {
  81. id
  82. }, res => {
  83. if(res.code == 200){
  84. this.item = res.result
  85. }
  86. })
  87. },
  88. }
  89. }
  90. </script>
  91. <style lang="scss" scoped>
  92. .postDetail {
  93. .box {
  94. padding: 20rpx;
  95. .topInfo{
  96. position: relative;
  97. .price{
  98. display: flex;
  99. justify-content: space-between;
  100. margin: 10rpx 0;
  101. }
  102. .right{
  103. position: absolute;
  104. right: 20rpx;
  105. top: 0rpx;
  106. line-height: 50rpx;
  107. text-align: right;
  108. .money30{
  109. font-size: 26rpx;
  110. color: #D43030;
  111. }
  112. .phone{
  113. text{
  114. color: #3A6BF1;
  115. margin-left: 10rpx;
  116. }
  117. }
  118. }
  119. }
  120. .title {
  121. font-size: 30rpx;
  122. font-weight: 600;
  123. color: #000;
  124. }
  125. .createBy {
  126. display: flex;
  127. margin-top: auto;
  128. margin-bottom: 10rpx;
  129. font-size: 24rpx;
  130. margin-top: 20rpx;
  131. color: #555;
  132. &>view {
  133. display: flex;
  134. align-items: center;
  135. justify-content: center;
  136. padding-right: 20rpx;
  137. }
  138. }
  139. .controls {
  140. margin-top: 30rpx;
  141. }
  142. .content {
  143. margin-top: 30rpx;
  144. color: #777;
  145. }
  146. .works{
  147. display: flex;
  148. flex-wrap: wrap;
  149. margin-top: 20rpx;
  150. .item{
  151. width: 320rpx;
  152. margin: 15rpx;
  153. .item-title{
  154. padding-bottom: 10rpx;
  155. color: #000;
  156. }
  157. .item-image{
  158. background-color: #999;
  159. width: 100%;
  160. height: 250rpx;
  161. video{
  162. width: 100%;
  163. height: 100%;
  164. }
  165. }
  166. }
  167. }
  168. }
  169. }
  170. </style>