style.scss 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803
  1. page{
  2. }
  3. // 顶部导航栏样式
  4. .top-navbar {
  5. background: #fff;
  6. padding: 20rpx 0;
  7. .navbar-content {
  8. display: flex;
  9. align-items: center;
  10. justify-content: space-between;
  11. padding: 80rpx 30rpx 60rpx 30rpx;
  12. height: 80rpx;
  13. .navbar-left {
  14. display: flex;
  15. align-items: center;
  16. justify-content: center;
  17. }
  18. .navbar-center {
  19. flex: 1;
  20. display: flex;
  21. justify-content: flex-start;
  22. margin-left: 40rpx;
  23. .user-info {
  24. display: flex;
  25. align-items: center;
  26. .avatar-container {
  27. position: relative;
  28. margin-right: 20rpx;
  29. .user-avatar {
  30. width: 70rpx;
  31. height: 70rpx;
  32. border-radius: 50%;
  33. }
  34. .status-indicator {
  35. position: absolute;
  36. bottom: 2rpx;
  37. right: 2rpx;
  38. width: 16rpx;
  39. height: 16rpx;
  40. background: #4CAF50;
  41. border-radius: 50%;
  42. border: 2rpx solid #fff;
  43. }
  44. }
  45. .user-details {
  46. .user-name {
  47. color: rgba(29, 33, 34, 1);
  48. font-family: DM Sans;
  49. font-size: 16px;
  50. font-weight: 400;
  51. line-height: 18px;
  52. letter-spacing: 0px;
  53. text-align: left;
  54. margin-bottom: 4rpx;
  55. }
  56. .user-title {
  57. color: rgba(153, 153, 153, 1);
  58. font-family: DM Sans;
  59. font-size: 12px;
  60. font-weight: 400;
  61. line-height: 16px;
  62. letter-spacing: 0px;
  63. text-align: left;
  64. }
  65. }
  66. }
  67. }
  68. .navbar-right {
  69. width: 60rpx;
  70. height: 60rpx;
  71. display: flex;
  72. align-items: center;
  73. justify-content: center;
  74. }
  75. }
  76. }
  77. @font-face {font-family:"HMfont-home";src:url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');}
  78. .icon {
  79. font-family:"HMfont-home" !important;
  80. font-size:56upx;
  81. font-style:normal;
  82. color: #00B88F;
  83. &.biaoqing:before {
  84. content: "\e797";
  85. }
  86. &.jianpan:before {
  87. content: "\e7b2";
  88. }
  89. &.yuyin:before {
  90. content: "\e805";
  91. }
  92. &.tupian:before {
  93. content: "\e639";
  94. }
  95. &.chehui:before {
  96. content: "\e904";
  97. }
  98. &.luyin:before {
  99. content: "\e905";
  100. }
  101. &.luyin2:before {
  102. content: "\e677";
  103. }
  104. &.other-voice:before {
  105. content: "\e667";
  106. }
  107. &.my-voice:before {
  108. content: "\e906";
  109. }
  110. &.hongbao:before {
  111. content: "\e626";
  112. }
  113. &.tupian2:before {
  114. content: "\e674";
  115. }
  116. &.paizhao:before {
  117. content: "\e63e";
  118. }
  119. &.add:before {
  120. content: "\e655";
  121. }
  122. &.close:before {
  123. content: "\e607";
  124. }
  125. &.to:before {
  126. content: "\e675";
  127. }
  128. }
  129. .hidden{
  130. display: none !important;
  131. }
  132. .popup-layer{
  133. &.showLayer{transform: translate3d(0,-42vw,0);}
  134. transition: all .15s linear;
  135. width: 100%;
  136. height: 200vw;
  137. padding: 20upx 2%;
  138. background-color: #FFFFFF;
  139. position: fixed;
  140. z-index: 20;
  141. top: 100%;
  142. .emoji-swiper{
  143. height: 40vw;
  144. swiper-item{
  145. display: flex;
  146. align-content: flex-start;
  147. flex-wrap: wrap;
  148. view{
  149. width: 12vw;
  150. height: 12vw;
  151. display: flex;
  152. justify-content: center;
  153. align-items: center;
  154. image{
  155. width: 8.4vw;
  156. height: 8.4vw;
  157. }
  158. }
  159. }
  160. }
  161. .more-layer{
  162. width: 100%;
  163. height: 200vw;
  164. .list{
  165. width: 100%;
  166. display: flex;
  167. flex-wrap: wrap;
  168. .box{
  169. width: 18vw;
  170. // height: 18vw;
  171. border-radius: 20upx;
  172. background-color: #FFFFFF;
  173. display: flex;
  174. justify-content: center;
  175. align-items: center;
  176. margin: 0 3vw 2vw 3vw;
  177. .icon{
  178. font-size: 70upx;
  179. }
  180. }
  181. }
  182. }
  183. }
  184. .input-box{
  185. width: 100%;
  186. min-height: 100upx;
  187. padding: 0 1%;
  188. background-color: #FFFFFF;
  189. display: flex;
  190. position: fixed;
  191. z-index: 20;
  192. bottom:-2upx;
  193. padding-bottom: 20rpx;
  194. &.showLayer{transform: translate3d(0,-42vw,0);}
  195. transition: all .15s linear;
  196. // border-bottom: solid 1upx #ddd;
  197. .voice,.more{
  198. flex-shrink: 0;
  199. width: 90upx;
  200. height: 100upx;
  201. display: flex;
  202. justify-content: center;
  203. align-items: center;
  204. }
  205. .send{
  206. //H5发送按钮左边距
  207. /* #ifdef H5 */
  208. margin-left: 20upx;
  209. /* #endif */
  210. flex-shrink: 0;
  211. width: 100upx;
  212. height: 100upx;
  213. display: flex;
  214. align-items: center;
  215. .btn{
  216. width: 90upx;
  217. height: 56upx;
  218. display: flex;
  219. justify-content: center;
  220. align-items: center;
  221. background:#00B88F;
  222. color: #fff;
  223. border-radius: 6upx;
  224. font-size: 24upx;
  225. }
  226. }
  227. .textbox{
  228. width: 100%;
  229. min-height: 70upx;
  230. margin-top: 15upx;
  231. .voice-mode{
  232. width: calc(100% - 2upx);
  233. height: 68upx;
  234. border-radius: 70upx;
  235. border:solid 1upx #00B88F;
  236. display: flex;
  237. justify-content: center;
  238. align-items: center;
  239. font-size: 28upx;
  240. background-color: #00B88F;
  241. color: #FFFFFF;
  242. &.recording{
  243. background-color: #00B88F;
  244. }
  245. }
  246. .text-mode{
  247. width: 100%;
  248. min-height: 70upx;
  249. display: flex;
  250. background: #F5F5F5;
  251. border-radius: 8px;
  252. .box{
  253. width: 100%;
  254. padding-left: 30upx;
  255. min-height: 70upx;
  256. display: flex;
  257. align-items: center;
  258. textarea{
  259. width: 100%;
  260. }
  261. }
  262. .changgui{
  263. flex-shrink: 0;
  264. width: 80upx;
  265. padding-left: 10upx;
  266. height: 70upx;
  267. display: flex;
  268. justify-content: center;
  269. align-items: center;
  270. }
  271. .em{
  272. flex-shrink: 0;
  273. width: 80upx;
  274. padding-left: 10upx;
  275. height: 70upx;
  276. display: flex;
  277. justify-content: center;
  278. align-items: center;
  279. }
  280. }
  281. }
  282. }
  283. .record{
  284. width: 40vw;
  285. height: 40vw;
  286. position: fixed;
  287. top: 55%;
  288. left: 30%;
  289. background-color: rgba(0,0,0,.6);
  290. border-radius: 20upx;
  291. .ing{
  292. width: 100%;
  293. height: 30vw;
  294. display: flex;
  295. justify-content: center;
  296. align-items: center;
  297. // 模拟录音音效动画
  298. @keyframes volatility {
  299. 0% {background-position: 0% 130%;}
  300. 20% {background-position: 0% 150%;}
  301. 30% {background-position: 0% 155%;}
  302. 40% {background-position: 0% 150%;}
  303. 50% {background-position: 0% 145%;}
  304. 70% {background-position: 0% 150%;}
  305. 80% {background-position: 0% 155%;}
  306. 90% {background-position: 0% 140%;}
  307. 100% {background-position: 0% 135%;}
  308. }
  309. .icon{
  310. background-image:linear-gradient(to bottom,#f09b37,#fff 50%);
  311. background-size:100% 200%;
  312. animation: volatility 1.5s ease-in-out -1.5s infinite alternate;
  313. -webkit-background-clip:text;
  314. -webkit-text-fill-color:transparent;
  315. font-size: 150upx;
  316. color: #f09b37;
  317. }
  318. }
  319. .cancel{
  320. width: 100%;
  321. height: 30vw;
  322. display: flex;
  323. justify-content: center;
  324. align-items: center;
  325. .icon{
  326. color: #fff;
  327. font-size: 150upx;
  328. }
  329. }
  330. .tis{
  331. width: 100%;
  332. height: 10vw;
  333. display: flex;
  334. justify-content: center;
  335. font-size: 28upx;
  336. color: #fff;
  337. &.change{
  338. color: #f09b37;
  339. }
  340. }
  341. }
  342. .content{
  343. width: 100%;
  344. .msg-list{
  345. width: 96%;
  346. padding: 0 2%;
  347. position: absolute;
  348. top: 0;
  349. bottom: 100upx;
  350. .loading{
  351. //loading动画
  352. display: flex;
  353. justify-content: center;
  354. @keyframes stretchdelay {
  355. 0%, 40%, 100% {
  356. transform: scaleY(0.6);
  357. }
  358. 20% {
  359. transform: scaleY(1.0);
  360. }
  361. }
  362. .spinner {
  363. margin: 20upx 0;
  364. width: 60upx;
  365. height: 100upx;
  366. display: flex;
  367. align-items: center;
  368. justify-content: space-between;
  369. view {
  370. background-color: #f06c7a;
  371. height: 50upx;
  372. width: 6upx;
  373. border-radius: 6upx;
  374. animation: stretchdelay 1.2s infinite ease-in-out;
  375. }
  376. .rect2 {
  377. animation-delay: -1.1s;
  378. }
  379. .rect3 {
  380. animation-delay: -1.0s;
  381. }
  382. .rect4 {
  383. animation-delay: -0.9s;
  384. }
  385. .rect5 {
  386. animation-delay: -0.8s;
  387. }
  388. }
  389. }
  390. .row{
  391. .system{
  392. display: flex;
  393. justify-content: center;
  394. view{
  395. padding: 0 30upx;
  396. height: 50upx;
  397. display: flex;
  398. justify-content: center;
  399. align-items: center;
  400. background-color: #c9c9c9;
  401. color: #fff;
  402. font-size: 24upx;
  403. border-radius: 40upx;
  404. }
  405. .red-envelope{
  406. image{
  407. margin-right: 5upx;
  408. width: 30upx;
  409. height: 30upx;
  410. }
  411. }
  412. }
  413. &:first-child{
  414. margin-top: 20upx;
  415. }
  416. padding: 20upx 0;
  417. .my .left,.other .right{
  418. width: 100%;
  419. display: flex;
  420. .bubble{
  421. max-width: 70%;
  422. min-height: 50upx;
  423. border-radius: 10upx;
  424. padding: 15upx 20upx;
  425. display: flex;
  426. align-items: center;
  427. font-size: 32upx;
  428. word-break: break-word;
  429. &.img{
  430. background-color: transparent;
  431. padding:0;
  432. overflow: hidden;
  433. image{
  434. max-width: 350upx;
  435. max-height: 350upx;
  436. }
  437. }
  438. &.red-envelope{
  439. background-color: transparent;
  440. padding:0;
  441. overflow: hidden;
  442. position: relative;
  443. justify-content: center;
  444. align-items: flex-start;
  445. image{
  446. width: 250upx;
  447. height: 313upx;
  448. }
  449. .tis{
  450. position: absolute;
  451. top: 6%;
  452. font-size: 26upx;
  453. color: #9c1712;
  454. }
  455. .blessing{
  456. position: absolute;
  457. bottom: 14%;
  458. color: #e9b874;
  459. width: 80%;
  460. text-align: center;
  461. overflow: hidden;
  462. // 最多两行
  463. display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;
  464. }
  465. }
  466. &.voice{
  467. .icon{
  468. font-size: 40upx;
  469. display: flex;
  470. align-items: center;
  471. }
  472. .icon:after
  473. {
  474. content:" ";
  475. width: 53upx;
  476. height: 53upx;
  477. border-radius: 100%;
  478. position: absolute;
  479. box-sizing: border-box;
  480. }
  481. .length{
  482. font-size: 28upx;
  483. }
  484. }
  485. }
  486. }
  487. .my .right,.other .left{
  488. flex-shrink: 0;
  489. width: 80upx;
  490. height: 80upx;
  491. image{
  492. width: 80upx;
  493. height: 80upx;
  494. border-radius: 10upx;
  495. }
  496. }
  497. .my{
  498. width: 100%;
  499. display: flex;
  500. justify-content: flex-end;
  501. .left{
  502. min-height: 80upx;
  503. align-items: center;
  504. justify-content: flex-end;
  505. .bubble{
  506. background-color: #f06c7a;
  507. color: #fff;
  508. &.voice{
  509. .icon{
  510. color: #fff;
  511. }
  512. .length{
  513. margin-right: 20upx;
  514. }
  515. }
  516. &.play{
  517. @keyframes my-play {
  518. 0% {
  519. transform: translateX(80%);
  520. }
  521. 100% {
  522. transform: translateX(0%);
  523. }
  524. }
  525. .icon:after
  526. {
  527. border-left: solid 10upx rgba(240,108,122,.5);
  528. animation: my-play 5s linear infinite;
  529. }
  530. }
  531. }
  532. }
  533. .right{
  534. margin-left: 15upx;
  535. }
  536. }
  537. .other{
  538. width: 100%;
  539. display: flex;
  540. .left{
  541. margin-right: 15upx;
  542. }
  543. .right{
  544. flex-wrap: wrap;
  545. .username{
  546. width: 100%;
  547. height: 45upx;
  548. font-size: 24upx;
  549. color: #999;
  550. display: flex;
  551. .name{
  552. margin-right: 50upx;
  553. }
  554. }
  555. .bubble{
  556. background-color: #fff;
  557. color: #333;
  558. &.voice{
  559. .icon{
  560. color: #333;
  561. }
  562. .length{
  563. margin-left: 20upx;
  564. }
  565. }
  566. &.play{
  567. @keyframes other-play {
  568. 0% {
  569. transform: translateX(-80%);
  570. }
  571. 100% {
  572. transform: translateX(0%);
  573. }
  574. }
  575. .icon:after
  576. {
  577. border-right: solid 10upx rgba(255,255,255,.8);
  578. animation: other-play 1s linear infinite;
  579. }
  580. }
  581. }
  582. }
  583. }
  584. }
  585. }
  586. }
  587. .windows{
  588. .mask{
  589. position: fixed;
  590. top: 100%;
  591. width: 100%;
  592. height: 100%;
  593. z-index: 1000;
  594. background-color: rgba(0,0,0,.6);
  595. opacity: 0;
  596. transition: opacity .2s ease-out;
  597. }
  598. .layer{
  599. position: fixed;
  600. width: 80%;
  601. height: 70%;
  602. left: 10%;
  603. z-index: 1001;
  604. border-radius: 20upx;
  605. overflow: hidden;
  606. top:100%;
  607. transform: scale3d(.5,.5,1);
  608. transition: all .2s ease-out;
  609. }
  610. &.show{
  611. display: block;
  612. .mask{
  613. top: 0;
  614. opacity: 1;
  615. }
  616. .layer{
  617. transform: translate3d(0,-85vh,0) scale3d(1,1,1);
  618. }
  619. }
  620. &.hide{
  621. display: block;
  622. .mask{
  623. top: 0;
  624. opacity: 0;
  625. }
  626. .layer{
  627. //transform: translate3d(0,-85vh,0) scale3d(.5,.5,1);
  628. }
  629. }
  630. }
  631. .open-redenvelope{
  632. width: 100%;
  633. height: 70vh;
  634. background-color: #cf3c35;
  635. position: relative;
  636. .top{
  637. width: 100%;
  638. background-color: #fe5454;
  639. display: flex;
  640. justify-content: center;
  641. flex-wrap: wrap;
  642. border-radius: 0 0 100% 100%;
  643. box-shadow: inset 0 -20upx 0 #9c1712;
  644. .close-btn{
  645. width: 100%;
  646. height: 80upx;
  647. display: flex;
  648. justify-content: flex-end;
  649. margin-bottom: 30upx;
  650. .icon{
  651. color: #9c1712;
  652. margin-top: 10upx;
  653. margin-right: 10upx;
  654. }
  655. }
  656. image{
  657. width: 130upx;
  658. height: 130upx;
  659. border: solid 12upx #cf3c35;
  660. border-radius: 100%;
  661. margin-bottom: -65upx;
  662. }
  663. margin-bottom: 65upx;
  664. }
  665. .from,.blessing,.money,.showDetails{
  666. width: 90%;
  667. padding: 5upx 5%;
  668. display: flex;
  669. justify-content: center;
  670. font-size: 32upx;
  671. color: #fff;
  672. }
  673. .money{
  674. font-size: 100upx;
  675. color: #f8d757;
  676. display: flex;
  677. padding-top: 20upx;
  678. }
  679. .showDetails{
  680. position: absolute;
  681. bottom: 20upx;
  682. align-items: center;
  683. font-size: 28upx;
  684. color: #f8d757;
  685. .icon{
  686. font-size: 26upx;
  687. color: #f8d757;
  688. }
  689. }
  690. }
  691. // 交换手机号弹窗样式
  692. .phone-exchange-popup {
  693. border-radius: 24rpx;
  694. overflow: hidden;
  695. .phone-exchange-header {
  696. position: relative;
  697. height: 280rpx;
  698. overflow: hidden;
  699. background: #ff6b35; // 备用背景色
  700. .phone-exchange-bg {
  701. width: 100%;
  702. height: 100%;
  703. object-fit: cover;
  704. object-position: center;
  705. display: block;
  706. }
  707. .phone-exchange-overlay {
  708. position: absolute;
  709. top: 0;
  710. left: 0;
  711. right: 0;
  712. bottom: 0;
  713. background: rgba(255, 255, 255, 0.1);
  714. display: flex;
  715. align-items: center;
  716. justify-content: center;
  717. .phone-number-mask {
  718. background: rgba(255, 255, 255, 0.8);
  719. padding: 20rpx 40rpx;
  720. border-radius: 12rpx;
  721. font-size: 32rpx;
  722. font-weight: bold;
  723. color: #333;
  724. }
  725. }
  726. }
  727. .phone-exchange-content {
  728. padding: 40rpx 30rpx;
  729. text-align: left;
  730. border-bottom: 0.5px solid rgba(153, 153, 153, 0.2);
  731. .phone-exchange-title {
  732. color: rgba(88, 88, 88, 1);
  733. font-family: DM Sans;
  734. font-size: 16px;
  735. font-weight: 400;
  736. line-height: 16px;
  737. letter-spacing: 0%;
  738. text-align: left;
  739. margin-bottom: 20rpx;
  740. }
  741. .phone-exchange-desc {
  742. color: rgba(158, 158, 158, 1);
  743. font-family: DM Sans;
  744. font-size: 14px;
  745. font-weight: 400;
  746. line-height: 20px;
  747. letter-spacing: 0%;
  748. text-align: left;
  749. }
  750. }
  751. .phone-exchange-buttons {
  752. display: flex;
  753. padding: 0 30rpx 30rpx;
  754. gap: 20rpx;
  755. .phone-exchange-btn {
  756. flex: 1;
  757. height: 80rpx;
  758. display: flex;
  759. align-items: center;
  760. justify-content: center;
  761. border-radius: 12rpx;
  762. font-size: 18px;
  763. &.phone-exchange-btn-cancel {
  764. color: rgba(153, 153, 153, 0.5);
  765. }
  766. &.phone-exchange-btn-confirm {
  767. color: rgba(1, 107, 246, 1);
  768. }
  769. }
  770. }
  771. }