physics.uvue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <script setup lang='ts'>
  2. import { ref } from 'vue'
  3. import { router } from '@/.cool'
  4. import { user } from '@/.cool'
  5. function handleView(url) {
  6. router.push({ path: url })
  7. }
  8. </script>
  9. <template>
  10. <view class="bottom">
  11. <view class=" progress">
  12. <view class="text-[26px] font-bold">学习进度</view>
  13. <view class=" w-full flex flex-row items-center justify-center gap-2">
  14. <cl-progress class="flex-1" color="linear-gradient(0deg, #1FA5F5 37%, #A2D8FF 100%)"
  15. :value="user.info.value?.studyCourseNum" :show-text="false" :strokeWidth="16"
  16. :pt="{ outer: { className: '!rounded-full' }, inner: { className: '!rounded-full' } }"></cl-progress>
  17. <view class="text-[12px] w-[100px] rounded-full text-black font-bold text-center check
  18. to-pink-500 h-[20px] ">
  19. 今日打卡
  20. </view>
  21. </view>
  22. </view>
  23. <view class="flex-1 flex flex-col items-center justify-between gap-2 bg1 py-3">
  24. <cl-image src="https://oss.xiaoxiongcode.com/static/home/17.png" mode="widthFix" width="40%" height="auto" />
  25. <text class="text-[14px]">趣味虚拟实验</text>
  26. </view>
  27. <view class="flex-1 flex flex-col items-center justify-between gap-1 bg2 py-3"
  28. @tap="handleView('/pages/card/index')">
  29. <cl-image src="https://oss.xiaoxiongcode.com/static/home/19.png" mode="widthFix" width="70%" height="auto" />
  30. <text class="text-[14px]">我的收获</text>
  31. </view>
  32. <view class="flex-1 flex flex-col items-center justify-between gap-1 bg3 py-3">
  33. <cl-image src="https://oss.xiaoxiongcode.com/static/home/18.png" mode="widthFix" width="35%" height="auto" />
  34. <text class="text-[14px]">学习报告</text>
  35. </view>
  36. </view>
  37. <view class="content" @tap="handleView('/pages/catalog/index')">
  38. <cl-image src="https://oss.xiaoxiongcode.com/static/home/3.gif" mode="heightFix" height="100%" width="auto" />
  39. <view class="flex-1 flex flex-col items-center justify-center gap-2 ft">
  40. <view class="text-[10vh] font-bold">
  41. 启蒙物理AI课
  42. </view>
  43. <view class="h-[15vh]">
  44. <cl-image src="https://oss.xiaoxiongcode.com/static/home/play.png" mode="heightFix" height="100%"
  45. width="auto" />
  46. </view>
  47. </view>
  48. </view>
  49. </template>
  50. <style lang="scss" scoped>
  51. .bottom {
  52. @apply absolute bottom-[1vh] left-1/2 w-full max-w-[800px] rounded-[20px] px-10 py-1 flex flex-row items-center justify-between gap-5;
  53. transform: translateX(-50%);
  54. .progress {
  55. @apply w-[400px] h-[80px] rounded-[40px] flex justify-center gap-2 px-[30px] gap-3;
  56. background: linear-gradient(0deg, #AAE3FF 0%, #DFF4FD 100%);
  57. width: 40%;
  58. }
  59. .check {
  60. background: linear-gradient(0deg, #FBD00E 0%, #FBEC92 100%);
  61. line-height: 20px;
  62. }
  63. }
  64. .bg1 {
  65. background: linear-gradient(0deg, #7597FA 0%, #C1DAFF 100%);
  66. border-radius: 28px;
  67. height: 80px;
  68. }
  69. .bg2 {
  70. background: linear-gradient(0deg, #3CD3DE 0%, #ADFBFF 100%);
  71. border-radius: 28px;
  72. height: 80px;
  73. }
  74. .bg3 {
  75. background: linear-gradient(0deg, #FFCE4A 0%, #FFEC88 100%);
  76. border-radius: 28px;
  77. height: 80px;
  78. }
  79. .ft {
  80. font-family: eryazhaocaimao;
  81. text-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 0 20px rgba(255, 255, 255, 0.6), 0 0 30px rgba(255, 255, 255, 0.4), 0 0 40px rgba(62, 166, 238, 0.8);
  82. }
  83. .content {
  84. @apply absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 text-white w-[120vh] border-[3px] border-[#fff] border-solid rounded-[30px] px-10 py-4 h-[40vh] flex flex-row items-center justify-between gap-4;
  85. background: linear-gradient(0deg, #C7F0FE 0%, #30B9FF 100%);
  86. }
  87. </style>