详情小程序
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.

336 lines
8.5 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <template>
  2. <view class="lf-w-100 lf-h-100">
  3. <view class="head-top">
  4. <view class="lf-row-between pic-top">
  5. <view class="lf-row-round">
  6. <view>
  7. <!-- <lf-image style="width: 160rpx;height: 160rpx;" src="../../static/logo.png"></lf-image> -->
  8. <lf-image :src="user.avatar" mode="widthFix" class="head-pic"></lf-image>
  9. </view>
  10. <view class="head-left">
  11. <view class="head-name" @click="$url('/pages/my/editInfo')">
  12. <text>{{ user.number_nickname }}</text>
  13. <u-icon name="arrow-right lf-m-l-20"></u-icon>
  14. </view>
  15. <view class="head-text">{{ user.overall_state_text }}</view>
  16. </view>
  17. </view>
  18. <!-- <view class="lf-bg-white span-btn1" @click="$url('/pages/my/bindPhone')">
  19. 绑定手机号
  20. </view> -->
  21. </view>
  22. <view class="adv">
  23. <view class="lf-row-between">
  24. <view>
  25. <view class="logo-my">
  26. <!-- <text class="lf-iconfont icon-dingzhi" style="font-size: 60rpx;color: white;"></text> -->
  27. <image src="../../static/images/read_line.png" mode="aspectFill" style="width: 60rpx;height: 60rpx;"></image>
  28. </view>
  29. </view>
  30. <view class="adv-content">
  31. <view class="lf-color-222 lf-font-32 lf-m-b-15">
  32. 红线数
  33. </view>
  34. <view class="lf-color-777 lf-font-26">促成您和心仪对象线下见面</view>
  35. </view>
  36. </view>
  37. <view class="lf-color-primary lf-font-32">
  38. {{ user.red_rope }}
  39. </view>
  40. </view>
  41. <!-- <view class="lf-row-between" style="height: 98rpx;padding: 0 32rpx;">
  42. <view class="lf-row-round lf-flex-column" @click="showRedthread()">
  43. <view class="lf-font-32 lf-color-white">0</view>
  44. <view class="lf-font-24 lf-color-white lf-p-t-20">红线</view>
  45. </view>
  46. <view class="lf-row-round lf-flex-column" @click="showPeachblossom()">
  47. <view class="lf-font-32 lf-color-white">5</view>
  48. <view class="lf-font-24 lf-color-white lf-p-t-20">桃花</view>
  49. </view>
  50. <view class="lf-row-round lf-flex-column" @click="$url('/pages/my/seeMe')">
  51. <view class="lf-font-32 lf-color-white">0</view>
  52. <view class="lf-font-24 lf-color-white lf-p-t-20">谁看过我</view>
  53. </view>
  54. <view class="lf-row-round lf-flex-column" @click="$url('/pages/my/likeMe')">
  55. <view class="lf-font-32 lf-color-white">0</view>
  56. <view class="lf-font-24 lf-color-white lf-p-t-20">喜欢我的</view>
  57. </view>
  58. <view class="lf-row-round lf-flex-column">
  59. <view class="lf-font-32 lf-color-white">70%</view>
  60. <view class="lf-font-24 lf-color-white lf-p-t-20">资料完整</view>
  61. </view>
  62. </view> -->
  63. <!-- <view class="head-top-wrap lf-w-100 lf-h-100">
  64. <view class="lf-w-100 tips-wrap">
  65. <view class="tips">
  66. <view class="lf-row-round lf-w-100 lf-h-100 lf-p-b-12">
  67. <view class="lf-color-white lf-font-28">VIP会员拥有专属权益</view>
  68. <view class="lf-bg-white span-btn" @click="$url('/pages/my/memberVip')">
  69. 了解详情
  70. </view>
  71. </view>
  72. </view>
  73. </view>
  74. </view> -->
  75. </view>
  76. <view class="classify">
  77. <view class="card" v-for="(item,index) in list" :key="index" @click="$url(item.path)">
  78. <view class="lf-row-center" style="align-content: center;">
  79. <!-- <u-icon class="classify-icon" :name="item.icon"></u-icon> -->
  80. <image class="classify-icon" :src="item.pic" mode="aspectFill"></image>
  81. </view>
  82. <view>
  83. {{item.name}}
  84. </view>
  85. </view>
  86. </view>
  87. <view style="height: 30rpx;"></view>
  88. </view>
  89. </template>
  90. <script scoped="scoped">
  91. export default {
  92. data() {
  93. return {
  94. list: [
  95. {name: '我的红娘',icon:'github-circle-fill',path: '/pages/my/exclusiveMatch',pic: '../../static/my/red.png'},
  96. {name: '实名认证',icon:'email',path: '/pages/my/authentication',pic: '../../static/my/authen.png'},
  97. // {name: '我喜欢的',icon:'qzone',path: '/pages/my/collect',pic: '../../static/my/collect.png'},
  98. // {name: '我的动态',icon:'moments',path:'/pages/my/qzone',pic: '../../static/my/qzone.png'},
  99. // {name: '福利中心',icon:'red-packet',path:'/pages/my/welfare',pic: '../../static/my/welhare.png'},
  100. {name: '公众号',icon:'google-circle-fill',path:'/pages/my/officialAccount',pic: '../../static/my/public.png'},
  101. {name: '联系客服',icon:'kefu-ermai',path: '/pages/my/service',pic: '../../static/my/service.png'},
  102. // {name: '设置',icon:'setting',path: '/pages/my/setting',pic: '../../static/my/setting.png'}
  103. ],
  104. user: {}
  105. }
  106. },
  107. onLoad(){
  108. this.getData();
  109. // todo 登录逻辑改到当前页面进行
  110. // todo 添加微信号对接
  111. },
  112. methods: {
  113. showRedthread() {
  114. uni.showModal({
  115. title: '红线说明',
  116. content: '红线可以用来联系其他会员,对方不接受则24小时后退还红线',
  117. showCancel: false,
  118. cancelText: '我知道了',
  119. confirmColor: '#E21196',
  120. success: res => {
  121. if (res.confirm) {
  122. console.log('用户点击确定');
  123. this.$url('/pages/my/getRedLine');
  124. }
  125. }
  126. });
  127. },
  128. showPeachblossom() {
  129. uni.showModal({
  130. title: '桃花说明',
  131. content: '桃花可以用来发布动态、评论等,签到可以获得桃花',
  132. showCancel: false,
  133. cancelText: '我知道了',
  134. confirmColor: '#E21196',
  135. success: function (res) {
  136. if (res.confirm) {
  137. console.log('用户点击确定');
  138. }
  139. }
  140. });
  141. },
  142. getData(){
  143. this.$http(this.API.API_UCENTER).then(res => {
  144. this.user = res.data.user;
  145. })
  146. }
  147. }
  148. }
  149. </script>
  150. <style>
  151. page {
  152. background-color: #F5F5F5;
  153. }
  154. </style>
  155. <style lang="scss">
  156. .logo-my {
  157. width: 135rpx;
  158. height: 135rpx;
  159. background: linear-gradient(180deg, #FE3EA5 0%, #FE7251 100%);
  160. border-radius: 50%;
  161. display: flex;
  162. align-items: center;
  163. justify-content: center;
  164. margin-right: 15rpx;
  165. }
  166. .head-top {
  167. width: 100%;
  168. //隐藏部分
  169. // height: 480rpx;
  170. height: 320rpx;
  171. position: relative;
  172. z-index: 9;
  173. /* background-color: red; */
  174. }
  175. .head-top-wrap {
  176. width: 100%;
  177. height: 180rpx;
  178. /* z-index: -1; */
  179. overflow: hidden;
  180. position: relative;
  181. }
  182. .head-top::after {
  183. content: '';
  184. width: 184%;
  185. // height: 440rpx;
  186. height: 350rpx;
  187. position: absolute;
  188. left: -312rpx;
  189. top: 0;
  190. z-index: -1;
  191. // border-radius: 0 586px 586px/0 0 200rpx 200rpx;
  192. border-radius: 0 0 50% 50%;
  193. background: linear-gradient(180deg, #FE3EA5 0%, #FE7749 100%);
  194. }
  195. .tips-wrap {
  196. overflow: hidden;
  197. height: 660rpx;
  198. border-radius: 0 586px 586px/0 0 200rpx 200rpx;
  199. position: absolute;
  200. top: -494rpx;
  201. }
  202. .tips {
  203. width: 686rpx;
  204. height: 125rpx;
  205. background-color: #314177;
  206. border-radius: 20rpx;
  207. position: relative;
  208. bottom: -536rpx;
  209. left: 0;
  210. margin: 0 auto;
  211. }
  212. .span-btn {
  213. border-radius: 25rpx;
  214. width: 149rpx;
  215. height: 50rpx;
  216. display: flex;
  217. align-items: center;
  218. justify-content: center;
  219. font-size: 24rpx;
  220. color: #314177;
  221. }
  222. .head-pic {
  223. width: 160rpx;
  224. height: 160rpx;
  225. border: 5rpx solid #FFFFFF;
  226. border-radius: 50%;
  227. }
  228. .adv-pic {
  229. width: 135rpx;
  230. height: 135rpx;
  231. border-radius: 50%;
  232. margin-right: 15rpx;
  233. }
  234. .head-text {
  235. font-size: 28rpx;
  236. color: #FFFFFF;
  237. font-weight: 400;
  238. line-height: 40rpx;
  239. }
  240. .pic-top {
  241. padding: 48rpx 32rpx 40rpx 48rpx;
  242. }
  243. .span-btn1 {
  244. border-radius: 25rpx;
  245. width: 149rpx;
  246. height: 50rpx;
  247. display: flex;
  248. align-items: center;
  249. justify-content: center;
  250. font-size: 24rpx;
  251. color: #E21196;
  252. font-weight: 400;
  253. line-height: 33rpx;
  254. }
  255. .head-name {
  256. font-weight: 500;
  257. color: #FFFFFF;
  258. line-height: 45rpx;
  259. letter-spacing: 1rpx;
  260. font-size: 32rpx;
  261. }
  262. .head-left {
  263. padding: 20rpx;
  264. height: 160rpx;
  265. display: flex;
  266. flex-direction: column;
  267. justify-content: space-evenly;
  268. }
  269. .adv {
  270. width: 686rpx;
  271. height: 195rpx;
  272. background-color: white;
  273. border-radius: 20rpx;
  274. margin: -10rpx auto;
  275. display: flex;
  276. // padding: 0 0 0 30rpx;
  277. justify-content: space-around;
  278. align-items: center;
  279. }
  280. .adv-content {
  281. display: flex;
  282. flex-direction: column;
  283. justify-content: space-around;
  284. }
  285. .classify {
  286. width: 686rpx;
  287. display: flex;
  288. background-color: white;
  289. border-radius: 20rpx;
  290. margin: 0 auto;
  291. flex-wrap: wrap;
  292. padding: 38rpx 30rpx;
  293. margin-top: 170rpx;
  294. }
  295. .card {
  296. width: 116rpx;
  297. height: 116rpx;
  298. text-align: center;
  299. position: relative;
  300. overflow: hidden;
  301. margin-right: 54rpx;
  302. // margin-bottom: 68rpx;
  303. &:nth-child(4n) {
  304. margin-right: 0;
  305. }
  306. &:nth-child(n + 5) {
  307. margin-top: 68rpx;
  308. }
  309. }
  310. .classify-icon {
  311. height: 48rpx;
  312. width: 45rpx;
  313. font-size: 48rpx;
  314. margin-bottom: 22rpx;
  315. }
  316. </style>