user.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <template>
  2. <view>
  3. <scroll-view scroll-y="true" class="scroll-content" :enhanced="true" :bounces="false" :show-scrollbar="false" @scroll="pageScroll">
  4. <view class="user-header">
  5. <view class="header-bg">
  6. <image src="https://blue-data.oss-cn-guangzhou.aliyuncs.com/star/hero-grid.png" mode="widthFix"></image>
  7. </view>
  8. <cu-custom :bgColor="scrollHeight>20?'bg-bluev-head':'none'">
  9. <block slot="content">我的</block>
  10. </cu-custom>
  11. <view class="user-detail-body">
  12. <view class="avatar"><image src="/static/rank/avatar.jpeg" mode="widthFix"></image></view>
  13. <view class="detail-info">
  14. <view class="name">
  15. <view class="text">我是庄小周</view>
  16. <view class="level level-bg-1">
  17. <image src="/static/level/lv1.png"></image>Lv.1
  18. </view>
  19. </view>
  20. <view class="desc">ID:234234234 <text class="cuIcon-copy"></text></view>
  21. </view>
  22. <view class="detail-status">
  23. <!-- <view class="status-btn full"><text class="cuIcon-edit"></text><view class="text">已签约</view></view> -->
  24. <view class="status-btn"><text class="cuIcon-edit"></text><view class="text">未签约</view> </view>
  25. </view>
  26. </view>
  27. </view>
  28. <view class="user-body">
  29. <view class="user-total">
  30. <view class="total-item">
  31. <view class="num">102</view>
  32. <view class="name">完成任务</view>
  33. </view>
  34. <view class="total-item">
  35. <view class="num">102</view>
  36. <view class="name">收益(元)</view>
  37. </view>
  38. <view class="total-item">
  39. <view class="num">102</view>
  40. <view class="name">粉丝</view>
  41. </view>
  42. <view class="total-item">
  43. <view class="num">10<text>%</text></view>
  44. <view class="name">平均转化率</view>
  45. </view>
  46. </view>
  47. <view class="user-level">
  48. <view class="user-level-body">
  49. <view class="level-top">
  50. <view class="level-name">LV.3黄金达人</view>
  51. <view class="level-more">查看等级 <text class="cuIcon-right"></text></view>
  52. </view>
  53. <view class="level-mid">距离下一等级还差119</view>
  54. <view class="level-foot">
  55. <view class="level-step">
  56. <view class="success" style="width: 50%;"></view>
  57. </view>
  58. <view class="level-num"><text>181</text>/300</view>
  59. </view>
  60. </view>
  61. </view>
  62. <view class="user-menu-service">
  63. <view class="title">我的服务</view>
  64. <view class="service-body">
  65. <view class="service-item">
  66. <view class="icon">
  67. <image src="/static/mine/task.png" mode="widthFix"></image>
  68. <view class="dot">
  69. <image src="/static/mine/msg-dot.png"></image>
  70. <view class="num">5</view>
  71. </view>
  72. </view>
  73. <view class="name">我的任务</view>
  74. </view>
  75. <view class="service-item">
  76. <view class="icon"><image src="/static/mine/income.png" mode="widthFix"></image></view>
  77. <view class="name">我的收益</view>
  78. </view>
  79. <view class="service-item">
  80. <view class="icon"><image src="/static/mine/certify.png" mode="widthFix"></image></view>
  81. <view class="name">达人认证</view>
  82. </view>
  83. <view class="service-item">
  84. <view class="icon"><image src="/static/mine/service-bind.png" mode="widthFix"></image></view>
  85. <view class="name">帐号绑定</view>
  86. </view>
  87. </view>
  88. </view>
  89. <view class="user-menu-normal">
  90. <view class="title">常用功能</view>
  91. <view class="normal-body">
  92. <view class="normal-item">
  93. <view class="icon"><image src="/static/mine/common-favorite.png" mode="widthFix"></image></view>
  94. <view class="name">我的收藏</view>
  95. <view class="more"><text class="cuIcon-right"></text></view>
  96. </view>
  97. <view class="normal-item">
  98. <view class="icon"><image src="/static/mine/common-history.png" mode="widthFix"></image></view>
  99. <view class="name">浏览记录</view>
  100. <view class="more"><text class="cuIcon-right"></text></view>
  101. </view>
  102. <view class="normal-item">
  103. <view class="icon"><image src="/static/mine/common-cooperate.png" mode="widthFix"></image></view>
  104. <view class="name">商务合作</view>
  105. <view class="more"><text class="cuIcon-right"></text></view>
  106. </view>
  107. <view class="normal-item">
  108. <view class="icon"><image src="/static/mine/common-leader.png" mode="widthFix"></image></view>
  109. <view class="name">成为团长</view>
  110. <view class="more"><text class="cuIcon-right"></text></view>
  111. </view>
  112. <view class="normal-item">
  113. <view class="icon"><image src="/static/mine/common-address.png" mode="widthFix"></image></view>
  114. <view class="name">收货地址</view>
  115. <view class="more"><text class="cuIcon-right"></text></view>
  116. </view>
  117. <view class="normal-item">
  118. <view class="icon"><image src="/static/mine/common-setting.png" mode="widthFix"></image></view>
  119. <view class="name">设置</view>
  120. <view class="more"><text class="cuIcon-right"></text></view>
  121. </view>
  122. </view>
  123. </view>
  124. </view>
  125. <view class="star-task-more"></view>
  126. </scroll-view>
  127. <halfLogin ref="loginCom"></halfLogin>
  128. </view>
  129. </template>
  130. <script>
  131. var app;
  132. export default {
  133. data() {
  134. return {
  135. scrollHeight:0,
  136. }
  137. },
  138. onLoad() {
  139. app = this;
  140. },
  141. methods: {
  142. pageScroll(event) {
  143. var scrollHeight = event.detail.scrollTop;
  144. app.scrollHeight = scrollHeight;
  145. }
  146. }
  147. }
  148. </script>
  149. <style lang="scss">
  150. page{background-color: #f8f8f8;}
  151. .user-header{position: relative;background: linear-gradient(180deg, #87e0ff 10%, rgba(207, 238, 248, 0.35) 69.55%, rgba(245, 245, 245, 0) 100%);overflow: hidden;}
  152. .user-header .header-bg{
  153. position: absolute;
  154. left: -304rpx;
  155. top: -278rpx;
  156. width: 1266rpx;
  157. height: 608rpx;
  158. opacity: 0.4;
  159. mix-blend-mode: multiply;
  160. pointer-events: none;
  161. }
  162. .user-header .header-bg image{width: 100%;}
  163. .user-detail-body{margin: 20rpx;display: flex;align-items: center;position: relative;z-index: 99;}
  164. .user-detail-body .avatar image{width: 100rpx;height: 100rpx;border-radius: 100%;}
  165. .user-detail-body .detail-info{margin-left: 20rpx;}
  166. .user-detail-body .detail-info .name{display: flex;align-items: center;gap: 10rpx;}
  167. .user-detail-body .detail-info .name .text{font-family: "bluevBold";color: #000;font-weight: 800;font-size: 30rpx;}
  168. .user-detail-body .detail-info .name .level{display: flex;align-items: center;font-size: 22rpx;border-radius: 20rpx;padding: 5rpx 10rpx;gap: 5rpx;}
  169. .user-detail-body .detail-info .name .level image{width: 30rpx;height: 30rpx;}
  170. .user-detail-body .detail-info .desc{color: #666;font-size: 24rpx;margin-top: 10rpx;}
  171. .user-detail-body .detail-info .desc text{font-size: 26rpx;}
  172. .user-detail-body .detail-status{margin-left: auto;margin-right: 0;}
  173. .user-detail-body .detail-status .status-btn {font-size: 24rpx;padding: 10rpx 15rpx;border-radius: 40rpx;display: flex;align-items: center;gap: 10rpx;color: #7F8185;background-color: transparent;justify-content: center;}
  174. .user-detail-body .detail-status .status-btn text{font-size: 28rpx;margin-top: 2rpx;}
  175. .user-detail-body .detail-status .status-btn.full{background-color: #03BEFF;color: #fff;}
  176. .user-body{margin: 20rpx;}
  177. .user-body .user-total{display: flex;align-items: flex-start;justify-content: space-between;width: 100%;flex-direction: row;}
  178. .user-body .user-total .total-item{min-width: 0%;display: flex;flex-direction: column;align-items: center;justify-content: center;flex: 1;}
  179. .user-body .user-total .total-item .num{color: #212226;font-size: 36rpx;font-weight: 800;line-height: 1.1;text-align: center;}
  180. .user-body .user-total .total-item .name{color: rgba(21, 21, 21, 0.45);font-size: 22rpx;line-height: 1.2;text-align: center;margin-top: 10rpx;}
  181. .user-body .user-level{background: linear-gradient(0deg, #f0fbff 0%, #b0e9ff 100%);padding: 2rpx;box-sizing: border-box;border-radius: 24rpx;margin: 20rpx 0;}
  182. .user-body .user-level-body{padding: 28rpx 28rpx 32rpx;border-radius: 22rpx;background: linear-gradient(180deg, #def6ff 0%, #eefaff 52%, #ffffff 100%);box-sizing: border-box;}
  183. .user-body .user-menu-normal{background-color: #fff;border-radius: 20rpx;padding: 28rpx;margin-bottom: 20rpx;}
  184. .user-body .user-menu-normal .title{font-size: 32rpx;color: #000;font-weight: 800;line-height: 2;}
  185. .user-body .normal-body{}
  186. .user-body .normal-body .normal-item{display: flex;align-items: center;gap: 20rpx;height: 80rpx;line-height: 80rpx;}
  187. .user-body .normal-body .normal-item:last-child{border-bottom: 0;}
  188. .user-body .normal-body .normal-item .name{font-size: 28rpx;color: #000;}
  189. .user-body .normal-body .normal-item .icon {display: flex;align-items: center;justify-content: center;}
  190. .user-body .normal-body .normal-item .icon image{width: 48rpx;height: 48rpx;}
  191. .user-body .normal-body .normal-item .more{margin-left: auto;margin-right: 0;color: rgba(0, 0,0 ,.2);}
  192. .user-body .user-menu-service{background-color: #fff;border-radius: 20rpx;padding: 28rpx;margin-bottom: 20rpx;}
  193. .user-body .user-menu-service .title{font-size: 32rpx;color: #000;font-weight: 800;line-height: 2;}
  194. .user-body .user-menu-service .service-body{display: flex;align-items: flex-start;justify-content: space-between;margin-top: 20rpx;}
  195. .user-body .user-menu-service .service-body .icon {position: relative;}
  196. .user-body .user-menu-service .service-body .icon image{width: 72rpx;height: 72rpx;}
  197. .user-body .user-menu-service .service-body .icon .dot{display: flex;align-items: center;width: 51rpx;height: 51rpx;position: absolute;top: -25rpx;right: -45rpx;z-index: 99;justify-content: center;}
  198. .user-body .user-menu-service .service-body .icon .dot image{width: 51rpx;height: 51rpx;position: absolute;top: 0;right: 0;z-index: 98;}
  199. .user-body .user-menu-service .service-body .icon .num{color: #fff;position: relative;z-index: 99;font-size: 22rpx;font-weight: 800;font-family: "bluevBold";}
  200. .user-body .user-menu-service .service-body .name{color: #212226;font-size: 28rpx;margin-top: 10rpx;}
  201. .user-body .user-menu-service .service-body .service-item{display: flex;align-items: center;flex-direction: column;}
  202. .user-body .user-level-body .level-foot{display: flex;align-items: center;justify-content: space-between;gap: 20rpx;}
  203. .user-body .user-level-body .level-foot .level-step{background-color: #E4E4E4;height: 10rpx;flex: 1;border-radius: 10rpx;}
  204. .user-body .user-level-body .level-foot .level-step .success{background-color: #87E0FF;height: 10rpx;border-radius: 10rpx;}
  205. .user-body .user-level-body .level-foot .level-num{color: #999;font-size: 22rpx;}
  206. .user-body .user-level-body .level-foot .level-num text{color: #666;}
  207. .user-body .user-level-body .level-mid{margin: 10rpx 0;font-size: 22rpx;color: #8C8C8C;}
  208. .user-body .user-level-body .level-top{display: flex;align-items: center;justify-content: space-between;}
  209. .user-body .user-level-body .level-top .level-name{color: #000;font-weight: 800;font-family: "bluevBold";font-size: 30rpx;}
  210. .user-body .user-level-body .level-top .level-more{color: #666;font-size: 22rpx;}
  211. </style>