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.

478 lines
11 KiB

4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
  1. <template>
  2. <view class="content">
  3. <view class="topBg">
  4. <view class="tag">XXXX成为VIP会员</view>
  5. <view class="tag">一次搞定</view>
  6. <view class="tag">五大特权</view>
  7. <view class="tag">最低仅需xx元/</view>
  8. <view class="tag">常见问题</view>
  9. </view>
  10. <view class="padding">
  11. <view class="allVip flex-b">
  12. <view class="vipItem" v-for="(item,index) in 3" :key="index" :class="{active: index==1}">
  13. <view class="lab">全科VIP</view>
  14. <view class="redT flex">
  15. <view class="price"><text>15/</text></view>
  16. <view class="day">100</view>
  17. </view>
  18. </view>
  19. </view>
  20. <view class="btnBox flex-b">
  21. <view class="whiteT flex">
  22. <view class="price"><text>15/</text></view>
  23. <view class="day">100</view>
  24. </view>
  25. <view class="upgra">升级为VIP</view>
  26. </view>
  27. <view class="h1_row flex-b">
  28. <view class="h1" ><text class="active">尊享权益</text></view>
  29. <view class="moreBox">
  30. <moreRight text="查看全部"/>
  31. </view>
  32. </view>
  33. <view class="card">
  34. <view class="tit_row flex">
  35. <view class="round">
  36. <image src="@/static/images/vip/leftq.png" mode=""></image>
  37. </view>
  38. <view class="tit">五大权益助力高效领证</view>
  39. <view class="round">
  40. <image src="@/static/images/vip/rightq.png" mode=""></image>
  41. </view>
  42. </view>
  43. <view class="tps">180天内无限使用</view>
  44. <view class="ul">
  45. <view class="li" v-for="(item,index) in tabData" :key="index">
  46. <view class="icon">
  47. <image :src="item.icon" mode=""></image>
  48. </view>
  49. <view class="txt">{{item.name}}</view>
  50. </view>
  51. </view>
  52. </view>
  53. <view class="learning">
  54. <view class="h1_box">
  55. <view class="h1"> <text class="active">四步高效学习法</text> </view>
  56. </view>
  57. <view class="blueBg">
  58. <view class="blueTxt">拒绝费时费力 高效备考理论</view>
  59. <view class="ul">
  60. <view class="li" v-for="(item,index) in stepData" :key="index">
  61. <view class="flex">
  62. <view class="step">{{ item.num }}</view>
  63. <view class="unit">{{ item.oneTxt }}</view>
  64. </view>
  65. <view class="flex-b">
  66. <view class="leftImg">
  67. <image :src="item.icon" mode=""></image>
  68. </view>
  69. <view class="rightTxt">
  70. <view class="lab">精选试题</view>
  71. <view class="txt">提炼易错易考试题减少相似题目练习缩短备考时间</view>
  72. </view>
  73. </view>
  74. </view>
  75. </view>
  76. </view>
  77. </view>
  78. <view class="comment">
  79. <view class="h1_row flex-b">
  80. <view class="h1" ><text class="active">VIP学员之声</text></view>
  81. <view class="moreBox">
  82. <moreRight text="查看全部"/>
  83. </view>
  84. </view>
  85. <swiper next-margin="60rpx" previous-margin="20rpx">
  86. <swiper-item v-for="(item,index) in 6" :key="index">
  87. <view class="commentItem">
  88. <view class="flex">
  89. <view class="avatar">
  90. <image src="@/static/images/avatarbg.png" mode=""></image>
  91. </view>
  92. <view class="name">关系很好</view>
  93. <view class="tag">7天通过科目一</view>
  94. </view>
  95. <view class="text">
  96. 抱着"花钱买个心安" 的想法买了VIP后面果然很快就通过考试了比我预想的考试分高
  97. </view>
  98. </view>
  99. </swiper-item>
  100. </swiper>
  101. </view>
  102. </view>
  103. </view>
  104. </template>
  105. <script setup>
  106. import { ref } from 'vue'
  107. const tabData = ref([
  108. {name: '精选试题', icon: new URL('@/static/images/vip/vipicon2.png', import.meta.url).href, id: '1'},
  109. {name: '仿真考试', icon: new URL('@/static/images/vip/vipicon3.png', import.meta.url).href, id: '1'},
  110. {name: '考前密卷', icon: new URL('@/static/images/vip/vipicon4.png', import.meta.url).href, id: '1'},
  111. {name: '高频错题', icon: new URL('@/static/images/vip/vipicon5.png', import.meta.url).href, id: '1'},
  112. {name: '语音讲解', icon: new URL('@/static/images/vip/vipicon1.png', import.meta.url).href, id: '1'}
  113. ])
  114. const stepData = ref([
  115. {name: '精选试题', num: '一', oneTxt: '练', txt: '提炼易错、易考试题,减少相似题目练习,缩短备考时间', icon: new URL('@/static/images/vip/coveb.png', import.meta.url).href, id: '1'},
  116. {name: '还原真实考场', num: '二', oneTxt: '考', txt: '100%还原考试界面,磨练考试技巧、增强心理素质、提高考试成绩', icon: new URL('@/static/images/vip/covec.png', import.meta.url).href, id: '1'},
  117. {name: '考前秘卷', num: '三', oneTxt: '冲', txt: '考前精选 高频难题 直击考点 稳上高分', icon: new URL('@/static/images/vip/coved.png', import.meta.url).href, id: '1'},
  118. {name: '温故高频错题', num: '四', oneTxt: '复', txt: '汇总您的专属高频错题,全力攻破最后的难关', icon: new URL('@/static/images/vip/covea.png', import.meta.url).href, id: '1'},
  119. ])
  120. </script>
  121. <style lang="scss" scoped>
  122. .comment {
  123. .h1_row.flex-b {
  124. .h1 {
  125. text.active {
  126. }
  127. }
  128. .moreBox {
  129. moreright {
  130. }
  131. }
  132. }
  133. .commentItem {
  134. .flex {
  135. .avatar {
  136. img {
  137. }
  138. }
  139. .name {
  140. }
  141. .tag {
  142. }
  143. }
  144. .text {
  145. }
  146. }
  147. }
  148. image {
  149. display: block;
  150. width: 100%;
  151. height: 100%;
  152. }
  153. .content {
  154. width: 100%;
  155. .topBg {
  156. width: 100%;
  157. height: 550rpx;
  158. background: url('../../../static/images/vip/vipbg.png') no-repeat;
  159. background-size: 100% 100%;
  160. position: relative;
  161. .tag {
  162. position: absolute;
  163. font-size: 24rpx;
  164. color: #FFF9F3;
  165. padding: 9rpx;
  166. background: url('../../../static/images/vip/tagbg.png') no-repeat;
  167. background-size: 100% 100%;
  168. &:nth-child(1) {
  169. left: 50rpx;
  170. top: 152rpx;
  171. }
  172. &:nth-child(2) {
  173. right: 78rpx;
  174. top: 182rpx;
  175. }
  176. &:nth-child(3) {
  177. left: 20rpx;
  178. top: 280rpx;
  179. }
  180. &:nth-child(4) {
  181. right: 20rpx;
  182. top: 406rpx;
  183. }
  184. &:nth-child(5) {
  185. right: 0;
  186. top: 225rpx;
  187. width: 48rpx;
  188. height: 176rpx;
  189. padding-top: 20rpx;
  190. background: url('../../../static/images/vip/qustr.png') no-repeat;
  191. background-size: 100% 100%;
  192. }
  193. }
  194. }
  195. .allVip {
  196. transform: translateY(-96rpx);
  197. // position: relative;
  198. // top: -96rpx;
  199. .vipItem {
  200. width: 28%;
  201. height: 180rpx;
  202. background: #FFFFFF;
  203. border-radius: 10rpx;
  204. border: 2px solid #FDD5B7;
  205. &.active {
  206. transform: scale(1.3);
  207. background-color: #FDF5E4;
  208. border: 4px solid #EAA270;
  209. border-radius: 10px;
  210. }
  211. .lab {
  212. height: 96rpx;
  213. line-height: 96rpx;
  214. text-align: center;
  215. font-size: 28rpx;
  216. font-weight: 500;
  217. }
  218. .redT {
  219. padding-top: 16rpx;
  220. text-align: center;
  221. width: 100%;
  222. justify-content: center;
  223. border-top: 1px solid #eee;
  224. .price {
  225. color: #DA492D;
  226. font-size: 24rpx;
  227. text {
  228. font-size: 36rpx;
  229. }
  230. }
  231. .day {
  232. font-size: 24rpx;
  233. color: #9E492D;
  234. }
  235. }
  236. }
  237. }
  238. .btnBox.flex-b {
  239. width: 100%;
  240. height: 100rpx;
  241. background: #3776FF;
  242. border-radius: 50rpx;
  243. padding: 10rpx 10rpx 10rpx 32rpx;
  244. margin-top: -50rpx;
  245. .whiteT.flex {
  246. color: #fff;
  247. .price {
  248. font-size: 24rpx;
  249. text {
  250. font-size: 36rpx;
  251. font-weight: 700;
  252. }
  253. }
  254. .day {
  255. font-size: 24rpx;
  256. }
  257. }
  258. .upgra {
  259. width: 230rpx;
  260. height: 80rpx;
  261. background: linear-gradient(0deg, #F7D0A5 0%, #FCEDD1 100%);
  262. border-radius: 40rpx;
  263. font-size: 36rpx;
  264. line-height: 80rpx;
  265. text-align: center;
  266. font-weight: 500;
  267. }
  268. }
  269. .h1_row {
  270. height: 118rpx;
  271. }
  272. .card {
  273. background: #FFFFFF;
  274. box-shadow: 0px 0px 18px 0px rgba(0,0,0,0.04);
  275. border-radius: 20px;
  276. padding: 30rpx 20rpx;
  277. .tit_row.flex {
  278. width: 100%;
  279. justify-content: center;
  280. .round {
  281. width: 24rpx;
  282. height: 24rpx;
  283. }
  284. .tit {
  285. font-size: 28rpx;
  286. color: #333;
  287. padding: 0 20rpx;
  288. }
  289. }
  290. .tps {
  291. font-size: 24rpx;
  292. color: #ccc;
  293. padding: 20rpx 0 32rpx 0;
  294. text-align: center;
  295. }
  296. .ul {
  297. display: flex;
  298. .li {
  299. width: 20%;
  300. display: flex;
  301. flex-direction: column;
  302. align-items: center;
  303. justify-content: center;
  304. .icon {
  305. width: 84rpx;
  306. height: 84rpx;
  307. }
  308. .txt {
  309. font-size: 28rpx;
  310. margin-top: 14rpx;
  311. }
  312. }
  313. }
  314. }
  315. .learning {
  316. .h1_box {
  317. padding: 20rpx 0;
  318. }
  319. .h1 {
  320. }
  321. .blueBg {
  322. background: linear-gradient(180deg, #E3FEFF 0%, #F2FEFF 100%);
  323. border-radius: 20px;
  324. padding: 0 20rpx 20rpx 20rpx;
  325. margin-top: 20rpx;
  326. .blueTxt {
  327. line-height: 68rpx;
  328. text-align: center;
  329. font-size: 30rpx;
  330. font-weight: 700;
  331. color: $themC;
  332. }
  333. .ul {
  334. width: 100%;
  335. background: #FFFFFF;
  336. border-radius: 20px;
  337. .li {
  338. width: 100%;
  339. padding: 30rpx 0rpx;
  340. border-bottom: 1px solid #F4F4F4;
  341. .flex {
  342. .step {
  343. width: 125rpx;
  344. height: 42rpx;
  345. font-size: 28rpx;
  346. background: #3776FF;
  347. border-radius: 0px 0px 30rpx 0px;
  348. line-height: 42rpx;
  349. color: #fff;
  350. text-align: center;
  351. }
  352. .unit {
  353. font-family: PingFang SC;
  354. font-weight: bold;
  355. font-size: 36rpx;
  356. color: #333333;
  357. margin-left: 20rpx;
  358. }
  359. }
  360. .flex-b {
  361. padding-top: 30rpx;
  362. padding: 30rpx 20rpx 0 20rpx;
  363. .leftImg {
  364. width: 360rpx;
  365. height: 200rpx;
  366. background: #F4EED8;
  367. border-radius: 20rpx;
  368. overflow: hidden;
  369. }
  370. .rightTxt {
  371. padding-left: 20rpx;
  372. flex: 1;
  373. width: 0;
  374. .lab {
  375. font-weight: bold;
  376. font-size: 28rpx;
  377. color: #333333;
  378. line-height: 66rpx;
  379. }
  380. .txt {
  381. font-weight: 500;
  382. font-size: 24rpx;
  383. color: #666666;
  384. line-height: 34rpx;
  385. }
  386. }
  387. }
  388. }
  389. }
  390. }
  391. }
  392. }
  393. .comment {
  394. margin-top: 20rpx;
  395. .commentItem {
  396. width: 630rpx;
  397. height: 236rpx;
  398. background: #FFFFFF;
  399. box-shadow: 0px 0px 18rpx 0px rgba(0,0,0,0.04);
  400. border-radius: 10rpx;
  401. padding: 40rpx;
  402. .flex {
  403. .avatar {
  404. width: 40rpx;
  405. height: 40rpx;
  406. border-radius: 50%;
  407. }
  408. .name {
  409. font-size: 28rpx;
  410. font-weight: 500;
  411. padding: 0 10rpx;
  412. }
  413. .tag {
  414. min-width: 159rpx;
  415. height: 36rpx;
  416. background: linear-gradient(135deg, #F9E4B1 0%, #F1C477 100%);
  417. border-radius: 6rpx;
  418. line-height: 36rpx;
  419. text-align: center;
  420. padding: 0 10rpx;
  421. font-size: 20rpx;
  422. }
  423. }
  424. .text {
  425. margin-top: 26rpx;
  426. font-size: 24rpx;
  427. color: #2D1306;
  428. }
  429. }
  430. }
  431. </style>