ai-recommend.wxss 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /* pages/recommendation/recommendation.wxss */
  2. .container {
  3. padding: 30rpx;
  4. min-height: 100vh;
  5. background-color: #f8f9fa;
  6. }
  7. /* 加载状态样式 */
  8. .loading-container {
  9. display: flex;
  10. flex-direction: column;
  11. align-items: center;
  12. justify-content: center;
  13. height: 60vh;
  14. }
  15. .loading-animation {
  16. display: flex;
  17. align-items: center;
  18. justify-content: center;
  19. margin-bottom: 40rpx;
  20. }
  21. .dot {
  22. width: 20rpx;
  23. height: 20rpx;
  24. border-radius: 50%;
  25. background-color: #07c160;
  26. margin: 0 10rpx;
  27. animation: bounce 1.4s infinite ease-in-out;
  28. }
  29. .dot1 {
  30. animation-delay: -0.32s;
  31. }
  32. .dot2 {
  33. animation-delay: -0.16s;
  34. }
  35. @keyframes bounce {
  36. 0%, 80%, 100% { transform: scale(0); }
  37. 40% { transform: scale(1); }
  38. }
  39. .loading-text {
  40. font-size: 32rpx;
  41. color: #666;
  42. margin-top: 30rpx;
  43. }
  44. /* 错误状态样式 */
  45. .error-container {
  46. display: flex;
  47. flex-direction: column;
  48. align-items: center;
  49. justify-content: center;
  50. height: 60vh;
  51. text-align: center;
  52. padding: 0 60rpx;
  53. }
  54. .error-icon {
  55. width: 120rpx;
  56. height: 120rpx;
  57. margin-bottom: 30rpx;
  58. }
  59. .error-title {
  60. font-size: 36rpx;
  61. font-weight: bold;
  62. color: #333;
  63. margin-bottom: 20rpx;
  64. }
  65. .error-message {
  66. font-size: 28rpx;
  67. color: #666;
  68. margin-bottom: 40rpx;
  69. }
  70. .retry-btn {
  71. width: 240rpx;
  72. height: 80rpx;
  73. line-height: 80rpx;
  74. background: linear-gradient(to right, #07c160, #09ad56);
  75. color: white;
  76. border-radius: 40rpx;
  77. font-size: 30rpx;
  78. margin-top: 20rpx;
  79. }
  80. /* 推荐卡片样式 */
  81. .recommendation-card {
  82. background-color: #fff;
  83. border-radius: 16rpx;
  84. box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.06);
  85. overflow: hidden;
  86. }
  87. .card-header {
  88. display: flex;
  89. align-items: center;
  90. padding: 30rpx;
  91. background: linear-gradient(135deg, #6e8efb, #a777e3);
  92. }
  93. .ai-icon {
  94. width: 48rpx;
  95. height: 48rpx;
  96. margin-right: 16rpx;
  97. }
  98. .card-title {
  99. font-size: 36rpx;
  100. font-weight: bold;
  101. color: white;
  102. }
  103. .card-content {
  104. padding: 30rpx;
  105. }
  106. .recommendation-text {
  107. font-size: 30rpx;
  108. line-height: 1.6;
  109. color: #333;
  110. white-space: pre-line;
  111. }
  112. .card-footer {
  113. display: flex;
  114. justify-content: space-between;
  115. padding: 20rpx 30rpx;
  116. border-top: 1rpx solid #f0f0f0;
  117. }
  118. .action-btn {
  119. flex: 1;
  120. height: 80rpx;
  121. line-height: 80rpx;
  122. border-radius: 40rpx;
  123. font-size: 30rpx;
  124. margin: 0 10rpx;
  125. }
  126. .save-btn {
  127. background: linear-gradient(to right, #1989fa, #3296fa);
  128. color: white;
  129. }
  130. .regenerate-btn {
  131. background: #f8f8f8;
  132. color: #666;
  133. border: 1rpx solid #eaeaea;
  134. }