pool.wxss 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. .page-container {
  2. height: 100vh;
  3. display: flex;
  4. flex-direction: column;
  5. background: #f5f6fb;
  6. }
  7. .scroll-view {
  8. flex: 1;
  9. height: 0;
  10. }
  11. .content-wrapper {
  12. padding: 32rpx;
  13. background: #f5f6fb;
  14. min-height: 100%;
  15. }
  16. .card {
  17. background: #ffffff;
  18. border-radius: 24rpx;
  19. padding: 32rpx;
  20. box-shadow: 0 16rpx 40rpx rgba(37, 52, 94, 0.08);
  21. margin-bottom: 32rpx;
  22. }
  23. /* 超短精选池标题区域 */
  24. .pool-header-section {
  25. margin-bottom: 24rpx;
  26. }
  27. .pool-header {
  28. display: flex;
  29. align-items: center;
  30. margin-bottom: 12rpx;
  31. }
  32. .pool-icon {
  33. font-size: 32rpx;
  34. margin-right: 12rpx;
  35. }
  36. .pool-title {
  37. font-size: 32rpx;
  38. font-weight: 600;
  39. color: #222222;
  40. }
  41. .pool-desc {
  42. font-size: 26rpx;
  43. color: #666a7f;
  44. }
  45. /* 性能指标卡片 */
  46. .performance-card {
  47. display: flex;
  48. justify-content: space-around;
  49. align-items: center;
  50. background: #f7f8fc;
  51. padding: 32rpx 24rpx;
  52. }
  53. .performance-item {
  54. display: flex;
  55. flex-direction: column;
  56. align-items: center;
  57. }
  58. .performance-label {
  59. font-size: 24rpx;
  60. color: #666a7f;
  61. margin-bottom: 12rpx;
  62. }
  63. .performance-value {
  64. font-size: 32rpx;
  65. font-weight: 700;
  66. color: #222222;
  67. }
  68. .performance-value.success {
  69. color: #3abf81;
  70. }
  71. .performance-value.profit {
  72. color: #f16565;
  73. }
  74. /* 超短精选池卡片 */
  75. .pool-card {
  76. padding: 32rpx;
  77. }
  78. /* 锁定内容 */
  79. .locked-content {
  80. display: flex;
  81. flex-direction: column;
  82. align-items: center;
  83. padding: 60rpx 0 40rpx;
  84. }
  85. .lock-icon-wrapper {
  86. margin-bottom: 32rpx;
  87. }
  88. .lock-icon {
  89. font-size: 80rpx;
  90. }
  91. .lock-text {
  92. font-size: 28rpx;
  93. color: #222222;
  94. margin-bottom: 16rpx;
  95. text-align: center;
  96. }
  97. .lock-desc {
  98. font-size: 24rpx;
  99. color: #9ca2b5;
  100. margin-bottom: 48rpx;
  101. text-align: center;
  102. line-height: 1.6;
  103. }
  104. .unlock-button {
  105. width: 100%;
  106. background: linear-gradient(135deg, #5d55e8, #7568ff);
  107. border-radius: 16rpx;
  108. padding: 28rpx 0;
  109. text-align: center;
  110. box-shadow: 0 12rpx 24rpx rgba(93, 85, 232, 0.4);
  111. }
  112. .unlock-button-text {
  113. font-size: 30rpx;
  114. font-weight: 600;
  115. color: #ffffff;
  116. }
  117. /* 已解锁内容 */
  118. .unlocked-content {
  119. margin-top: 32rpx;
  120. }
  121. .unlocked-tip {
  122. font-size: 26rpx;
  123. color: #3abf81;
  124. margin-bottom: 24rpx;
  125. display: block;
  126. }
  127. .stock-list-placeholder {
  128. padding: 60rpx 0;
  129. text-align: center;
  130. background: #f7f8fc;
  131. border-radius: 16rpx;
  132. }
  133. .placeholder-text {
  134. font-size: 26rpx;
  135. color: #9ca2b5;
  136. }
  137. /* 历史股票池回顾 */
  138. .history-card {
  139. padding: 32rpx;
  140. }
  141. .history-header {
  142. display: flex;
  143. align-items: center;
  144. margin-bottom: 24rpx;
  145. }
  146. .history-icon {
  147. font-size: 28rpx;
  148. margin-right: 12rpx;
  149. }
  150. .history-title {
  151. font-size: 30rpx;
  152. font-weight: 600;
  153. color: #222222;
  154. }
  155. .history-search-row {
  156. display: flex;
  157. align-items: center;
  158. }
  159. .date-range-row {
  160. display: flex;
  161. align-items: center;
  162. gap: 16rpx;
  163. margin-bottom: 24rpx;
  164. }
  165. .date-picker-half {
  166. flex: 1;
  167. }
  168. .date-separator {
  169. font-size: 26rpx;
  170. color: #666a7f;
  171. padding: 0 8rpx;
  172. }
  173. .date-input {
  174. background: #f7f8fc;
  175. border-radius: 12rpx;
  176. padding: 24rpx;
  177. font-size: 26rpx;
  178. color: #222222;
  179. display: flex;
  180. justify-content: space-between;
  181. align-items: center;
  182. }
  183. .date-text {
  184. flex: 1;
  185. }
  186. .date-icon {
  187. font-size: 28rpx;
  188. margin-left: 12rpx;
  189. }
  190. .history-search-button-full {
  191. width: 100%;
  192. background: linear-gradient(135deg, #5d55e8, #7568ff);
  193. border-radius: 16rpx;
  194. padding: 28rpx 0;
  195. text-align: center;
  196. margin-top: 12rpx;
  197. margin-bottom: 24rpx;
  198. box-shadow: 0 8rpx 20rpx rgba(93, 85, 232, 0.3);
  199. }
  200. .search-button-text {
  201. font-size: 28rpx;
  202. font-weight: 600;
  203. color: #ffffff;
  204. }
  205. .history-search-button {
  206. width: 80rpx;
  207. height: 80rpx;
  208. background: #5d55e8;
  209. border-radius: 12rpx;
  210. display: flex;
  211. align-items: center;
  212. justify-content: center;
  213. margin-left: 16rpx;
  214. }
  215. .search-icon {
  216. font-size: 32rpx;
  217. color: #ffffff;
  218. }
  219. .history-tip {
  220. font-size: 24rpx;
  221. color: #9ca2b5;
  222. line-height: 1.6;
  223. }
  224. /* 购买弹窗 */
  225. .modal-overlay {
  226. position: fixed;
  227. top: 0;
  228. left: 0;
  229. right: 0;
  230. bottom: 0;
  231. background: rgba(0, 0, 0, 0.5);
  232. display: flex;
  233. align-items: center;
  234. justify-content: center;
  235. z-index: 1000;
  236. }
  237. .modal-content {
  238. width: 640rpx;
  239. background: #ffffff;
  240. border-radius: 24rpx;
  241. padding: 40rpx 32rpx 32rpx;
  242. box-sizing: border-box;
  243. }
  244. .modal-header {
  245. display: flex;
  246. justify-content: space-between;
  247. align-items: center;
  248. margin-bottom: 32rpx;
  249. }
  250. .modal-title {
  251. font-size: 32rpx;
  252. font-weight: 600;
  253. color: #222222;
  254. }
  255. .modal-close {
  256. font-size: 48rpx;
  257. color: #9ca2b5;
  258. line-height: 1;
  259. width: 48rpx;
  260. height: 48rpx;
  261. display: flex;
  262. align-items: center;
  263. justify-content: center;
  264. }
  265. .subscription-options {
  266. margin-bottom: 32rpx;
  267. }
  268. .subscription-option {
  269. display: flex;
  270. justify-content: space-between;
  271. align-items: center;
  272. padding: 32rpx 24rpx;
  273. border: 2rpx solid #e5e7eb;
  274. border-radius: 16rpx;
  275. margin-bottom: 20rpx;
  276. transition: all 0.3s;
  277. }
  278. .subscription-option.active {
  279. border-color: #5d55e8;
  280. background: #f7f8fc;
  281. }
  282. .option-info {
  283. display: flex;
  284. flex-direction: column;
  285. }
  286. .option-title {
  287. font-size: 28rpx;
  288. font-weight: 600;
  289. color: #222222;
  290. margin-bottom: 8rpx;
  291. }
  292. .option-desc {
  293. font-size: 24rpx;
  294. color: #9ca2b5;
  295. }
  296. .option-price {
  297. font-size: 36rpx;
  298. font-weight: 700;
  299. color: #f16565;
  300. }
  301. .modal-footer {
  302. display: flex;
  303. flex-direction: column;
  304. align-items: center;
  305. }
  306. .pay-button {
  307. width: 100%;
  308. background: #f16565;
  309. border-radius: 16rpx;
  310. padding: 28rpx 0;
  311. text-align: center;
  312. margin-bottom: 24rpx;
  313. }
  314. .pay-button-text {
  315. font-size: 30rpx;
  316. font-weight: 600;
  317. color: #ffffff;
  318. }
  319. .agreement-text {
  320. font-size: 22rpx;
  321. color: #9ca2b5;
  322. }
  323. /* 支付方式选择 */
  324. .payment-method-section {
  325. margin-bottom: 32rpx;
  326. padding-top: 24rpx;
  327. border-top: 1rpx solid #f1f2f6;
  328. }
  329. .payment-method-title {
  330. display: block;
  331. font-size: 26rpx;
  332. font-weight: 600;
  333. color: #222222;
  334. margin-bottom: 20rpx;
  335. }
  336. .payment-methods {
  337. display: flex;
  338. flex-direction: column;
  339. gap: 16rpx;
  340. }
  341. .payment-method-item {
  342. display: flex;
  343. align-items: center;
  344. padding: 24rpx 20rpx;
  345. border: 2rpx solid #e5e7eb;
  346. border-radius: 12rpx;
  347. transition: all 0.3s;
  348. position: relative;
  349. }
  350. .payment-method-item.active {
  351. border-color: #5d55e8;
  352. background: #f7f5ff;
  353. }
  354. .payment-icon {
  355. font-size: 36rpx;
  356. margin-right: 16rpx;
  357. }
  358. .payment-name {
  359. font-size: 28rpx;
  360. font-weight: 500;
  361. color: #222222;
  362. flex: 1;
  363. }
  364. .payment-check {
  365. width: 36rpx;
  366. height: 36rpx;
  367. background: #5d55e8;
  368. border-radius: 50%;
  369. color: #ffffff;
  370. font-size: 24rpx;
  371. display: flex;
  372. align-items: center;
  373. justify-content: center;
  374. }
  375. .bottom-safe-area {
  376. height: 80rpx;
  377. }
  378. /* 手机号授权弹窗 */
  379. .phone-auth-mask {
  380. position: fixed;
  381. top: 0;
  382. left: 0;
  383. right: 0;
  384. bottom: 0;
  385. background: rgba(0, 0, 0, 0.6);
  386. display: flex;
  387. align-items: center;
  388. justify-content: center;
  389. z-index: 9999;
  390. }
  391. .phone-auth-prompt {
  392. width: 560rpx;
  393. background: #ffffff;
  394. border-radius: 24rpx;
  395. padding: 50rpx 40rpx;
  396. text-align: center;
  397. box-shadow: 0 20rpx 60rpx rgba(0, 0, 0, 0.3);
  398. }
  399. .auth-icon {
  400. font-size: 72rpx;
  401. margin-bottom: 20rpx;
  402. }
  403. .auth-title {
  404. display: block;
  405. font-size: 32rpx;
  406. font-weight: 600;
  407. color: #222222;
  408. margin-bottom: 12rpx;
  409. }
  410. .auth-desc {
  411. display: block;
  412. font-size: 24rpx;
  413. color: #999999;
  414. line-height: 1.5;
  415. margin-bottom: 32rpx;
  416. }
  417. .auth-button {
  418. width: 100%;
  419. height: 80rpx;
  420. background: linear-gradient(135deg, #FF9800, #FFA726);
  421. color: #ffffff;
  422. border-radius: 40rpx;
  423. font-size: 30rpx;
  424. font-weight: 600;
  425. box-shadow: 0 8rpx 24rpx rgba(255, 152, 0, 0.4);
  426. display: flex;
  427. align-items: center;
  428. justify-content: center;
  429. border: none;
  430. padding: 0;
  431. line-height: 80rpx;
  432. }
  433. .auth-button::after {
  434. border: none;
  435. }