推广小程序前端代码
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.

296 lines
5.8 KiB

5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
  1. <template>
  2. <view class="page">
  3. <view class="head-box"></view>
  4. <uv-navbar title="个人中心" :bgColor="bgColor" height="100rpx" :titleStyle="{color:'#fff'}"></uv-navbar>
  5. <view class="content">
  6. <view class="head">
  7. <view class="headImage">
  8. <image :src="userInfo.headImage" mode="aspectFill"></image>
  9. </view>
  10. <view class="info">
  11. <view class="vip">
  12. 但愿人长久
  13. </view>
  14. <view class="tips">
  15. 158123321
  16. </view>
  17. </view>
  18. <view class="setting">
  19. <uv-icon name="edit-pen" size="50rpx" color="#fff"></uv-icon>
  20. </view>
  21. </view>
  22. <view class="myOrder">
  23. <view>我的活动</view>
  24. </view>
  25. <view class="order">
  26. <view class="box">
  27. <view class="boxs"
  28. @click="$utils.navigateTo('/pages/index/order?type=1')">
  29. <image src="@/static/image/center/order-1.png" mode="aspectFill" />
  30. <view>待参加</view>
  31. </view>
  32. <view class="boxs"
  33. @click="$utils.navigateTo('/pages/index/order?type=2')">
  34. <image src="@/static/image/center/order-2.png" mode="aspectFill" />
  35. <view>已完成</view>
  36. </view>
  37. <view class="boxs"
  38. @click="$utils.navigateTo('/pages/index/order?type=3')">
  39. <image src="@/static/image/center/order-3.png" mode="aspectFill" />
  40. <view>已取消</view>
  41. </view>
  42. </view>
  43. </view>
  44. <view class="myOrder">
  45. <view>我的工具</view>
  46. </view>
  47. <view class="user">
  48. <view class="cell-bottom">
  49. <view class="cell-line" v-for="(item,i) in cellList" :key="i" @click="jump(item)">
  50. <view class="line-l">
  51. <image :src="item.src" mode="widthFix"></image>
  52. <view>{{item.name}}</view>
  53. </view>
  54. <uv-icon size="35" name="arrow-right"></uv-icon>
  55. </view>
  56. </view>
  57. </view>
  58. </view>
  59. <!-- <customerServicePopup ref="customerServicePopup"/> -->
  60. <tabber select="center" />
  61. </view>
  62. </template>
  63. <script>
  64. import tabber from '@/components/base/tabbar.vue'
  65. import { mapState } from 'vuex'
  66. import customerServicePopup from '@/components/config/customerServicePopup.vue'
  67. export default {
  68. components: {
  69. tabber,
  70. customerServicePopup,
  71. },
  72. computed: {
  73. },
  74. data() {
  75. return {
  76. bgColor:'transparent',
  77. cellList:[
  78. {
  79. src:require('@/static/image/center/line-1.png'),
  80. name:'开票记录'
  81. },
  82. {
  83. src:require('@/static/image/center/line-2.png'),
  84. name:'我的收藏'
  85. },
  86. {
  87. src:require('@/static/image/center/line-3.png'),
  88. name:'关于我们'
  89. },
  90. {
  91. src:require('@/static/image/center/line-4.png'),
  92. name:'用户协议'
  93. },
  94. {
  95. src:require('@/static/image/center/line-5.png'),
  96. name:'隐私协议'
  97. },
  98. {
  99. src:require('@/static/image/center/line-6.png'),
  100. name:'主理人协议'
  101. },
  102. {
  103. src:require('@/static/image/center/line-7.png'),
  104. name:'主理人签到',
  105. url:'/pages_my/zlx-qiandao'
  106. }
  107. ],
  108. vipType : ['普通会员', '黄金会员', '渠道商'],
  109. vipImage : ['vip_vip', 'vip_user', 'vip_shop']
  110. }
  111. },
  112. onShow() {
  113. },
  114. onPageScroll(e) {
  115. if(e.scrollTop > 50) {
  116. this.bgColor = '#49070c'
  117. }else{
  118. this.bgColor = 'transparent'
  119. }
  120. },
  121. methods: {
  122. clickNo(){
  123. uni.showModal({
  124. title: '暂未开放',
  125. })
  126. },
  127. jump(item) {
  128. uni.navigateTo({
  129. url:item.url
  130. })
  131. }
  132. }
  133. }
  134. </script>
  135. <style lang="scss">
  136. page {
  137. background-color: #060504;
  138. }
  139. </style>
  140. <style scoped lang="scss">
  141. .page {
  142. .head-box {
  143. background: url('@/static/image/nav-bg.png') no-repeat;
  144. background-size: 100% 100%;
  145. width: 100%;
  146. height: 534rpx;
  147. position: absolute;
  148. }
  149. .content {
  150. padding: 0 30rpx;
  151. padding-top: calc(var(--status-bar-height) + 100rpx);
  152. padding-bottom: 20rpx;
  153. }
  154. }
  155. .head {
  156. display: flex;
  157. align-items: center;
  158. margin-bottom: 40rpx;
  159. .headImage {
  160. width: 113rpx;
  161. height: 113rpx;
  162. background-image: url(/static/image/center/3.png);
  163. background-size: 100% 100%;
  164. overflow: hidden;
  165. border-radius: 50%;
  166. margin-right: 22rpx;
  167. }
  168. .info {
  169. font-size: 28rpx;
  170. display: flex;
  171. flex-direction: column;
  172. gap: 10rpx;
  173. flex: 1;
  174. .vip {
  175. font-weight: 600;
  176. font-size: 32rpx;
  177. color: #E6E6E6;
  178. }
  179. .tips {
  180. font-weight: 400;
  181. font-size: 22rpx;
  182. color: #999999;
  183. }
  184. }
  185. }
  186. .setting {
  187. display: flex;
  188. align-items: center;
  189. justify-content: center;
  190. // position: absolute;
  191. // right: 50rpx;
  192. // top: 50rpx;
  193. width: 70rpx;
  194. height: 70rpx;
  195. background: #221D1D;
  196. border-radius: 20rpx;
  197. }
  198. .myOrder {
  199. font-weight: bold;
  200. font-size: 28rpx;
  201. color: #E6E6E6;
  202. }
  203. .order {
  204. display: flex;
  205. align-items: center;
  206. justify-content: center;
  207. height: 200rpx;
  208. background: #1B1713;
  209. border-radius: 20rpx 20rpx 20rpx 20rpx;
  210. opacity: 0.7;
  211. color: #999999;
  212. font-size: 23rpx;
  213. margin-top: 22rpx;
  214. margin-bottom: 33rpx;
  215. .box {
  216. display: flex;
  217. width: 100%;
  218. justify-content: space-around;
  219. .boxs {
  220. width: 33.33%;
  221. display: flex;
  222. flex-direction: column;
  223. align-items: center;
  224. border-right: 1px solid #2F2D2B;
  225. &:last-child {
  226. border: none;
  227. }
  228. image {
  229. width: 55rpx;
  230. height: 47rpx;
  231. margin-bottom: 24rpx;
  232. }
  233. }
  234. }
  235. }
  236. .user {
  237. margin-top: 25rpx;
  238. .grid {
  239. flex-direction: column;
  240. font-size: 26rpx;
  241. padding: 20rpx;
  242. .title {
  243. font-weight: 600;
  244. padding: 10rpx;
  245. border-left: 6rpx solid #A3D250;
  246. }
  247. }
  248. .cell-bottom {
  249. margin-top: 20rpx;
  250. margin-left: 2%;
  251. background-color: #1B1713;
  252. border-radius: 20rpx;
  253. .cell-line {
  254. height: 100rpx;
  255. display: flex;
  256. align-items: center;
  257. justify-content: space-between;
  258. padding: 0 30rpx;
  259. .line-l {
  260. display: flex;
  261. align-items: center;
  262. font-weight: 400;
  263. font-size: 29rpx;
  264. color: #E6E6E6;
  265. image {
  266. width: 45rpx;
  267. margin-right: 18rpx;
  268. }
  269. }
  270. }
  271. }
  272. }
  273. </style>