chat.wxss 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. .container.data-v-0a633310 {
  2. width: 100%;
  3. height: 100vh;
  4. background-color: #F4F5F7;
  5. display: flex;
  6. flex-direction: column;
  7. overflow: hidden;
  8. }
  9. /* 状态栏占位:高度由 JS 动态注入 */
  10. .status-bar.data-v-0a633310 {
  11. background: #FFF;
  12. flex-shrink: 0;
  13. }
  14. /* 导航栏 */
  15. .nav-bar.data-v-0a633310 {
  16. height: 100rpx;
  17. background: #FFF;
  18. display: flex;
  19. align-items: center;
  20. padding: 0 30rpx;
  21. border-bottom: 1rpx solid #F0F0F0;
  22. flex-shrink: 0;
  23. }
  24. .nav-bar .back-btn.data-v-0a633310 {
  25. width: 60rpx;
  26. display: flex;
  27. align-items: center;
  28. }
  29. .nav-bar .back-btn .back-arrow.data-v-0a633310 {
  30. font-size: 56rpx;
  31. color: #333;
  32. line-height: 1;
  33. margin-top: -6rpx;
  34. }
  35. .nav-bar .nav-center.data-v-0a633310 {
  36. flex: 1;
  37. display: flex;
  38. align-items: center;
  39. justify-content: center;
  40. gap: 12rpx;
  41. }
  42. .nav-bar .nav-center .nav-title-text.data-v-0a633310 {
  43. font-size: 32rpx;
  44. font-weight: bold;
  45. color: #1A1A1A;
  46. }
  47. .nav-bar .nav-center .online-dot.data-v-0a633310 {
  48. width: 14rpx;
  49. height: 14rpx;
  50. border-radius: 50%;
  51. background: #10B981;
  52. }
  53. .nav-bar .nav-right.data-v-0a633310 {
  54. width: 60rpx;
  55. }
  56. .chat-body.data-v-0a633310 {
  57. flex: 1;
  58. }
  59. .message-list.data-v-0a633310 {
  60. padding: 24rpx 30rpx 160rpx;
  61. }
  62. .tip-row.data-v-0a633310 {
  63. padding: 60rpx 0;
  64. text-align: center;
  65. }
  66. .tip-row .tip-text.data-v-0a633310 {
  67. font-size: 26rpx;
  68. color: #CCC;
  69. }
  70. .time-stamp-row.data-v-0a633310 {
  71. display: flex;
  72. justify-content: center;
  73. margin: 20rpx 0 30rpx;
  74. }
  75. .time-stamp.data-v-0a633310 {
  76. font-size: 22rpx;
  77. color: #BBB;
  78. background: rgba(0, 0, 0, 0.05);
  79. padding: 4rpx 18rpx;
  80. border-radius: 8rpx;
  81. }
  82. .msg-row.data-v-0a633310 {
  83. display: flex;
  84. margin-bottom: 44rpx;
  85. }
  86. .msg-row .avatar.data-v-0a633310 {
  87. width: 80rpx;
  88. height: 80rpx;
  89. border-radius: 50%;
  90. flex-shrink: 0;
  91. }
  92. .msg-row.left .avatar.data-v-0a633310 {
  93. margin-right: 18rpx;
  94. }
  95. .msg-row.right.data-v-0a633310 {
  96. justify-content: flex-end;
  97. }
  98. .msg-row.right .avatar.data-v-0a633310 {
  99. margin-left: 18rpx;
  100. }
  101. .msg-content.data-v-0a633310 {
  102. max-width: 520rpx;
  103. border-radius: 16rpx;
  104. padding: 22rpx 26rpx;
  105. font-size: 30rpx;
  106. line-height: 1.6;
  107. word-break: break-all;
  108. }
  109. .text-msg.data-v-0a633310 {
  110. background: #FFF;
  111. color: #333;
  112. }
  113. .text-msg.shadow.data-v-0a633310 {
  114. box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.04);
  115. }
  116. .text-msg.user-bubble.data-v-0a633310 {
  117. background: #FFB700;
  118. color: #FFF;
  119. }
  120. .img-msg.data-v-0a633310 {
  121. padding: 8rpx;
  122. background: #FFF;
  123. border-radius: 12rpx;
  124. box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.06);
  125. }
  126. .img-msg .chat-img.data-v-0a633310 {
  127. width: 360rpx;
  128. border-radius: 8rpx;
  129. display: block;
  130. }
  131. .file-msg.data-v-0a633310 {
  132. display: flex;
  133. align-items: center;
  134. gap: 20rpx;
  135. background: #FFF;
  136. min-width: 300rpx;
  137. }
  138. .file-msg .file-icon-txt.data-v-0a633310 {
  139. font-size: 56rpx;
  140. flex-shrink: 0;
  141. }
  142. .file-msg .file-info.data-v-0a633310 {
  143. flex: 1;
  144. }
  145. .file-msg .file-info .file-name.data-v-0a633310 {
  146. display: block;
  147. font-size: 28rpx;
  148. color: #333;
  149. margin-bottom: 6rpx;
  150. word-break: break-all;
  151. }
  152. .file-msg .file-info .file-size.data-v-0a633310 {
  153. font-size: 22rpx;
  154. color: #999;
  155. }
  156. /* 订单卡片 */
  157. .deposit-card.data-v-0a633310 {
  158. background: #FFF;
  159. width: 500rpx;
  160. border-radius: 20rpx;
  161. overflow: hidden;
  162. padding: 0;
  163. box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
  164. }
  165. .deposit-card .deposit-header.data-v-0a633310 {
  166. padding: 28rpx 28rpx 16rpx;
  167. display: flex;
  168. justify-content: space-between;
  169. align-items: flex-start;
  170. }
  171. .deposit-card .deposit-header .d-header-left.data-v-0a633310 {
  172. flex: 1;
  173. }
  174. .deposit-card .deposit-header .d-header-left .d-title.data-v-0a633310 {
  175. font-size: 32rpx;
  176. font-weight: bold;
  177. color: #333;
  178. }
  179. .deposit-card .deposit-header .d-header-left .d-subtitle.data-v-0a633310 {
  180. font-size: 22rpx;
  181. color: #BBB;
  182. margin-top: 6rpx;
  183. display: block;
  184. }
  185. .deposit-card .deposit-header .d-countdown.data-v-0a633310 {
  186. display: flex;
  187. gap: 4rpx;
  188. align-items: center;
  189. justify-content: flex-end;
  190. }
  191. .deposit-card .deposit-header .d-countdown .c-time.data-v-0a633310 {
  192. color: #FF9500;
  193. font-size: 26rpx;
  194. font-weight: bold;
  195. }
  196. .deposit-card .deposit-header .d-countdown .c-txt.data-v-0a633310 {
  197. color: #999;
  198. font-size: 22rpx;
  199. }
  200. .deposit-card .deposit-header .d-paid-tag.data-v-0a633310 {
  201. color: #52C41A;
  202. font-size: 24rpx;
  203. font-weight: bold;
  204. }
  205. .deposit-card .deposit-body.data-v-0a633310 {
  206. padding: 8rpx 28rpx 24rpx;
  207. }
  208. .deposit-card .deposit-body .d-row.data-v-0a633310 {
  209. margin-bottom: 10rpx;
  210. font-size: 26rpx;
  211. display: flex;
  212. }
  213. .deposit-card .deposit-body .d-row .label.data-v-0a633310 {
  214. color: #AAA;
  215. width: 140rpx;
  216. }
  217. .deposit-card .deposit-body .d-row .val.data-v-0a633310 {
  218. color: #333;
  219. flex: 1;
  220. }
  221. .deposit-card .deposit-body .d-row .price.data-v-0a633310 {
  222. color: #FF3B30;
  223. font-size: 34rpx;
  224. font-weight: bold;
  225. }
  226. .deposit-card .deposit-action.data-v-0a633310 {
  227. margin: 0 28rpx 28rpx;
  228. height: 76rpx;
  229. font-size: 28rpx;
  230. background: #FFB700;
  231. color: #FFF;
  232. border-radius: 38rpx;
  233. display: flex;
  234. align-items: center;
  235. justify-content: center;
  236. font-weight: bold;
  237. }
  238. .deposit-card .deposit-action.paid.data-v-0a633310 {
  239. background: #EEE;
  240. color: #999;
  241. }
  242. /* 招聘初始卡片(静态展示用) */
  243. .job-card-msg.data-v-0a633310 {
  244. background: #FFF;
  245. border-radius: 20rpx;
  246. width: 500rpx;
  247. padding: 30rpx;
  248. box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.04);
  249. }
  250. .job-card-msg .card-header.data-v-0a633310 {
  251. display: flex;
  252. justify-content: space-between;
  253. margin-bottom: 20rpx;
  254. }
  255. .job-card-msg .card-header .ch-left.data-v-0a633310 {
  256. display: flex;
  257. align-items: center;
  258. gap: 10rpx;
  259. }
  260. .job-card-msg .card-header .ch-left .card-title.data-v-0a633310 {
  261. font-weight: bold;
  262. font-size: 34rpx;
  263. }
  264. .job-card-msg .card-header .ch-left .urgent-tag.data-v-0a633310 {
  265. border: 1rpx solid #FF4D4F;
  266. color: #FF4D4F;
  267. font-size: 20rpx;
  268. padding: 2rpx 10rpx;
  269. border-radius: 6rpx;
  270. }
  271. .job-card-msg .card-header .card-salary.data-v-0a633310 {
  272. color: #1F6CFF;
  273. font-weight: bold;
  274. font-size: 32rpx;
  275. }
  276. .job-card-msg .card-tags.data-v-0a633310 {
  277. display: flex;
  278. gap: 12rpx;
  279. margin-bottom: 24rpx;
  280. }
  281. .job-card-msg .card-tags .c-tag.data-v-0a633310 {
  282. background: #F5F7FA;
  283. color: #888;
  284. font-size: 22rpx;
  285. padding: 6rpx 16rpx;
  286. border-radius: 8rpx;
  287. }
  288. .job-card-msg .card-meta.data-v-0a633310 {
  289. display: flex;
  290. flex-direction: column;
  291. gap: 10rpx;
  292. margin-bottom: 24rpx;
  293. }
  294. .job-card-msg .card-meta .m-item.data-v-0a633310 {
  295. display: flex;
  296. align-items: center;
  297. gap: 10rpx;
  298. }
  299. .job-card-msg .card-meta .m-item .m-icon.data-v-0a633310 {
  300. width: 24rpx;
  301. height: 24rpx;
  302. opacity: 0.4;
  303. }
  304. .job-card-msg .card-meta .m-item text.data-v-0a633310 {
  305. font-size: 24rpx;
  306. color: #666;
  307. }
  308. .job-card-msg .card-company.data-v-0a633310 {
  309. display: flex;
  310. align-items: center;
  311. border-top: 1rpx solid #F5F5F5;
  312. padding-top: 24rpx;
  313. }
  314. .job-card-msg .card-company .c-logo.data-v-0a633310 {
  315. width: 80rpx;
  316. height: 80rpx;
  317. border-radius: 12rpx;
  318. margin-right: 16rpx;
  319. }
  320. .job-card-msg .card-company .c-info.data-v-0a633310 {
  321. flex: 1;
  322. display: flex;
  323. align-items: center;
  324. gap: 8rpx;
  325. }
  326. .job-card-msg .card-company .c-info .c-name.data-v-0a633310 {
  327. font-size: 28rpx;
  328. font-weight: bold;
  329. }
  330. .job-card-msg .card-company .c-info .v-icon.data-v-0a633310 {
  331. width: 28rpx;
  332. height: 28rpx;
  333. }
  334. .job-card-msg .card-company .c-loc.data-v-0a633310 {
  335. font-size: 24rpx;
  336. color: #999;
  337. }
  338. /* 测评初始卡片 */
  339. .assessment-card-msg.data-v-0a633310 {
  340. background: #FFF;
  341. width: 480rpx;
  342. padding: 24rpx;
  343. display: flex;
  344. box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.04);
  345. border-radius: 16rpx;
  346. }
  347. .assessment-card-msg .card-left.data-v-0a633310 {
  348. width: 140rpx;
  349. height: 140rpx;
  350. margin-right: 20rpx;
  351. }
  352. .assessment-card-msg .card-left .a-cover.data-v-0a633310 {
  353. width: 100%;
  354. height: 100%;
  355. border-radius: 12rpx;
  356. }
  357. .assessment-card-msg .card-right.data-v-0a633310 {
  358. flex: 1;
  359. display: flex;
  360. flex-direction: column;
  361. justify-content: space-between;
  362. }
  363. .assessment-card-msg .card-right .a-title.data-v-0a633310 {
  364. font-weight: bold;
  365. font-size: 30rpx;
  366. color: #1A1A1A;
  367. }
  368. .assessment-card-msg .card-right .a-tags.data-v-0a633310 {
  369. display: flex;
  370. gap: 10rpx;
  371. flex-wrap: wrap;
  372. }
  373. .assessment-card-msg .card-right .a-tags .a-tag.data-v-0a633310 {
  374. font-size: 20rpx;
  375. color: #999;
  376. background: #F5F7FA;
  377. padding: 4rpx 12rpx;
  378. border-radius: 6rpx;
  379. }
  380. .assessment-card-msg .card-right .a-price.data-v-0a633310 {
  381. color: #FF4D4F;
  382. font-weight: bold;
  383. font-size: 32rpx;
  384. }
  385. /* 培训报名初始卡片 */
  386. .training-reg-card.data-v-0a633310 {
  387. background: #FFF;
  388. width: 480rpx;
  389. padding: 30rpx;
  390. border-radius: 20rpx;
  391. }
  392. .training-reg-card .t-card-header.data-v-0a633310 {
  393. margin-bottom: 24rpx;
  394. }
  395. .training-reg-card .t-card-header .t-card-title.data-v-0a633310 {
  396. font-weight: bold;
  397. font-size: 32rpx;
  398. color: #1A1A1A;
  399. display: block;
  400. margin-bottom: 8rpx;
  401. }
  402. .training-reg-card .t-card-header .t-card-subtitle.data-v-0a633310 {
  403. font-size: 24rpx;
  404. color: #999;
  405. }
  406. .training-reg-card .t-card-body.data-v-0a633310 {
  407. margin-bottom: 30rpx;
  408. }
  409. .training-reg-card .t-card-body .t-item.data-v-0a633310 {
  410. display: flex;
  411. font-size: 26rpx;
  412. margin-bottom: 10rpx;
  413. }
  414. .training-reg-card .t-card-body .t-item .t-label.data-v-0a633310 {
  415. color: #888;
  416. width: 140rpx;
  417. }
  418. .training-reg-card .t-card-body .t-item .t-val.data-v-0a633310 {
  419. color: #333;
  420. }
  421. .training-reg-card .t-card-footer .reg-btn.data-v-0a633310 {
  422. width: 100%;
  423. height: 72rpx;
  424. line-height: 72rpx;
  425. background: #1F6CFF;
  426. color: #FFF;
  427. border-radius: 36rpx;
  428. font-size: 28rpx;
  429. font-weight: bold;
  430. }
  431. .training-reg-card .t-card-footer .reg-btn.data-v-0a633310::after {
  432. border: none;
  433. }
  434. /* API 推送的岗位卡片(客服消息循环中使用)*/
  435. .api-job-card.data-v-0a633310 {
  436. background: #FFF;
  437. width: 460rpx;
  438. padding: 28rpx;
  439. border-radius: 16rpx;
  440. }
  441. .api-job-card .jc-header.data-v-0a633310 {
  442. display: flex;
  443. justify-content: space-between;
  444. align-items: center;
  445. margin-bottom: 12rpx;
  446. }
  447. .api-job-card .jc-header .jc-title.data-v-0a633310 {
  448. font-size: 30rpx;
  449. font-weight: bold;
  450. color: #1A1A1A;
  451. flex: 1;
  452. }
  453. .api-job-card .jc-header .jc-salary.data-v-0a633310 {
  454. font-size: 28rpx;
  455. color: #1F6CFF;
  456. font-weight: bold;
  457. }
  458. .api-job-card .jc-city.data-v-0a633310 {
  459. font-size: 24rpx;
  460. color: #888;
  461. }
  462. /* 系统消息 */
  463. .system-msg.data-v-0a633310 {
  464. width: 100%;
  465. text-align: center;
  466. font-size: 24rpx;
  467. color: #BBB;
  468. padding: 8rpx 20rpx;
  469. background: rgba(0, 0, 0, 0.04);
  470. border-radius: 8rpx;
  471. }
  472. /* 底部输入栏 */
  473. .footer-wrap.data-v-0a633310 {
  474. position: fixed;
  475. bottom: 0;
  476. left: 0;
  477. right: 0;
  478. background: #FFF;
  479. border-top: 1rpx solid #EEE;
  480. padding-bottom: env(safe-area-inset-bottom);
  481. z-index: 1001;
  482. }
  483. .input-bar.data-v-0a633310 {
  484. height: 120rpx;
  485. display: flex;
  486. align-items: center;
  487. padding: 0 24rpx;
  488. gap: 20rpx;
  489. }
  490. .input-bar .bar-icon.data-v-0a633310 {
  491. width: 60rpx;
  492. height: 60rpx;
  493. transition: transform 0.2s;
  494. }
  495. .input-bar .bar-icon.active.data-v-0a633310 {
  496. transform: scale(1.1);
  497. }
  498. .input-bar .center-area.data-v-0a633310 {
  499. flex: 1;
  500. }
  501. .input-bar .center-area .chat-input.data-v-0a633310 {
  502. background: #F7F8FA;
  503. height: 80rpx;
  504. border-radius: 12rpx;
  505. border: 1rpx solid #EEE;
  506. padding: 0 24rpx;
  507. font-size: 28rpx;
  508. }
  509. .input-bar .center-area .voice-press-btn.data-v-0a633310 {
  510. height: 80rpx;
  511. background: #F7F8FA;
  512. border: 1rpx solid #DDD;
  513. border-radius: 12rpx;
  514. display: flex;
  515. align-items: center;
  516. justify-content: center;
  517. font-size: 28rpx;
  518. color: #666;
  519. }
  520. .input-bar .center-area .voice-press-btn.data-v-0a633310:active {
  521. background: #E0E0E0;
  522. }
  523. .panel-section.data-v-0a633310 {
  524. height: 0;
  525. overflow: hidden;
  526. transition: height 0.3s;
  527. }
  528. .panel-section.show.data-v-0a633310 {
  529. height: 400rpx;
  530. border-top: 1rpx solid #F2F2F2;
  531. }
  532. .emoji-panel.data-v-0a633310 {
  533. height: 100%;
  534. }
  535. .emoji-panel .emoji-scroll.data-v-0a633310 {
  536. height: 100%;
  537. }
  538. .emoji-panel .emoji-grid.data-v-0a633310 {
  539. display: flex;
  540. flex-wrap: wrap;
  541. padding: 30rpx;
  542. gap: 20rpx;
  543. }
  544. .emoji-panel .emoji-grid .emoji-item.data-v-0a633310 {
  545. font-size: 50rpx;
  546. width: 84rpx;
  547. text-align: center;
  548. }
  549. .plus-panel.data-v-0a633310 {
  550. height: 100%;
  551. display: flex;
  552. padding: 40rpx 60rpx;
  553. gap: 80rpx;
  554. }
  555. .plus-panel .panel-item.data-v-0a633310 {
  556. display: flex;
  557. flex-direction: column;
  558. align-items: center;
  559. }
  560. .plus-panel .panel-item .icon-box.data-v-0a633310 {
  561. width: 116rpx;
  562. height: 116rpx;
  563. background: #FFF;
  564. border: 1rpx solid #F0F0F0;
  565. border-radius: 28rpx;
  566. display: flex;
  567. align-items: center;
  568. justify-content: center;
  569. margin-bottom: 20rpx;
  570. box-shadow: 0 4rpx 10rpx rgba(0, 0, 0, 0.03);
  571. }
  572. .plus-panel .panel-item .icon-box image.data-v-0a633310 {
  573. width: 60rpx;
  574. height: 60rpx;
  575. }
  576. .plus-panel .panel-item text.data-v-0a633310 {
  577. font-size: 26rpx;
  578. color: #777;
  579. }