memberCenter.vue 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929
  1. <template>
  2. <view>
  3. <!-- 展示蒙层 显示推广画报 -->
  4. <view class="poster" v-if="myqr_show">
  5. <view class="title">兑换规则</view>
  6. <view class="ads">1. 兑换后的超级鲸会员权益将绑定在您本次登录的账号上,一经兑换无法修改权益账号;</view>
  7. <view class="ads">2. 每个兑换码仅限使用一次;</view>
  8. <view class="ads">
  9. 3.
  10. 如您是通过外部合作渠道(非鲸致生活平台内)获得超级鲸会员的兑换资格,此超级会员资格仅包含鲸致生活平台内的基本特权,不包含其他外部特权或专属福利,具体外部权益以对应渠道的公示为准;
  11. </view>
  12. <view class="ads">4. 兑换前可转赠亲友,一旦兑换后不支持转赠</view>
  13. <view class="ads">5. 最终解释权归上海宅洁仕网络科技有限公司</view>
  14. <view class="tool">
  15. <view style="text-align: center">
  16. <view @tap="hidePoster" class="share-btn">知晓关闭</view>
  17. </view>
  18. </view>
  19. </view>
  20. <view class="member-center-page" :style="'filter:brightness(' + myqr_blur + '%)'">
  21. <!-- 不是会员或者失效 -->
  22. <!-- !userInfo.level||userInfo.level==0||userInfo.level==2 -->
  23. <view v-if="!userInfo.level || userInfo.level == 0 || userInfo.level == 2" class="member-invalid-wrapper">
  24. <!-- 会员信息 -->
  25. <view class="member-invalid-top">
  26. <view class="user-info">
  27. <image mode="aspectFill" class="user-avatar" :src="userInfo.avatarUrl ? userInfo.avatarUrl : '/static/images/new/icon-user.png'"></image>
  28. <view class="user-detail">
  29. <view class="user-name">
  30. <text>{{ userInfo.nickName }}</text>
  31. </view>
  32. <view class="member-date">
  33. <image
  34. mode="aspectFill"
  35. src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-vip.png"
  36. style="width: 22rpx; height: 22rpx; margin-right: 4rpx"
  37. ></image>
  38. <text v-if="userInfo.level == 0">您未开通会员</text>
  39. <text v-if="userInfo.level == 1">{{ date }}到期</text>
  40. <text v-if="userInfo.level == 2">{{ date }}已到期</text>
  41. </view>
  42. </view>
  43. <view class="buy-record" v-if="userInfo.level == 2" @tap="goBuyList">
  44. <text>购买记录</text>
  45. <van-icon name="arrow" color="#fff" />
  46. </view>
  47. </view>
  48. </view>
  49. <view class="member-invalid-card">
  50. <view class="invalid-card-left">
  51. <view class="card-title">超级鲸会员</view>
  52. <view>每月尊享30元无门槛红包</view>
  53. </view>
  54. <view class="invalid-card-right">
  55. <view>低至19元/月</view>
  56. <view class="btn" @tap="goBuyMember">
  57. <text v-if="!userInfo.level || userInfo.level == 0">立即开通</text>
  58. <text v-else>立即续费</text>
  59. </view>
  60. </view>
  61. </view>
  62. <!-- 会员权益 -->
  63. <view class="benefit-title">会员权益</view>
  64. <view class="benefit-banner-item">
  65. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/member-benefit-01.png"></image>
  66. </view>
  67. <view class="benefit-banner-item">
  68. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/member-benefit-02.png"></image>
  69. </view>
  70. <view class="benefit-banner-item">
  71. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/member-benefit-03.png"></image>
  72. </view>
  73. <view class="benefit-icon-block">
  74. <view class="benefit-icon-item">
  75. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-01.png"></image>
  76. <view class="benefit-icon-title">日常保洁</view>
  77. <view class="benfit-icon-remark">9折起</view>
  78. </view>
  79. <view class="benefit-icon-item">
  80. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-02.png"></image>
  81. <view class="benefit-icon-title">家电蒸洗</view>
  82. <view class="benfit-icon-remark">9折起</view>
  83. </view>
  84. <view class="benefit-icon-item">
  85. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-03.png"></image>
  86. <view class="benefit-icon-title">深度清洁</view>
  87. <view class="benfit-icon-remark">85折起</view>
  88. </view>
  89. <view class="benefit-icon-item">
  90. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-04.png"></image>
  91. <view class="benefit-icon-title">月度优惠券</view>
  92. <view class="benfit-icon-remark">30元起</view>
  93. </view>
  94. </view>
  95. </view>
  96. <!-- 是会员 -->
  97. <view v-if="userInfo.level == 1" class="member-valid-wrapper">
  98. <view class="member-valid-top">
  99. <view class="user-info">
  100. <image mode="aspectFill" class="user-avatar" :src="userInfo.avatarUrl ? userInfo.avatarUrl : '/static/images/new/icon-user.png'"></image>
  101. <view class="user-detail">
  102. <view class="user-name">
  103. <text>{{ userInfo.nickName }}</text>
  104. </view>
  105. <view class="member-date">
  106. <image
  107. mode="aspectFill"
  108. src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-vip.png"
  109. style="width: 22rpx; height: 22rpx; margin-right: 4rpx"
  110. ></image>
  111. <text v-if="userInfo.level == 1">{{ date }}到期</text>
  112. <view @tap="goBuyMember" class="renew">立即续费</view>
  113. </view>
  114. </view>
  115. <view class="buy-record" @tap="goBuyList">
  116. <text>购买记录</text>
  117. <van-icon name="arrow" color="#fff" />
  118. </view>
  119. </view>
  120. <!-- 会员权益 -->
  121. <view class="member-valid-benefit">
  122. <view class="valid-benefit-title">
  123. <view class="line"></view>
  124. <view class="text">会员权益</view>
  125. <view class="line"></view>
  126. </view>
  127. <view class="valid-benefit-block">
  128. <view class="valid-benefit-line">
  129. <view class="valid-benefit-item">
  130. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-11.png"></image>
  131. <view>日常保洁</view>
  132. <view>9折起</view>
  133. </view>
  134. <view class="valid-benefit-item">
  135. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-12.png"></image>
  136. <view>家电蒸洗</view>
  137. <view>9折起</view>
  138. </view>
  139. <view class="valid-benefit-item">
  140. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-11.png"></image>
  141. <view>深度清洁</view>
  142. <view>85折起</view>
  143. </view>
  144. <view class="valid-benefit-item">
  145. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-11.png"></image>
  146. <view>月度优惠券</view>
  147. <view>30元起</view>
  148. </view>
  149. </view>
  150. <view class="valid-benefit-line">
  151. <view class="valid-benefit-item">
  152. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-15.png"></image>
  153. <view>预约特权</view>
  154. <view>优先约</view>
  155. </view>
  156. <view class="valid-benefit-item">
  157. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-16.png"></image>
  158. <view>专属管家</view>
  159. <view>退改无忧</view>
  160. </view>
  161. <view class="valid-benefit-item">
  162. <image mode="aspectFill" src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/icon-benefit-17.png"></image>
  163. <view>更多权益</view>
  164. <view>更新中</view>
  165. </view>
  166. <view class="valid-benefit-item"></view>
  167. </view>
  168. </view>
  169. </view>
  170. </view>
  171. <view class="first-buy-title" style="margin-bottom: 24rpx">
  172. <view>会员特惠</view>
  173. <view class="remark">领券后可再减</view>
  174. </view>
  175. <view class="good-list">
  176. <view class="good-item" v-for="(item, index) in imgList1" :key="index">
  177. <navigator :url="item.link">
  178. <image class="good-img" :src="item.url" background-size="cover"></image>
  179. </navigator>
  180. </view>
  181. </view>
  182. <view class="first-buy-title" style="margin: 0rpx 0 36rpx">
  183. <view>会员活动</view>
  184. </view>
  185. <view class="banner-item" v-for="(item, index) in imgList2" :key="index">
  186. <navigator :url="item.link">
  187. <image class="banner-img" :src="item.url" background-size="cover"></image>
  188. </navigator>
  189. </view>
  190. <image
  191. style="height: 370rpx; width: 706rpx; margin: 0 auto"
  192. src="https://7a68-zhaijieshi-3guecm78383ca692-1307626841.tcb.qcloud.la/member/add_qw.png"
  193. mode="aspectFit"
  194. :show-menu-by-longpress="true"
  195. ></image>
  196. </view>
  197. <view class="pay-btn" @tap="goBuyMember" v-if="userInfo.level != 1">
  198. <text v-if="!userInfo.level || userInfo.level == 0">立即开通</text>
  199. <text v-else>立即续费</text>
  200. </view>
  201. <!-- <view class="center-top">
  202. <view class="user-info">
  203. <image mode="aspectFill" class="user-avatar"
  204. src="{{userInfo.avatarUrl?userInfo.avatarUrl:'/static/images/new/icon-user.png'}}"></image>
  205. <view class="user-detail">
  206. <view class="user-name">
  207. <text>{{userInfo.nickName}}</text>
  208. <view class="member-bage" wx:if="{{userInfo.level==1||userInfo.level==2}}">J</view>
  209. </view>
  210. <view class="member-date">
  211. <text wx:if="{{userInfo.level==1}}">{{date}}到期</text>
  212. <text wx:if="{{userInfo.level==2}}">已到期</text>
  213. </view>
  214. </view>
  215. <view class="buy-record" wx:if="{{userInfo.level==1}}" bindtap="goBuyList">
  216. <text>购买记录</text>
  217. <van-icon name="arrow" color="#5D3A11" />
  218. </view>
  219. </view>
  220. <view class="amount-info">
  221. <view>
  222. <view class="save-text">累计已省</view>
  223. <view class="save-cost">{{saveMoneyYuan}}.<text>{{saveMoneyPoint}}</text></view>
  224. </view>
  225. <view class="renew-btn" bindtap="goBuyMember">
  226. <text wx:if="{{!userInfo.level||userInfo.level==0}}">立即开通</text>
  227. <text wx:else>立即续费</text>
  228. </view>
  229. </view>
  230. </view> -->
  231. <!-- <view class="center-content">
  232. <view class="h1-title">鲸致生活·超级鲸会员</view>
  233. <view class="h2-title">— 专注自营品质家庭服务 —</view>
  234. <view class="category-block">
  235. <view class="category-item">
  236. <image class="category-img" mode="aspectFill"
  237. src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/new/member-category-01.png"></image>
  238. <view class="category-name">居家保洁</view>
  239. <view class="category-discount">9折起</view>
  240. </view>
  241. <view class="category-item">
  242. <image class="category-img" mode="aspectFill"
  243. src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/new/member-category-02.png"></image>
  244. <view class="category-name">深度清洁</view>
  245. <view class="category-discount">8.5折起</view>
  246. </view>
  247. <view class="category-item">
  248. <image class="category-img" mode="aspectFill"
  249. src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/new/member-category-03.png"></image>
  250. <view class="category-name">家电蒸洗</view>
  251. <view class="category-discount">8.5折起</view>
  252. </view>
  253. </view>
  254. <view class="category-block" style="padding:0 82rpx;">
  255. <view class="category-item">
  256. <image class="category-img" mode="aspectFill"
  257. src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/new/member-category-04.png"></image>
  258. <view class="category-name">保姆/钟点工</view>
  259. <view class="category-discount">中介费9折起</view>
  260. </view>
  261. <view class="category-item">
  262. <image class="category-img" mode="aspectFill"
  263. src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/new/member-category-05.png"></image>
  264. <view class="category-name">自营家政师</view>
  265. <view class="category-discount">专属管家服务</view>
  266. </view>
  267. </view>
  268. <view class="rule" bindtap="showRule">-兑换规则-</view>
  269. </view> -->
  270. </view>
  271. </view>
  272. </template>
  273. <script>
  274. var util = require('../../../utils/util.js');
  275. var api = require('../../../config/api');
  276. var user = require('../../../utils/user.js');
  277. var app = getApp();
  278. export default {
  279. data() {
  280. return {
  281. userInfo: {
  282. nickName: '期待加入',
  283. avatarUrl: '/static/images/new/icon-user.png',
  284. level: ''
  285. },
  286. saveMoney: '0',
  287. date: '',
  288. saveMoneyYuan: '0',
  289. saveMoneyPoint: '0',
  290. myqr_show: false,
  291. //我的分享二维码
  292. myqr_blur: 100,
  293. //背景模糊值
  294. imgList1: [],
  295. imgList2: []
  296. };
  297. }
  298. /**
  299. * 生命周期函数--监听页面加载
  300. */,
  301. onLoad: function (options) {
  302. // let userInfo = wx.getStorageSync('userInfo');
  303. //console.info(userInfo);
  304. },
  305. /**
  306. * 生命周期函数--监听页面初次渲染完成
  307. */
  308. onReady: function () {},
  309. /**
  310. * 生命周期函数--监听页面显示
  311. */
  312. onShow: function () {
  313. this.getMemberInfo();
  314. },
  315. /**
  316. * 生命周期函数--监听页面隐藏
  317. */
  318. onHide: function () {},
  319. /**
  320. * 生命周期函数--监听页面卸载
  321. */
  322. onUnload: function () {},
  323. /**
  324. * 页面相关事件处理函数--监听用户下拉动作
  325. */
  326. onPullDownRefresh: function () {},
  327. /**
  328. * 页面上拉触底事件的处理函数
  329. */
  330. onReachBottom: function () {},
  331. /**
  332. * 用户点击右上角分享
  333. */
  334. onShareAppMessage: function () {},
  335. methods: {
  336. showRule() {
  337. this.setData({
  338. myqr_show: true,
  339. myqr_blur: 25
  340. });
  341. },
  342. hidePoster() {
  343. this.setData({
  344. myqr_show: false,
  345. myqr_blur: 100
  346. });
  347. },
  348. getMemberInfo: function () {
  349. let that = this;
  350. util.request(
  351. api.getMemberInfo,
  352. {
  353. userId: app.globalData.userInfo.id
  354. },
  355. 'GET'
  356. ).then((res) => {
  357. console.info(res);
  358. if (res.errno === 0) {
  359. let date = null;
  360. if (res.data.userInfo.memberExpiration) {
  361. date = res.data.userInfo.memberExpiration.substr(0, 10);
  362. }
  363. let saveMoney = Number(res.data.saveMoney).toFixed(2);
  364. that.setData({
  365. userInfo: res.data.userInfo,
  366. date: date,
  367. saveMoneyYuan: saveMoney.split('.')[0],
  368. saveMoneyPoint: saveMoney.split('.')[1]
  369. });
  370. app.globalData.memberUserInfo = res.data.userInfo;
  371. if (that.userInfo.level == 1) {
  372. that.getMemberAd();
  373. }
  374. } else {
  375. util.showErrorToast(res.errmsg);
  376. console.info(that.userInfo);
  377. }
  378. });
  379. },
  380. goBuyList() {
  381. uni.navigateTo({
  382. url: '/pages/member/buyList/buyList'
  383. });
  384. },
  385. goBuyMember() {
  386. if (!app.globalData.hasLogin) {
  387. uni.navigateTo({
  388. url: '/pages/auth/login/login'
  389. });
  390. return;
  391. }
  392. uni.navigateTo({
  393. url: '/pages/member/buyMember/buyMember'
  394. });
  395. },
  396. getMemberAd() {
  397. util.request(api.GetMemberAd, {}, 'GET').then((res) => {
  398. if (res.errno === 0) {
  399. this.setData({
  400. imgList1: res.data.firstPurchase,
  401. imgList2: res.data.memberActivity
  402. });
  403. }
  404. });
  405. }
  406. }
  407. };
  408. </script>
  409. <style>
  410. .member-center-page {
  411. /* background: #2E3235; */
  412. padding-bottom: 140rpx;
  413. /* padding:16rpx 70rpx 80rpx; */
  414. }
  415. .center-top {
  416. width: 610rpx;
  417. height: 286rpx;
  418. background: linear-gradient(162deg, #f1e3c8 0%, #e6c162 100%);
  419. border-radius: 10rpx;
  420. margin: 0 0 26rpx;
  421. padding: 32rpx 32rpx 20rpx;
  422. }
  423. .user-info {
  424. height: 112rpx;
  425. margin: 0 0 32rpx;
  426. display: flex;
  427. justify-content: space-between;
  428. align-items: flex-end;
  429. }
  430. .user-avatar {
  431. width: 112rpx;
  432. height: 112rpx;
  433. background-color: #fff;
  434. border-radius: 112rpx;
  435. margin: 0 40rpx 0 0;
  436. }
  437. .user-detail {
  438. flex: 1;
  439. padding: 0 0 12rpx;
  440. color: #5d3a11;
  441. font-size: 26rpx;
  442. }
  443. .user-name {
  444. height: 30rpx;
  445. display: flex;
  446. align-items: center;
  447. margin: 0 0 20rpx 0;
  448. }
  449. .user-name text {
  450. font-size: 30rpx;
  451. }
  452. .member-date {
  453. height: 36rpx;
  454. line-height: 36rpx;
  455. }
  456. .member-bage {
  457. width: 28rpx;
  458. height: 28rpx;
  459. line-height: 24rpx;
  460. background: #2e3235;
  461. border-radius: 50%;
  462. margin: 0 0 0 10rpx;
  463. text-align: center;
  464. font-size: 20rpx;
  465. color: #e6c162;
  466. }
  467. .member-bage text {
  468. font-weight: bold;
  469. color: #5d3a11;
  470. font-size: 20rpx;
  471. line-height: 24rpx;
  472. background: linear-gradient(78deg, #f1e3c8 0%, #e6c162 100%);
  473. -webkit-background-clip: text;
  474. -webkit-text-fill-color: transparent;
  475. }
  476. .amount-info {
  477. height: 90rpx;
  478. display: flex;
  479. justify-content: space-between;
  480. align-items: flex-end;
  481. }
  482. .save-text {
  483. color: #5d3a11;
  484. font-size: 24rpx;
  485. height: 24rpx;
  486. line-height: 22rpx;
  487. margin: 0 0 6rpx 0;
  488. }
  489. .save-cost {
  490. font-size: 60rpx;
  491. height: 64rpx;
  492. line-height: 64rpx;
  493. font-weight: bold;
  494. color: #5d3a11;
  495. }
  496. .save-cost text {
  497. font-size: 32rpx;
  498. font-weight: bold;
  499. }
  500. .buy-record {
  501. /* padding: 0 0 12rpx; */
  502. display: flex;
  503. align-items: center;
  504. color: #5d3a11;
  505. font-weight: 26rpx;
  506. }
  507. .buy-record text {
  508. padding-left: 10rpx;
  509. }
  510. .renew-btn {
  511. width: 130rpx;
  512. height: 36rpx;
  513. line-height: 34rpx;
  514. background: #2e3235;
  515. border-radius: 18rpx;
  516. text-align: center;
  517. }
  518. .renew-btn text {
  519. font-size: 24rpx;
  520. color: #5d3a11;
  521. background: linear-gradient(78deg, #f1e3c8 0%, #e6c162 100%);
  522. -webkit-background-clip: text;
  523. -webkit-text-fill-color: transparent;
  524. }
  525. .center-content {
  526. height: 602rpx;
  527. width: 610rpx;
  528. border-radius: 10rpx;
  529. background: url('https://jzmall.lifejingzhi.com/file/jzmall/weixin/new/member-center-bg.png') no-repeat center top;
  530. background-size: 100%;
  531. padding: 48rpx 24rpx 20rpx;
  532. }
  533. .h1-title {
  534. text-align: center;
  535. height: 44rpx;
  536. line-height: 44rpx;
  537. font-size: 44rpx;
  538. color: #ffffff;
  539. font-weight: bold;
  540. background: linear-gradient(78deg, #f1e3c8 0%, #e6c162 100%);
  541. -webkit-background-clip: text;
  542. -webkit-text-fill-color: transparent;
  543. }
  544. .h2-title {
  545. text-align: center;
  546. height: 24rpx;
  547. line-height: 24rpx;
  548. font-size: 24rpx;
  549. color: #ffffff;
  550. background: linear-gradient(78deg, #f1e3c8 0%, #e6c162 100%);
  551. -webkit-background-clip: text;
  552. -webkit-text-fill-color: transparent;
  553. margin: 24rpx 0 66rpx;
  554. }
  555. .category-block {
  556. display: flex;
  557. justify-content: space-between;
  558. margin: 0 0 20rpx;
  559. }
  560. .category-item {
  561. display: flex;
  562. flex-direction: column;
  563. align-items: center;
  564. justify-content: space-between;
  565. height: 160rpx;
  566. flex: 1;
  567. }
  568. .category-img {
  569. width: 88rpx;
  570. height: 88rpx;
  571. }
  572. .category-name {
  573. height: 28rpx;
  574. line-height: 28rpx;
  575. font-size: 28rpx;
  576. color: #ffffff;
  577. background: linear-gradient(181deg, #f1e3c8 0%, #e6c162 100%);
  578. -webkit-background-clip: text;
  579. -webkit-text-fill-color: transparent;
  580. }
  581. .category-discount {
  582. height: 24rpx;
  583. font-size: 24rpx;
  584. color: #85868a;
  585. }
  586. .rule {
  587. text-align: center;
  588. padding-bottom: 20rpx;
  589. color: #e6c162;
  590. margin: 0 0 20rpx;
  591. }
  592. /* 海报的样式 */
  593. .poster {
  594. padding: 50rpx;
  595. background: linear-gradient(162deg, #f1e3c8 0%, #e6c162 100%);
  596. text-align: left;
  597. /* height: 650rpx; */
  598. top: 20%;
  599. margin: 50rpx;
  600. position: absolute;
  601. z-index: 99;
  602. text-align: left;
  603. left: 0;
  604. right: 0;
  605. border-radius: 20rpx;
  606. }
  607. .title {
  608. color: #333;
  609. margin: 20rpx 0;
  610. font-size: 36rpx;
  611. text-align: center;
  612. }
  613. .ads {
  614. margin: 10rpx 0rpx;
  615. color: #333;
  616. }
  617. .tool {
  618. display: flex;
  619. text-align: center;
  620. justify-content: baseline;
  621. width: 100%;
  622. margin-top: 20rpx;
  623. }
  624. .tool view {
  625. flex: 1;
  626. }
  627. .img {
  628. width: 107rpx;
  629. height: 128rpx;
  630. }
  631. .closeImg {
  632. width: 57rpx;
  633. height: 57rpx;
  634. }
  635. .share-btn {
  636. background: #2e3235;
  637. width: 260rpx;
  638. height: 76rpx;
  639. line-height: 76rpx;
  640. margin: 0 auto;
  641. color: #fff;
  642. border-radius: 38rpx;
  643. }
  644. .share-btn::after {
  645. border: none;
  646. }
  647. .pay-btn {
  648. margin: 80rpx auto 0;
  649. width: 530rpx;
  650. height: 100rpx;
  651. background: linear-gradient(0deg, #e4cfa8, #e4cfa8);
  652. box-shadow: 0rpx 9rpx 18rpx 0rpx rgba(50, 50, 50, 0.06);
  653. border-radius: 100rpx;
  654. font-weight: bold;
  655. color: #663315;
  656. text-shadow: 2rpx 6rpx 8rpx rgba(30, 4, 4, 0.18);
  657. font-size: 36rpx;
  658. text-align: center;
  659. line-height: 100rpx;
  660. }
  661. .benefit-title {
  662. font-weight: bold;
  663. color: #000000;
  664. font-size: 34rpx;
  665. margin: 48rpx 0 28rpx 34rpx;
  666. height: 34rpx;
  667. }
  668. .benefit-banner-item {
  669. width: 700rpx;
  670. height: 182rpx;
  671. margin: 0 25rpx 12rpx;
  672. }
  673. .benefit-banner-item image {
  674. width: 700rpx;
  675. height: 182rpx;
  676. }
  677. .benefit-icon-block {
  678. margin: 26rpx 0 0;
  679. padding: 0 66rpx 0;
  680. display: flex;
  681. justify-content: space-between;
  682. }
  683. .benefit-icon-item {
  684. width: 124rpx;
  685. display: flex;
  686. flex-direction: column;
  687. align-items: center;
  688. }
  689. .benefit-icon-item image {
  690. width: 112rpx;
  691. height: 112rpx;
  692. }
  693. .benefit-icon-title {
  694. color: #515151;
  695. font-size: 24rpx;
  696. height: 32rpx;
  697. line-height: 32rpx;
  698. }
  699. .benfit-icon-remark {
  700. color: #9d9d9d;
  701. font-size: 20rpx;
  702. }
  703. .first-buy-title {
  704. height: 34px;
  705. line-height: 34rpx;
  706. padding: 0 34rpx;
  707. display: flex;
  708. align-items: flex-end;
  709. font-size: 34rpx;
  710. font-weight: bold;
  711. }
  712. .first-buy-title .remark {
  713. margin-left: 16rpx;
  714. font-size: 20rpx;
  715. font-weight: normal;
  716. }
  717. .good-list {
  718. padding: 0 20rpx;
  719. display: flex;
  720. justify-content: space-between;
  721. flex-wrap: wrap;
  722. }
  723. .good-item {
  724. margin-bottom: 10rpx;
  725. }
  726. .good-img {
  727. width: 350rpx;
  728. height: 224rpx;
  729. }
  730. .banner-item {
  731. margin: 0 auto 10rpx;
  732. width: 712rpx;
  733. }
  734. .banner-img {
  735. width: 712rpx;
  736. height: 190rpx;
  737. margin: 0 auto;
  738. }
  739. .member-valid-wrapper {
  740. text-align: center;
  741. }
  742. .user-info {
  743. height: 112rpx;
  744. margin: 0 0 32rpx;
  745. display: flex;
  746. justify-content: space-between;
  747. align-items: center;
  748. padding: 0 80rpx 0 40rpx;
  749. }
  750. .user-avatar {
  751. width: 112rpx;
  752. height: 112rpx;
  753. background-color: #fff;
  754. border-radius: 112rpx;
  755. margin: 0 20rpx 0 0;
  756. }
  757. .user-detail {
  758. flex: 1;
  759. padding: 8rpx 0 0rpx;
  760. color: #fff;
  761. font-size: 26rpx;
  762. }
  763. .user-name {
  764. height: 30rpx;
  765. display: flex;
  766. align-items: center;
  767. margin: 0 0 20rpx 0;
  768. }
  769. .user-name text {
  770. font-size: 32rpx;
  771. }
  772. .member-date {
  773. height: 30rpx;
  774. font-size: 22rpx;
  775. line-height: 30rpx;
  776. color: #828387;
  777. display: flex;
  778. align-items: center;
  779. }
  780. .member-invalid-top {
  781. background: url('https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/member-center-bg.png') no-repeat center top;
  782. background-size: 100%;
  783. height: 342rpx;
  784. width: 750rpx;
  785. padding: 30rpx 0 0;
  786. }
  787. .member-invalid-wrapper .buy-record,
  788. .member-valid-wrapper .buy-record {
  789. display: flex;
  790. align-items: center;
  791. color: #ffffff;
  792. font-size: 22rpx;
  793. font-weight: 26rpx;
  794. width: 136rpx;
  795. justify-content: center;
  796. height: 42rpx;
  797. line-height: 42rpx;
  798. border-radius: 5rpx;
  799. background-color: #45474c;
  800. }
  801. .member-invalid-card {
  802. width: 608rpx;
  803. height: 180rpx;
  804. background: linear-gradient(180deg, #ffe3af, #febf4f);
  805. box-shadow: 0rpx 10rpx 16rpx 0rpx rgba(197, 148, 60, 0.16);
  806. border-radius: 15rpx;
  807. margin: -156rpx auto 0;
  808. padding: 50rpx 54rpx 44rpx 40rpx;
  809. display: flex;
  810. justify-content: space-between;
  811. }
  812. .invalid-card-left {
  813. color: #a26428;
  814. text-shadow: 2rpx 6rpx 8rpx rgba(30, 4, 4, 0.18);
  815. font-size: 24rpx;
  816. }
  817. .invalid-card-left .card-title {
  818. font-weight: bold;
  819. color: #663315;
  820. text-shadow: 2rpx 6rpx 8rpx rgba(30, 4, 4, 0.18);
  821. font-size: 32rpx;
  822. height: 44rpx;
  823. line-height: 44rpx;
  824. margin-bottom: 8rpx;
  825. }
  826. .invalid-card-right {
  827. display: flex;
  828. flex-direction: column;
  829. justify-content: flex-end;
  830. align-items: center;
  831. color: #a26428;
  832. opacity: 0.8;
  833. text-shadow: 2rpx 6rpx 8rpx rgba(30, 4, 4, 0.18);
  834. font-size: 20rpx;
  835. width: 144rpx;
  836. }
  837. .invalid-card-right .btn {
  838. width: 144rpx;
  839. height: 42rpx;
  840. line-height: 42rpx;
  841. background: #ffffff;
  842. border-radius: 42rpx;
  843. color: #663315;
  844. font-size: 24rpx;
  845. opacity: 1;
  846. text-align: center;
  847. margin-top: 8rpx;
  848. }
  849. .member-valid-top {
  850. padding: 30rpx 0 32rpx;
  851. background: #1f232d;
  852. background: url('https://jzmall.lifejingzhi.com/file/jzmall/weixin/memberCard-1229/member-valid-bg.png') no-repeat center;
  853. background-size: 100%;
  854. height: 700rpx;
  855. width: 750rpx;
  856. color: #fff;
  857. }
  858. .member-valid-benefit {
  859. height: 526rpx;
  860. width: 750rpx;
  861. }
  862. .valid-benefit-item image {
  863. width: 100rpx;
  864. height: 100rpx;
  865. }
  866. .valid-benefit-title {
  867. display: flex;
  868. justify-content: center;
  869. font-size: 28rpx;
  870. font-weight: bold;
  871. align-items: center;
  872. }
  873. .valid-benefit-title .line {
  874. width: 50rpx;
  875. height: 3rpx;
  876. background: rgba(255, 255, 255, 0.85);
  877. border-radius: 0rpx 3rpx 3rpx 0rpx;
  878. }
  879. .valid-benefit-title .text {
  880. margin: 0 14rpx;
  881. }
  882. .valid-benefit-block {
  883. padding: 0 30rpx 0 26rpx;
  884. }
  885. .valid-benefit-line {
  886. display: flex;
  887. justify-content: space-between;
  888. text-align: center;
  889. margin-top: 30rpx;
  890. }
  891. .valid-benefit-item {
  892. flex: 1;
  893. font-size: 24rpx;
  894. }
  895. .valid-benefit-item .remark {
  896. color: #9d9d9d;
  897. font-size: 21rpx;
  898. }
  899. .member-date .renew {
  900. color: #e6c78b;
  901. font-size: 24rpx;
  902. margin-left: 14rpx;
  903. }
  904. </style>