与牧同行-小程序用户端
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.

1008 lines
16 KiB

  1. /* pages/consult/consult.wxss */
  2. /* 页面整体样式 */
  3. .consult-page {
  4. width: 100vw;
  5. height: 100vh;
  6. background: #f5f5f5;
  7. display: flex;
  8. flex-direction: column;
  9. font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;
  10. }
  11. /* ========== 头部样式 ========== */
  12. .consult-header {
  13. background: #ffffff;
  14. border-bottom: 1px solid #e5e5e5;
  15. position: relative;
  16. z-index: 1000;
  17. box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
  18. }
  19. .header-content {
  20. display: flex;
  21. align-items: center;
  22. padding: 12rpx 24rpx;
  23. height: 96rpx;
  24. }
  25. .header-left {
  26. width: 80rpx;
  27. }
  28. .header-center {
  29. flex: 1;
  30. display: flex;
  31. justify-content: center;
  32. }
  33. .header-right {
  34. width: 80rpx;
  35. }
  36. .back-btn {
  37. width: 72rpx;
  38. height: 72rpx;
  39. border: none;
  40. background: transparent;
  41. padding: 0;
  42. margin: 0;
  43. line-height: 1;
  44. border-radius: 50%;
  45. transition: background-color 0.2s;
  46. }
  47. .back-btn:active {
  48. background-color: rgba(0, 0, 0, 0.05);
  49. }
  50. .back-icon {
  51. width: 36rpx;
  52. height: 36rpx;
  53. }
  54. .expert-info {
  55. display: flex;
  56. flex-direction: column;
  57. align-items: center;
  58. justify-content: center;
  59. }
  60. .expert-name {
  61. font-size: 32rpx;
  62. font-weight: 600;
  63. color: #000000;
  64. line-height: 44rpx;
  65. margin-bottom: 4rpx;
  66. }
  67. .expert-status {
  68. display: flex;
  69. align-items: center;
  70. justify-content: center;
  71. }
  72. .status-dot {
  73. width: 16rpx;
  74. height: 16rpx;
  75. border-radius: 50%;
  76. margin-right: 8rpx;
  77. }
  78. .status-dot.online {
  79. background: #07c160;
  80. animation: pulse 2s infinite;
  81. }
  82. .status-dot.offline {
  83. background: #cccccc;
  84. }
  85. @keyframes pulse {
  86. 0% {
  87. box-shadow: 0 0 0 0 rgba(7, 193, 96, 0.4);
  88. }
  89. 70% {
  90. box-shadow: 0 0 0 8rpx rgba(7, 193, 96, 0);
  91. }
  92. 100% {
  93. box-shadow: 0 0 0 0 rgba(7, 193, 96, 0);
  94. }
  95. }
  96. .status-text {
  97. font-size: 24rpx;
  98. color: #666666;
  99. }
  100. .header-action-btn {
  101. width: 72rpx;
  102. height: 72rpx;
  103. border: none;
  104. background: transparent;
  105. padding: 0;
  106. margin: 0;
  107. line-height: 1;
  108. border-radius: 50%;
  109. transition: background-color 0.2s;
  110. }
  111. .header-action-btn:active {
  112. background-color: rgba(0, 0, 0, 0.05);
  113. }
  114. .header-action-icon {
  115. width: 40rpx;
  116. height: 40rpx;
  117. }
  118. /* ========== 聊天容器 ========== */
  119. .chat-container {
  120. flex: 1;
  121. padding: 20rpx 0 0;
  122. background: #f5f5f5;
  123. overflow-y: auto;
  124. position: relative;
  125. }
  126. /* 日期分隔线 */
  127. .date-divider {
  128. display: flex;
  129. justify-content: center;
  130. margin: 40rpx 0 30rpx;
  131. }
  132. .date-text {
  133. background: rgba(0, 0, 0, 0.1);
  134. padding: 8rpx 32rpx;
  135. border-radius: 100rpx;
  136. font-size: 24rpx;
  137. color: #ffffff;
  138. font-weight: 400;
  139. background-color: #d8d8d8;
  140. }
  141. /* 微信样式时间分隔 */
  142. .time-divider {
  143. display: flex;
  144. justify-content: center;
  145. align-items: center;
  146. margin: 40rpx 0;
  147. padding: 0 30rpx;
  148. }
  149. .time-line {
  150. flex: 1;
  151. height: 1rpx;
  152. background: rgba(0, 0, 0, 0.1);
  153. margin: 0 20rpx;
  154. }
  155. .time-text {
  156. display: inline-block;
  157. padding: 4rpx 16rpx;
  158. border-radius: 20rpx;
  159. font-size: 22rpx;
  160. color: #999999;
  161. background-color: rgba(0, 0, 0, 0.05);
  162. line-height: 1.5;
  163. text-align: center;
  164. word-break: keep-all;
  165. white-space: nowrap;
  166. }
  167. /* 消息项 - 修复对齐 */
  168. .message-item {
  169. display: flex;
  170. margin-bottom: 24rpx;
  171. padding: 0 30rpx;
  172. opacity: 0;
  173. animation: fadeIn 0.3s ease forwards;
  174. align-items: flex-start;
  175. position: relative;
  176. }
  177. @keyframes fadeIn {
  178. from {
  179. opacity: 0;
  180. transform: translateY(10rpx);
  181. }
  182. to {
  183. opacity: 1;
  184. transform: translateY(0);
  185. }
  186. }
  187. .message-left {
  188. justify-content: flex-start;
  189. }
  190. .message-right {
  191. justify-content: flex-end;
  192. }
  193. /* 头像 - 修复对齐 */
  194. .message-avatar {
  195. width: 80rpx;
  196. height: 80rpx;
  197. border-radius: 8rpx;
  198. overflow: hidden;
  199. flex-shrink: 0;
  200. background: #ffffff;
  201. border: 1rpx solid #f0f0f0;
  202. position: relative;
  203. z-index: 1;
  204. }
  205. .message-left .message-avatar {
  206. margin-right: 16rpx;
  207. }
  208. .message-right .message-avatar {
  209. margin-left: 16rpx;
  210. }
  211. .avatar-img {
  212. width: 100%;
  213. height: 100%;
  214. object-fit: cover;
  215. }
  216. /* 消息内容包装器 */
  217. .message-content-wrapper {
  218. max-width: 480rpx;
  219. position: relative;
  220. display: flex;
  221. flex-direction: column;
  222. }
  223. .message-left .message-content-wrapper {
  224. align-items: flex-start;
  225. }
  226. .message-right .message-content-wrapper {
  227. align-items: flex-end;
  228. }
  229. /* 消息气泡通用样式 */
  230. .message-bubble {
  231. position: relative;
  232. padding: 16rpx 20rpx;
  233. word-break: break-word;
  234. box-sizing: border-box;
  235. min-height: 80rpx; /* 与头像高度一致 */
  236. display: flex;
  237. align-items: center;
  238. justify-content: center;
  239. }
  240. /* 左侧气泡(专家) */
  241. .bubble-left {
  242. background: #ffffff;
  243. border-radius: 10rpx;
  244. border-top-left-radius: 4rpx;
  245. box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
  246. }
  247. /* 右侧气泡(用户) */
  248. .bubble-right {
  249. background: #95ec69;
  250. border-radius: 10rpx;
  251. border-top-right-radius: 4rpx;
  252. box-shadow: 0 2rpx 8rpx rgba(149, 236, 105, 0.2);
  253. }
  254. /* 气泡箭头 - 固定在头像中间位置 */
  255. .message-arrow {
  256. position: absolute;
  257. width: 0;
  258. height: 0;
  259. border-style: solid;
  260. border-width: 12rpx;
  261. top: 50%;
  262. margin-top: -12rpx; /* 箭头高度的一半 */
  263. z-index: 2;
  264. }
  265. .arrow-left {
  266. left: -24rpx;
  267. border-color: transparent #ffffff transparent transparent;
  268. }
  269. .arrow-right {
  270. right: -24rpx;
  271. border-color: transparent transparent transparent #95ec69;
  272. }
  273. /* 文本消息 */
  274. .message-text {
  275. font-size: 32rpx;
  276. color: #000000;
  277. line-height: 1.4;
  278. }
  279. .bubble-right .message-text {
  280. color: #000000;
  281. }
  282. /* 媒体消息通用样式 */
  283. .media-bubble {
  284. position: relative;
  285. border-radius: 10rpx;
  286. overflow: hidden;
  287. box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
  288. background: #ffffff;
  289. min-height: 80rpx; /* 与头像高度一致 */
  290. display: flex;
  291. align-items: center;
  292. justify-content: center;
  293. }
  294. .message-left .media-bubble {
  295. border-top-left-radius: 4rpx;
  296. }
  297. .message-right .media-bubble {
  298. border-top-right-radius: 4rpx;
  299. }
  300. /* 图片消息 */
  301. .message-image {
  302. width: 280rpx;
  303. height: 280rpx;
  304. display: block;
  305. }
  306. /* 视频消息 */
  307. .message-video {
  308. width: 280rpx;
  309. height: 280rpx;
  310. background: #000000;
  311. }
  312. .video-play-overlay {
  313. position: absolute;
  314. top: 50%;
  315. left: 50%;
  316. transform: translate(-50%, -50%);
  317. width: 80rpx;
  318. height: 80rpx;
  319. border-radius: 50%;
  320. background: rgba(0, 0, 0, 0.6);
  321. display: flex;
  322. align-items: center;
  323. justify-content: center;
  324. }
  325. .play-icon {
  326. width: 40rpx;
  327. height: 40rpx;
  328. margin-left: 4rpx;
  329. }
  330. /* 语音消息 */
  331. .message-audio {
  332. min-width: 240rpx;
  333. padding: 20rpx;
  334. display: flex;
  335. align-items: center;
  336. min-height: 80rpx;
  337. }
  338. .audio-icon-left,
  339. .audio-icon-right {
  340. width: 32rpx;
  341. height: 32rpx;
  342. flex-shrink: 0;
  343. }
  344. .audio-icon-left {
  345. margin-right: 16rpx;
  346. }
  347. .audio-icon-right {
  348. margin-left: 16rpx;
  349. }
  350. .audio-content {
  351. flex: 1;
  352. display: flex;
  353. align-items: center;
  354. justify-content: space-between;
  355. }
  356. .audio-wave {
  357. display: flex;
  358. align-items: flex-end;
  359. height: 28rpx;
  360. margin-right: 16rpx;
  361. }
  362. .wave-bar {
  363. width: 4rpx;
  364. margin: 0 2rpx;
  365. background: currentColor;
  366. border-radius: 2rpx;
  367. animation: wave 1s ease-in-out infinite;
  368. }
  369. @keyframes wave {
  370. 0%, 100% {
  371. height: 12rpx;
  372. }
  373. 50% {
  374. height: 28rpx;
  375. }
  376. }
  377. .audio-duration {
  378. font-size: 26rpx;
  379. font-weight: 500;
  380. color: #000000;
  381. }
  382. /* 文件消息 */
  383. .message-file {
  384. min-width: 280rpx;
  385. padding: 20rpx;
  386. display: flex;
  387. align-items: center;
  388. min-height: 80rpx;
  389. }
  390. .file-icon-box {
  391. width: 56rpx;
  392. height: 72rpx;
  393. margin-right: 16rpx;
  394. position: relative;
  395. flex-shrink: 0;
  396. }
  397. .file-icon {
  398. width: 100%;
  399. height: 100%;
  400. }
  401. .file-info {
  402. flex: 1;
  403. display: flex;
  404. flex-direction: column;
  405. justify-content: center;
  406. overflow: hidden;
  407. }
  408. .file-name {
  409. font-size: 28rpx;
  410. font-weight: 500;
  411. color: #000000;
  412. margin-bottom: 6rpx;
  413. overflow: hidden;
  414. text-overflow: ellipsis;
  415. white-space: nowrap;
  416. }
  417. .file-size {
  418. font-size: 24rpx;
  419. color: #666666;
  420. }
  421. /* 上传进度 */
  422. .upload-progress {
  423. position: absolute;
  424. top: 0;
  425. left: 0;
  426. right: 0;
  427. bottom: 0;
  428. background: rgba(0, 0, 0, 0.5);
  429. display: flex;
  430. align-items: center;
  431. justify-content: center;
  432. border-radius: inherit;
  433. }
  434. .progress-circle {
  435. width: 80rpx;
  436. height: 80rpx;
  437. border-radius: 50%;
  438. border: 6rpx solid rgba(255, 255, 255, 0.3);
  439. border-top-color: #ffffff;
  440. animation: spin 1s linear infinite;
  441. display: flex;
  442. align-items: center;
  443. justify-content: center;
  444. }
  445. @keyframes spin {
  446. 0% {
  447. transform: rotate(0deg);
  448. }
  449. 100% {
  450. transform: rotate(360deg);
  451. }
  452. }
  453. .progress-text {
  454. font-size: 20rpx;
  455. color: #ffffff;
  456. font-weight: 600;
  457. }
  458. /* 加载更多提示 */
  459. .load-more-tip {
  460. display: flex;
  461. justify-content: center;
  462. align-items: center;
  463. padding: 30rpx 0;
  464. color: #999999;
  465. font-size: 24rpx;
  466. }
  467. /* 空状态提示 */
  468. .empty-tip {
  469. display: flex;
  470. flex-direction: column;
  471. align-items: center;
  472. justify-content: center;
  473. padding: 100rpx 0;
  474. color: #999999;
  475. }
  476. .empty-icon {
  477. width: 200rpx;
  478. height: 200rpx;
  479. margin-bottom: 30rpx;
  480. opacity: 0.6;
  481. }
  482. .empty-text {
  483. font-size: 28rpx;
  484. color: #999999;
  485. }
  486. /* ========== 输入区域 ========== */
  487. .input-section {
  488. background: #ffffff;
  489. border-top: 1rpx solid #e5e5e5;
  490. padding: 20rpx 30rpx;
  491. position: relative;
  492. z-index: 100;
  493. box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05);
  494. }
  495. /* 语音输入面板 */
  496. .voice-input-panel {
  497. display: flex;
  498. align-items: center;
  499. gap: 20rpx;
  500. height: 80rpx;
  501. }
  502. /* 文字输入面板 */
  503. .text-input-panel {
  504. display: flex;
  505. align-items: center;
  506. gap: 20rpx;
  507. height: 80rpx;
  508. }
  509. /* 语音输入按钮(切换按钮) */
  510. .voice-input-btn {
  511. width: 80rpx;
  512. height: 80rpx;
  513. border-radius: 50%;
  514. border: none;
  515. background: transparent;
  516. display: flex;
  517. align-items: center;
  518. justify-content: center;
  519. transition: all 0.2s;
  520. padding: 0;
  521. margin: 0;
  522. line-height: 1;
  523. flex-shrink: 0;
  524. }
  525. .voice-input-btn:active {
  526. background: rgba(0, 0, 0, 0.05);
  527. }
  528. .voice-btn-icon {
  529. width: 40rpx;
  530. height: 40rpx;
  531. }
  532. /* 输入框包装器 */
  533. .input-wrapper {
  534. flex: 1;
  535. position: relative;
  536. background: #f5f5f5;
  537. border-radius: 40rpx;
  538. height: 80rpx;
  539. display: flex;
  540. align-items: center;
  541. transition: all 0.2s;
  542. overflow: hidden;
  543. min-width: 0;
  544. }
  545. /* 语音输入模式下的输入框包装器 */
  546. .voice-input-panel .input-wrapper {
  547. padding: 0;
  548. background: #f5f5f5;
  549. }
  550. /* 文字输入模式下的输入框包装器 */
  551. .text-input-panel .input-wrapper {
  552. padding: 0 30rpx;
  553. }
  554. .input-wrapper:active {
  555. background: #e8e8e8;
  556. }
  557. /* 语音输入按钮 */
  558. .voice-record-btn {
  559. width: 100%;
  560. height: 100%;
  561. background: transparent;
  562. border: none;
  563. border-radius: 40rpx;
  564. display: flex;
  565. flex-direction: column;
  566. align-items: center;
  567. justify-content: center;
  568. transition: all 0.2s;
  569. padding: 0;
  570. margin: 0;
  571. }
  572. .voice-record-btn:active {
  573. background: #e0e0e0;
  574. }
  575. .mic-icon {
  576. width: 36rpx;
  577. height: 36rpx;
  578. margin-bottom: 6rpx;
  579. }
  580. .voice-tip {
  581. font-size: 24rpx;
  582. color: #666666;
  583. }
  584. /* 文字输入框 */
  585. .chat-input {
  586. flex: 1;
  587. height: 100%;
  588. font-size: 32rpx;
  589. color: #000000;
  590. line-height: 80rpx;
  591. min-width: 0;
  592. }
  593. .input-placeholder {
  594. color: #999999;
  595. font-size: 30rpx;
  596. }
  597. .input-actions {
  598. position: absolute;
  599. right: 20rpx;
  600. top: 50%;
  601. transform: translateY(-50%);
  602. }
  603. .clear-btn {
  604. width: 40rpx;
  605. height: 40rpx;
  606. border: none;
  607. background: transparent;
  608. padding: 0;
  609. margin: 0;
  610. line-height: 1;
  611. border-radius: 50%;
  612. display: flex;
  613. align-items: center;
  614. justify-content: center;
  615. }
  616. .clear-btn:active {
  617. background: rgba(0, 0, 0, 0.05);
  618. }
  619. .clear-icon {
  620. width: 32rpx;
  621. height: 32rpx;
  622. }
  623. /* 更多按钮 */
  624. .more-btn {
  625. width: 80rpx;
  626. height: 80rpx;
  627. border-radius: 50%;
  628. border: none;
  629. background: transparent;
  630. display: flex;
  631. align-items: center;
  632. justify-content: center;
  633. transition: all 0.2s;
  634. padding: 0;
  635. margin: 0;
  636. line-height: 1;
  637. flex-shrink: 0;
  638. }
  639. .more-btn:active {
  640. background: rgba(0, 0, 0, 0.05);
  641. }
  642. .more-icon {
  643. width: 36rpx;
  644. height: 36rpx;
  645. }
  646. /* 发送按钮 */
  647. .send-btn {
  648. background: #07c160;
  649. width: 120rpx;
  650. border-radius: 40rpx;
  651. height: 80rpx;
  652. border: none;
  653. display: flex;
  654. align-items: center;
  655. justify-content: center;
  656. transition: all 0.2s;
  657. padding: 0;
  658. margin: 0;
  659. line-height: 1;
  660. flex-shrink: 0;
  661. }
  662. .send-btn:active {
  663. background: #06ad56;
  664. transform: scale(0.98);
  665. }
  666. .send-text {
  667. font-size: 28rpx;
  668. color: #ffffff;
  669. font-weight: 500;
  670. }
  671. /* ========== 多媒体选择面板 ========== */
  672. .media-action-sheet {
  673. position: fixed;
  674. top: 0;
  675. left: 0;
  676. right: 0;
  677. bottom: 0;
  678. background: rgba(0, 0, 0, 0.5);
  679. display: flex;
  680. align-items: flex-end;
  681. justify-content: center;
  682. z-index: 2000;
  683. animation: fadeIn 0.3s ease;
  684. }
  685. .media-sheet-content {
  686. width: 100%;
  687. background: #ffffff;
  688. border-radius: 40rpx 40rpx 0 0;
  689. padding: 40rpx 30rpx calc(80rpx + env(safe-area-inset-bottom));
  690. animation: slideUp 0.3s ease;
  691. box-sizing: border-box;
  692. }
  693. @keyframes slideUp {
  694. from {
  695. transform: translateY(100%);
  696. }
  697. to {
  698. transform: translateY(0);
  699. }
  700. }
  701. .media-sheet-header {
  702. display: flex;
  703. align-items: center;
  704. justify-content: space-between;
  705. margin-bottom: 40rpx;
  706. padding: 0 10rpx;
  707. }
  708. .sheet-title {
  709. font-size: 32rpx;
  710. font-weight: 600;
  711. color: #000000;
  712. }
  713. .close-sheet-btn {
  714. width: 60rpx;
  715. height: 60rpx;
  716. border-radius: 50%;
  717. border: none;
  718. background: #f5f5f5;
  719. display: flex;
  720. align-items: center;
  721. justify-content: center;
  722. padding: 0;
  723. margin: 0;
  724. line-height: 1;
  725. }
  726. .close-sheet-btn image {
  727. width: 24rpx;
  728. height: 24rpx;
  729. }
  730. .media-options-grid {
  731. display: grid;
  732. grid-template-columns: repeat(4, 1fr);
  733. gap: 40rpx 30rpx;
  734. margin-bottom: 40rpx;
  735. }
  736. .media-option {
  737. display: flex;
  738. flex-direction: column;
  739. align-items: center;
  740. border: none;
  741. background: transparent;
  742. padding: 0;
  743. margin: 0;
  744. line-height: 1;
  745. }
  746. .option-icon-box {
  747. width: 120rpx;
  748. height: 120rpx;
  749. border-radius: 30rpx;
  750. display: flex;
  751. align-items: center;
  752. justify-content: center;
  753. margin-bottom: 16rpx;
  754. transition: transform 0.2s;
  755. }
  756. .media-option:active .option-icon-box {
  757. transform: scale(0.95);
  758. }
  759. .photo-icon {
  760. background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  761. }
  762. .camera-icon {
  763. background: linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%);
  764. }
  765. .video-icon {
  766. background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  767. }
  768. .audio-icon {
  769. background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
  770. }
  771. .file-icon {
  772. background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
  773. }
  774. .option-icon-box image {
  775. width: 60rpx;
  776. height: 60rpx;
  777. }
  778. .option-text {
  779. font-size: 26rpx;
  780. color: #666666;
  781. }
  782. .sheet-bottom {
  783. text-align: center;
  784. }
  785. .bottom-tip {
  786. font-size: 24rpx;
  787. color: #999999;
  788. }
  789. /* ========== 录音模态框 ========== */
  790. .recording-modal {
  791. position: fixed;
  792. top: 0;
  793. left: 0;
  794. right: 0;
  795. bottom: 0;
  796. background: rgba(0, 0, 0, 0.7);
  797. display: flex;
  798. align-items: center;
  799. justify-content: center;
  800. z-index: 3000;
  801. animation: fadeIn 0.2s ease;
  802. }
  803. .recording-box {
  804. background: rgba(0, 0, 0, 0.8);
  805. border-radius: 40rpx;
  806. padding: 60rpx 80rpx;
  807. display: flex;
  808. flex-direction: column;
  809. align-items: center;
  810. min-width: 400rpx;
  811. }
  812. .recording-box.is-canceling {
  813. background: rgba(0, 0, 0, 0.9);
  814. }
  815. .recording-icon {
  816. width: 160rpx;
  817. height: 160rpx;
  818. margin-bottom: 40rpx;
  819. display: flex;
  820. align-items: center;
  821. justify-content: center;
  822. }
  823. .recording-mic-icon {
  824. width: 120rpx;
  825. height: 120rpx;
  826. }
  827. .recording-tip {
  828. font-size: 32rpx;
  829. color: #ffffff;
  830. font-weight: 500;
  831. margin-bottom: 30rpx;
  832. text-align: center;
  833. }
  834. .recording-box.is-canceling .recording-tip {
  835. color: #ff4444;
  836. }
  837. .recording-meter {
  838. display: flex;
  839. flex-direction: column;
  840. align-items: center;
  841. }
  842. .recording-waves {
  843. display: flex;
  844. align-items: flex-end;
  845. height: 60rpx;
  846. margin-bottom: 20rpx;
  847. }
  848. .recording-wave {
  849. width: 8rpx;
  850. margin: 0 4rpx;
  851. background: #07c160;
  852. border-radius: 4rpx;
  853. animation: recordingWave 1.2s ease-in-out infinite;
  854. }
  855. .recording-box.is-canceling .recording-wave {
  856. background: #ff4444;
  857. }
  858. @keyframes recordingWave {
  859. 0%, 100% {
  860. height: 20rpx;
  861. }
  862. 50% {
  863. height: 60rpx;
  864. }
  865. }
  866. .recording-time {
  867. font-size: 36rpx;
  868. color: #ffffff;
  869. font-weight: bold;
  870. }
  871. /* 适配全面屏 */
  872. .safe-area-bottom {
  873. padding-bottom: env(safe-area-inset-bottom);
  874. }