App.vue 30 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171
  1. <script>
  2. /**
  3. * vuex管理登陆状态,具体可以参考官方登陆模板示例
  4. */
  5. import {
  6. mapMutations
  7. } from 'vuex';
  8. import {
  9. parseURL
  10. } from './util';
  11. export default {
  12. methods: {
  13. async init(options) {
  14. let isSetStorage = false
  15. if (options.query?.q) {
  16. const url = decodeURIComponent(options.query.q)
  17. const storageId = parseURL(url).params.storageId
  18. if (storageId) {
  19. this.$store.commit('setStorage', storageId)
  20. isSetStorage = true
  21. }
  22. }
  23. //app初始化
  24. // var [err,res1] = await uni.getLocation({
  25. // type: 'wgs84'
  26. // })
  27. // ================
  28. var res1 = {}
  29. res1.errMsg = 'getLocation:ok'
  30. res1.longitude = '11.22'
  31. res1.latitude = '11.22'
  32. // ================
  33. if (res1.errMsg === 'getLocation:ok') {
  34. uni.showLoading({
  35. title: "加载中..."
  36. })
  37. await this.$api.request('get', 'storage/position/getRecentlyStorage', {
  38. lng: res1.longitude,
  39. lat: res1.latitude
  40. }, failres => {
  41. uni.hideLoading()
  42. }).then(res => {
  43. uni.hideLoading();
  44. (!isSetStorage) && this.$store.commit('setStorage', res.data.id)
  45. this.$store.commit('setStorageObj', {
  46. businessStartTime: res.data.businessStartTime,
  47. businessState: res.data.businessState,
  48. businessStopTime: res.data.businessStopTime,
  49. deliveryStartTime: res.data.deliveryStartTime,
  50. deliveryStopTime: res.data.deliveryStopTime,
  51. haveStorage: res.data.haveStorage,
  52. id: res.data.id
  53. })
  54. })
  55. }
  56. if (this.$store.state.userInfo.accessToken && this.$store.state.storageId != 0) {
  57. await this.$api.request('get', 'cart/app/countCart', {
  58. storageId: this.$store.state.storageId
  59. }).then(res => {
  60. if (res.data > 0) {
  61. uni.setTabBarBadge({
  62. index: 2,
  63. text: res.data + ''
  64. })
  65. }
  66. this.$store.commit('addCart', res.data)
  67. }).catch(err => {
  68. this.$api.msg('请求失败,请稍后再试')
  69. })
  70. }
  71. },
  72. ...mapMutations(['login', 'setIsWeixin'])
  73. },
  74. onLaunch: function(options) {
  75. //#ifdef H5
  76. this.setIsWeixin();
  77. // #endif
  78. let userInfo = uni.getStorageSync('userInfo') || '';
  79. if (userInfo.uid) {
  80. //更新登陆状态
  81. uni.getStorage({
  82. key: 'userInfo',
  83. success: (res) => {
  84. this.login(res.data);
  85. }
  86. });
  87. }
  88. //全局获取仓库信息
  89. this.init(options)
  90. },
  91. onShow: function() {
  92. // console.log('App Show')
  93. },
  94. onHide: function() {
  95. // console.log('App Hide')
  96. },
  97. }
  98. </script>
  99. <style lang='scss'>
  100. @import './assets/iconfont/iconfont.css';
  101. @import "./static/common.css";
  102. @font-face {
  103. font-family: "yticon";
  104. src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
  105. }
  106. .status-bar {
  107. height: var(--status-bar-height);
  108. width: 750rpx;
  109. display: flex;
  110. position: relative;
  111. }
  112. .yticon {
  113. font-family: "yticon" !important;
  114. font-size: 16px;
  115. font-style: normal;
  116. -webkit-font-smoothing: antialiased;
  117. -moz-osx-font-smoothing: grayscale;
  118. }
  119. .icon-iconfontshanchu1:before {
  120. content: "\e619";
  121. }
  122. .icon-iconfontweixin:before {
  123. content: "\e611";
  124. }
  125. .icon-alipay:before {
  126. content: "\e636";
  127. }
  128. .icon-shang:before {
  129. content: "\e624";
  130. }
  131. .icon-shouye:before {
  132. content: "\e626";
  133. }
  134. .icon-shanchu4:before {
  135. content: "\e622";
  136. }
  137. .icon-xiaoxi:before {
  138. content: "\e618";
  139. }
  140. .icon-jiantour-copy:before {
  141. content: "\e600";
  142. }
  143. .icon-fenxiang2:before {
  144. content: "\e61e";
  145. }
  146. .icon-pingjia:before {
  147. content: "\e67b";
  148. }
  149. .icon-daifukuan:before {
  150. content: "\e68f";
  151. }
  152. .icon-pinglun-copy:before {
  153. content: "\e612";
  154. }
  155. .icon-dianhua-copy:before {
  156. content: "\e621";
  157. }
  158. .icon-shoucang:before {
  159. content: "\e645";
  160. }
  161. .icon-xuanzhong2:before {
  162. content: "\e62f";
  163. }
  164. .icon-gouwuche_:before {
  165. content: "\e630";
  166. }
  167. .icon-icon-test:before {
  168. content: "\e60c";
  169. }
  170. .icon-icon-test1:before {
  171. content: "\e632";
  172. }
  173. .icon-bianji:before {
  174. content: "\e646";
  175. }
  176. .icon-jiazailoading-A:before {
  177. content: "\e8fc";
  178. }
  179. .icon-zuoshang:before {
  180. content: "\e613";
  181. }
  182. .icon-jia2:before {
  183. content: "\e60a";
  184. }
  185. .icon-huifu:before {
  186. content: "\e68b";
  187. }
  188. .icon-sousuo:before {
  189. content: "\e7ce";
  190. }
  191. .icon-arrow-fine-up:before {
  192. content: "\e601";
  193. }
  194. .icon-hot:before {
  195. content: "\e60e";
  196. }
  197. .icon-lishijilu:before {
  198. content: "\e6b9";
  199. }
  200. .icon-zhengxinchaxun-zhifubaoceping-:before {
  201. content: "\e616";
  202. }
  203. .icon-naozhong:before {
  204. content: "\e64a";
  205. }
  206. .icon-xiatubiao--copy:before {
  207. content: "\e608";
  208. }
  209. .icon-shoucang_xuanzhongzhuangtai:before {
  210. content: "\e6a9";
  211. }
  212. .icon-jia1:before {
  213. content: "\e61c";
  214. }
  215. .icon-bangzhu1:before {
  216. content: "\e63d";
  217. }
  218. .icon-arrow-left-bottom:before {
  219. content: "\e602";
  220. }
  221. .icon-arrow-right-bottom:before {
  222. content: "\e603";
  223. }
  224. .icon-arrow-left-top:before {
  225. content: "\e604";
  226. }
  227. .icon-icon--:before {
  228. content: "\e744";
  229. }
  230. .icon-zuojiantou-up:before {
  231. content: "\e605";
  232. }
  233. .icon-xia:before {
  234. content: "\e62d";
  235. }
  236. .icon--jianhao:before {
  237. content: "\e60b";
  238. }
  239. .icon-weixinzhifu:before {
  240. content: "\e61a";
  241. }
  242. .icon-comment:before {
  243. content: "\e64f";
  244. }
  245. .icon-weixin:before {
  246. content: "\e61f";
  247. }
  248. .icon-fenlei1:before {
  249. content: "\e620";
  250. }
  251. .icon-erjiye-yucunkuan:before {
  252. content: "\e623";
  253. }
  254. .icon-Group-:before {
  255. content: "\e688";
  256. }
  257. .icon-you:before {
  258. content: "\e606";
  259. }
  260. .icon-forward:before {
  261. content: "\e607";
  262. }
  263. .icon-tuijian:before {
  264. content: "\e610";
  265. }
  266. .icon-bangzhu:before {
  267. content: "\e679";
  268. }
  269. .icon-share:before {
  270. content: "\e656";
  271. }
  272. .icon-yiguoqi:before {
  273. content: "\e997";
  274. }
  275. .icon-shezhi1:before {
  276. content: "\e61d";
  277. }
  278. .icon-fork:before {
  279. content: "\e61b";
  280. }
  281. .icon-kafei:before {
  282. content: "\e66a";
  283. }
  284. .icon-iLinkapp-:before {
  285. content: "\e654";
  286. }
  287. .icon-saomiao:before {
  288. content: "\e60d";
  289. }
  290. .icon-shezhi:before {
  291. content: "\e60f";
  292. }
  293. .icon-shouhoutuikuan:before {
  294. content: "\e631";
  295. }
  296. .icon-gouwuche:before {
  297. content: "\e609";
  298. }
  299. .icon-dizhi:before {
  300. content: "\e614";
  301. }
  302. .icon-fenlei:before {
  303. content: "\e706";
  304. }
  305. .icon-xingxing:before {
  306. content: "\e70b";
  307. }
  308. .icon-tuandui:before {
  309. content: "\e633";
  310. }
  311. .icon-zuanshi:before {
  312. content: "\e615";
  313. }
  314. .icon-zuo:before {
  315. content: "\e63c";
  316. }
  317. .icon-yiguoqi1:before {
  318. content: "\e700";
  319. }
  320. .icon-shoucang2:before {
  321. content: "\e62e";
  322. }
  323. .icon-shouhuodizhi:before {
  324. content: "\e712";
  325. }
  326. .icon-yishouhuo:before {
  327. content: "\e71a";
  328. }
  329. .icon-dianzan-ash:before {
  330. content: "\e617";
  331. }
  332. view,
  333. scroll-view,
  334. swiper,
  335. swiper-item,
  336. cover-view,
  337. cover-image,
  338. icon,
  339. text,
  340. rich-text,
  341. progress,
  342. button,
  343. checkbox,
  344. form,
  345. input,
  346. label,
  347. radio,
  348. slider,
  349. switch,
  350. textarea,
  351. navigator,
  352. audio,
  353. camera,
  354. image,
  355. video {
  356. box-sizing: border-box;
  357. }
  358. /* 骨架屏替代方案 */
  359. .Skeleton {
  360. background: #f3f3f3;
  361. padding: 20upx 0;
  362. border-radius: 8upx;
  363. }
  364. /* 图片载入替代方案 */
  365. .image-wrapper {
  366. font-size: 0;
  367. background: #f3f3f3;
  368. border-radius: 4px;
  369. image {
  370. width: 100%;
  371. height: 100%;
  372. transition: .6s;
  373. opacity: 0;
  374. &.loaded {
  375. opacity: 1;
  376. }
  377. }
  378. }
  379. .clamp {
  380. overflow: hidden;
  381. text-overflow: ellipsis;
  382. white-space: nowrap;
  383. display: block;
  384. }
  385. .common-hover {
  386. background: #f5f5f5;
  387. }
  388. /*边框*/
  389. .b-b:after,
  390. .b-t:after {
  391. position: absolute;
  392. z-index: 3;
  393. left: 0;
  394. right: 0;
  395. height: 0;
  396. content: '';
  397. transform: scaleY(.5);
  398. border-bottom: 1px solid $border-color-base;
  399. }
  400. .b-b:after {
  401. bottom: 0;
  402. }
  403. .b-t:after {
  404. top: 0;
  405. }
  406. /* button样式改写 */
  407. uni-button,
  408. button {
  409. height: 80upx;
  410. line-height: 80upx;
  411. font-size: $font-lg + 2upx;
  412. font-weight: normal;
  413. &.no-border:before,
  414. &.no-border:after {
  415. border: 0;
  416. }
  417. }
  418. uni-button[type=default],
  419. button[type=default] {
  420. color: $font-color-dark;
  421. }
  422. /* input 样式 */
  423. .input-placeholder {
  424. color: #999999;
  425. }
  426. .placeholder {
  427. color: #999999;
  428. }
  429. /* 张洁 02.15 */
  430. /* -- flex弹性布局 -- */
  431. .flex {
  432. display: flex;
  433. }
  434. .basis-xs {
  435. flex-basis: 20%;
  436. }
  437. .basis-sm {
  438. flex-basis: 40%;
  439. }
  440. .basis-df {
  441. flex-basis: 50%;
  442. }
  443. .basis-lg {
  444. flex-basis: 60%;
  445. }
  446. .basis-xl {
  447. flex-basis: 80%;
  448. }
  449. .flex-sub {
  450. flex: 1;
  451. }
  452. .flex-twice {
  453. flex: 2;
  454. }
  455. .flex-treble {
  456. flex: 3;
  457. }
  458. .flex-direction {
  459. flex-direction: column;
  460. }
  461. .flex-wrap {
  462. flex-wrap: wrap;
  463. }
  464. .align-start {
  465. align-items: flex-start;
  466. }
  467. .align-end {
  468. align-items: flex-end;
  469. }
  470. .align-center {
  471. align-items: center;
  472. }
  473. .align-stretch {
  474. align-items: stretch;
  475. }
  476. .self-start {
  477. align-self: flex-start;
  478. }
  479. .self-center {
  480. align-self: flex-center;
  481. }
  482. .self-end {
  483. align-self: flex-end;
  484. }
  485. .self-stretch {
  486. align-self: stretch;
  487. }
  488. .align-stretch {
  489. align-items: stretch;
  490. }
  491. .justify-start {
  492. justify-content: flex-start;
  493. }
  494. .justify-end {
  495. justify-content: flex-end;
  496. }
  497. .justify-center {
  498. justify-content: center;
  499. }
  500. .justify-between {
  501. justify-content: space-between;
  502. }
  503. .justify-around {
  504. justify-content: space-around;
  505. }
  506. /* -- 内外边距 -- */
  507. .margin-0 {
  508. margin: 0;
  509. }
  510. .margin-xs {
  511. margin: 10rpx;
  512. }
  513. .margin-sm {
  514. margin: 20rpx;
  515. }
  516. .margin {
  517. margin: 30rpx;
  518. }
  519. .margin-lg {
  520. margin: 40rpx;
  521. }
  522. .margin-xl {
  523. margin: 50rpx;
  524. }
  525. .margin-top-xs {
  526. margin-top: 10rpx;
  527. }
  528. .margin-top-sm {
  529. margin-top: 20rpx;
  530. }
  531. .margin-top {
  532. margin-top: 30rpx;
  533. }
  534. .margin-top-lg {
  535. margin-top: 40rpx;
  536. }
  537. .margin-top-xl {
  538. margin-top: 50rpx;
  539. }
  540. .margin-right-xs {
  541. margin-right: 10rpx;
  542. }
  543. .margin-right-sm {
  544. margin-right: 20rpx;
  545. }
  546. .margin-right {
  547. margin-right: 30rpx;
  548. }
  549. .margin-right-lg {
  550. margin-right: 40rpx;
  551. }
  552. .margin-right-xl {
  553. margin-right: 50rpx;
  554. }
  555. .margin-bottom-xs {
  556. margin-bottom: 10rpx;
  557. }
  558. .margin-bottom-sm {
  559. margin-bottom: 20rpx;
  560. }
  561. .margin-bottom {
  562. margin-bottom: 30rpx;
  563. }
  564. .margin-bottom-lg {
  565. margin-bottom: 40rpx;
  566. }
  567. .margin-bottom-xl {
  568. margin-bottom: 50rpx;
  569. }
  570. .margin-left-xs {
  571. margin-left: 10rpx;
  572. }
  573. .margin-left-sm {
  574. margin-left: 20rpx;
  575. }
  576. .margin-left {
  577. margin-left: 30rpx;
  578. }
  579. .margin-left-lg {
  580. margin-left: 40rpx;
  581. }
  582. .margin-left-xl {
  583. margin-left: 50rpx;
  584. }
  585. .margin-lr-xs {
  586. margin-left: 10rpx;
  587. margin-right: 10rpx;
  588. }
  589. .margin-lr-sm {
  590. margin-left: 20rpx;
  591. margin-right: 20rpx;
  592. }
  593. .margin-lr {
  594. margin-left: 30rpx;
  595. margin-right: 30rpx;
  596. }
  597. .margin-lr-lg {
  598. margin-left: 40rpx;
  599. margin-right: 40rpx;
  600. }
  601. .margin-lr-xl {
  602. margin-left: 50rpx;
  603. margin-right: 50rpx;
  604. }
  605. .margin-tb-xs {
  606. margin-top: 10rpx;
  607. margin-bottom: 10rpx;
  608. }
  609. .margin-tb-sm {
  610. margin-top: 20rpx;
  611. margin-bottom: 20rpx;
  612. }
  613. .margin-tb {
  614. margin-top: 30rpx;
  615. margin-bottom: 30rpx;
  616. }
  617. .margin-tb-lg {
  618. margin-top: 40rpx;
  619. margin-bottom: 40rpx;
  620. }
  621. .margin-tb-xl {
  622. margin-top: 50rpx;
  623. margin-bottom: 50rpx;
  624. }
  625. .padding-0 {
  626. padding: 0;
  627. }
  628. .padding-xs {
  629. padding: 10rpx;
  630. }
  631. .padding-sm {
  632. padding: 20rpx;
  633. }
  634. .padding {
  635. padding: 30rpx;
  636. }
  637. .padding-lg {
  638. padding: 40rpx;
  639. }
  640. .padding-xl {
  641. padding: 50rpx;
  642. }
  643. .padding-top-xs {
  644. padding-top: 10rpx;
  645. }
  646. .padding-top-sm {
  647. padding-top: 20rpx;
  648. }
  649. .padding-top {
  650. padding-top: 30rpx;
  651. }
  652. .padding-top-lg {
  653. padding-top: 40rpx;
  654. }
  655. .padding-top-xl {
  656. padding-top: 50rpx;
  657. }
  658. .padding-right-xs {
  659. padding-right: 10rpx;
  660. }
  661. .padding-right-sm {
  662. padding-right: 20rpx;
  663. }
  664. .padding-right {
  665. padding-right: 30rpx;
  666. }
  667. .padding-right-lg {
  668. padding-right: 40rpx;
  669. }
  670. .padding-right-xl {
  671. padding-right: 50rpx;
  672. }
  673. .padding-bottom-xs {
  674. padding-bottom: 10rpx;
  675. }
  676. .padding-bottom-sm {
  677. padding-bottom: 20rpx;
  678. }
  679. .padding-bottom {
  680. padding-bottom: 30rpx;
  681. }
  682. .padding-bottom-lg {
  683. padding-bottom: 40rpx;
  684. }
  685. .padding-bottom-xl {
  686. padding-bottom: 50rpx;
  687. }
  688. .padding-left-xs {
  689. padding-left: 10rpx;
  690. }
  691. .padding-left-sm {
  692. padding-left: 20rpx;
  693. }
  694. .padding-left {
  695. padding-left: 30rpx;
  696. }
  697. .padding-left-lg {
  698. padding-left: 40rpx;
  699. }
  700. .padding-left-xl {
  701. padding-left: 50rpx;
  702. }
  703. .padding-lr-xs {
  704. padding-left: 10rpx;
  705. padding-right: 10rpx;
  706. }
  707. .padding-lr-sm {
  708. padding-left: 20rpx;
  709. padding-right: 20rpx;
  710. }
  711. .padding-lr {
  712. padding-left: 30rpx;
  713. padding-right: 30rpx;
  714. }
  715. .padding-lr-lg {
  716. padding-left: 40rpx;
  717. padding-right: 40rpx;
  718. }
  719. .padding-lr-xl {
  720. padding-left: 50rpx;
  721. padding-right: 50rpx;
  722. }
  723. .padding-tb-xs {
  724. padding-top: 10rpx;
  725. padding-bottom: 10rpx;
  726. }
  727. .padding-tb-sm {
  728. padding-top: 20rpx;
  729. padding-bottom: 20rpx;
  730. }
  731. .padding-tb {
  732. padding-top: 30rpx;
  733. padding-bottom: 30rpx;
  734. }
  735. .padding-tb-lg {
  736. padding-top: 40rpx;
  737. padding-bottom: 40rpx;
  738. }
  739. .padding-tb-xl {
  740. padding-top: 50rpx;
  741. padding-bottom: 50rpx;
  742. }
  743. /* 文字颜色 */
  744. .text-red,
  745. .line-red,
  746. .lines-red {
  747. color: #e54d42;
  748. }
  749. .text-orange,
  750. .line-orange,
  751. .lines-orange {
  752. color: #fdaa00;
  753. }
  754. .text-yellow,
  755. .line-yellow,
  756. .lines-yellow {
  757. color: #ffe300;
  758. }
  759. .text-olive,
  760. .line-olive,
  761. .lines-olive {
  762. color: #8dc63f;
  763. }
  764. .text-green,
  765. .line-green,
  766. .lines-green {
  767. color: #39b54a;
  768. }
  769. .text-cyan,
  770. .line-cyan,
  771. .lines-cyan {
  772. color: #1cbbb4;
  773. }
  774. .text-blue,
  775. .line-blue,
  776. .lines-blue {
  777. color: #0081ff;
  778. }
  779. .text-purple,
  780. .line-purple,
  781. .lines-purple {
  782. color: #6739b6;
  783. }
  784. .text-mauve,
  785. .line-mauve,
  786. .lines-mauve {
  787. color: #9c26b0;
  788. }
  789. .text-pink,
  790. .line-pink,
  791. .lines-pink {
  792. color: #e03997;
  793. }
  794. .text-brown,
  795. .line-brown,
  796. .lines-brown {
  797. color: #a5673f;
  798. }
  799. .text-grey,
  800. .line-grey,
  801. .lines-grey {
  802. color: #8799a3;
  803. }
  804. .text-gray,
  805. .line-gray,
  806. .lines-gray {
  807. color: #aaa;
  808. }
  809. .text-black,
  810. .line-black,
  811. .lines-black {
  812. color: #333;
  813. }
  814. .text-white,
  815. .line-white,
  816. .lines-white {
  817. color: #fff;
  818. }
  819. /* 文字大小 */
  820. .text-xs {
  821. font-size: 20rpx;
  822. }
  823. .text-sm {
  824. font-size: 24rpx;
  825. }
  826. .text-df {
  827. font-size: 28rpx;
  828. }
  829. .text-lg {
  830. font-size: 32rpx;
  831. }
  832. .text-xl {
  833. font-size: 36rpx;
  834. }
  835. .text-xxl {
  836. font-size: 44rpx;
  837. }
  838. .text-sl {
  839. font-size: 80rpx;
  840. }
  841. .text-xsl {
  842. font-size: 120rpx;
  843. }
  844. .round {
  845. border-radius: 5000rpx;
  846. }
  847. .radius {
  848. border-radius: 15rpx;
  849. }
  850. /* 文字截断 */
  851. .text-cut {
  852. text-overflow: ellipsis;
  853. white-space: nowrap;
  854. overflow: hidden;
  855. }
  856. .bg-red {
  857. background-color: #e54d42;
  858. color: #fff;
  859. }
  860. .bg-orange {
  861. background-color: #fdb012;
  862. color: #fff;
  863. }
  864. .bg-yellow {
  865. background-color: #ffe300;
  866. color: #333;
  867. }
  868. .bg-olive {
  869. background-color: #8dc63f;
  870. color: #fff;
  871. }
  872. .bg-green {
  873. background-color: #39b54a;
  874. color: #fff;
  875. }
  876. .bg-cyan {
  877. background-color: #1cbbb4;
  878. color: #fff;
  879. }
  880. .bg-blue {
  881. background-color: #0081ff;
  882. color: #fff;
  883. }
  884. .bg-purple {
  885. background-color: #6739b6;
  886. color: #fff;
  887. }
  888. .bg-mauve {
  889. background-color: #9c26b0;
  890. color: #fff;
  891. }
  892. .bg-pink {
  893. background-color: #e03997;
  894. color: #fff;
  895. }
  896. .bg-brown {
  897. background-color: #a5673f;
  898. color: #fff;
  899. }
  900. .bg-grey {
  901. background-color: #8799a3;
  902. color: #fff;
  903. }
  904. .bg-gray {
  905. background-color: #f0f0f0;
  906. color: #666;
  907. }
  908. .bg-black {
  909. background-color: #333;
  910. color: #fff;
  911. }
  912. .bg-white {
  913. background-color: #fff;
  914. /* color: #666; */
  915. }
  916. .bg-gradual-green {
  917. background-image: linear-gradient(45deg, #39b54a, #8dc63f);
  918. color: #fff;
  919. }
  920. .text-2-cut {
  921. display: -webkit-box;
  922. -webkit-box-orient: vertical;
  923. -webkit-line-clamp: 2;
  924. overflow: hidden;
  925. }
  926. .solid-bottom {
  927. border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
  928. }
  929. </style>