themes2.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873
  1. <template>
  2. <view :class="[AppTheme]" class="all_box" v-if="thflag==2">
  3. <u-navbar :titleStyle="{color:'#ffffff'}" :bgColor="primary" :autoBack="false" :fixed="true" :placeholder="true"
  4. :height="45">
  5. <view class="u-nav-slot" slot="left" @click="scancode">
  6. <u-icon name="scan" color="#ffffff" size="24"></u-icon>
  7. </view>
  8. <!-- #ifdef APP-PLUS || H5 -->
  9. <view class="u-nav-slot" slot="center" style="width: 580rpx;">
  10. <u-search actionText="" :showAction="false" placeholder="输入商品名称" bg-color="#fff" @search="doSearch"
  11. v-model="search"></u-search>
  12. </u-icon>
  13. </view>
  14. <!-- #endif -->
  15. <!-- #ifdef MP-WEIXIN -->
  16. <view class="u-nav-slot" slot="center" style="width: 580rpx;">
  17. <view class="u-nav-slot" slot="center" style="width: 460rpx;">
  18. <u-search actionText="" :showAction="false" placeholder="输入商品名称" bg-color="#fff" @search="doSearch"
  19. v-model="search"></u-search>
  20. </u-icon>
  21. </view>
  22. </view>
  23. <!-- #endif -->
  24. <!-- #ifdef APP-PLUS || H5 -->
  25. <view class="u-nav-slot" slot="right" @click="tocar">
  26. <u-icon name="shopping-cart" color="#ffffff" size="24"></u-icon>
  27. </view>
  28. <!-- #endif -->
  29. </u-navbar>
  30. <!-- 头部轮播 -->
  31. <view class="lunbo" :style="{background: primary}">
  32. <view class="carousel-section" v-if="lunbo&&lunbo.length>0">
  33. <u-swiper imgMode="aspectFill" :list="lunbo" keyName="ad_pic" showTitle :autoplay="false" circular
  34. @change="swiperChange">
  35. </u-swiper>
  36. </view>
  37. </view>
  38. <view class=" farm-block1">
  39. <u-notice-bar :text="announcetext" @click="goMessage" :color="primary" direction="column" mode="closable"
  40. speed="200"></u-notice-bar>
  41. </view>
  42. <view class="cate-section1" v-if="modular.length > 0">
  43. <view class="cate-section ">
  44. <view class="cate-item" v-for="(item, index) in modular" :key="index" @click="navTo(item.url)">
  45. <u--image :src="item.img" radius="10rpx" width="88rpx" height="88rpx" :lazyLoad="true" :fade="true"
  46. duration="450">
  47. <template v-slot:loading>
  48. <u-loading-icon color="#f7f7f7"></u-loading-icon>
  49. </template>
  50. </u--image>
  51. <text>{{ item.modularname }}</text>
  52. </view>
  53. </view>
  54. </view>
  55. <view class="coupon" v-if="couponlist&&couponlist.length > 0">
  56. <view class="coupon_title">
  57. <view class="cupin_left">
  58. <view class="cupin_left_p1">专享优惠卷</view>
  59. </view>
  60. <view class="cupin_right" @click="gogetactivity">查看全部></view>
  61. </view>
  62. <navigator url="/pagesB/pages/getcoupon/getcoupon" open-type="navigate" class="coupon_item"
  63. v-for="(item, index) in couponlist.slice(0,2)" :key="index">
  64. <view class="coupon_item_p1">
  65. <view class="coupon_item_p2_ti1_p1">¥</view>
  66. <view class="coupon_item_p2_ti1">{{ item.money }}</view>
  67. <view class="coupon_item_p2_ti2">
  68. <view class="describe">满{{ item.usemoney }}元可用</view>
  69. <view class="describe2">{{ item.type }}</view>
  70. <view class="describe3">使用时间:{{ item.stime }}-{{ item.etime }}</view>
  71. </view>
  72. </view>
  73. <view class="coupon_item_p2">
  74. <view>
  75. 立即领取
  76. </view>
  77. </view>
  78. </navigator>
  79. </view>
  80. <Ugoods2 ref="goodlist" :datas="datas"></Ugoods2>
  81. <view class="leaveblank_bottom"></view>
  82. </view>
  83. </template>
  84. <script>
  85. import Ugoods2 from '@/components/ui-component/U_goods2/m/index.vue';
  86. import homeApi from '@/api/home/index.js'
  87. export default {
  88. name: "themes2",
  89. props: ['primary2', 'thflag'],
  90. components: {
  91. Ugoods2
  92. },
  93. data() {
  94. return {
  95. datas: {
  96. "title": "商品列表B",
  97. "text_size": 15,
  98. "show_title": false,
  99. "goods": [],
  100. "margin_top": 0,
  101. "margin_bottom": 10,
  102. "bg_color": "#f7f7f8",
  103. "text_color": "#333333",
  104. "good_text_size": 15,
  105. "good_text_color": "#333333",
  106. "shop_price_color": "#FC0404",
  107. "market_price_color": "#999999",
  108. "buynow_bg_color": this.$theme.primary,
  109. "show_num": 0
  110. },
  111. primary: this.primary2,
  112. config: {
  113. site_info: {
  114. index_logo: ''
  115. },
  116. home: [],
  117. },
  118. title: '',
  119. list: [],
  120. bodymodular1: '',
  121. dlsetting: [],
  122. search: '',
  123. settingFile: [],
  124. titleNViewBackground: '',
  125. swiperCurrent: 0,
  126. swiperLength: 0,
  127. carouselList: [],
  128. newsList: [],
  129. goodsList: [],
  130. sellList: [],
  131. sysname: '',
  132. ischar: false,
  133. city: '获取中...',
  134. key: '',
  135. loadingImg: '',
  136. errorImg: '',
  137. weather: {
  138. tem: '-4',
  139. tem1: 2,
  140. tem2: -5,
  141. win_speed: 3,
  142. air_pm25: 8,
  143. humidity: 0
  144. },
  145. lunbo: [],
  146. announce: [],
  147. announcetext: [],
  148. isShow: true,
  149. ifhavehead: false,
  150. isnone: 'block',
  151. isshow: false,
  152. navHeight: 125,
  153. heig: 20,
  154. placeMargin: -155,
  155. addressName: '',
  156. district: '',
  157. marTop: 90,
  158. marTops: 70,
  159. searchTop: 110, //123
  160. placeHeig: 439,
  161. placeHeig2: 370,
  162. isSearch: false,
  163. temlist: '',
  164. modular: [],
  165. couponlist: [],
  166. carnum: 0
  167. }
  168. },
  169. onPageScroll: function(e) {
  170. if (!this.ifhavehead) {
  171. if (e.scrollTop > 45) {
  172. this.ifhavehead = true
  173. }
  174. } else {
  175. if (e.scrollTop < 45) {
  176. this.ifhavehead = false
  177. }
  178. }
  179. },
  180. methods: {
  181. //打开扫一扫
  182. scancode() {
  183. uni.scanCode({
  184. scanType: ['qrCode'],
  185. success: function(res) {
  186. uni.navigateTo({
  187. url: '/pagesB/pages/activorderdails/writeoffdetails/writeoffdetails?code=' +
  188. res.result
  189. })
  190. }
  191. })
  192. },
  193. //打开购物车
  194. tocar() {
  195. uni.navigateTo({
  196. url: '/pagesE/pages/cart/cart'
  197. })
  198. },
  199. toBottom(type) {
  200. let that = this
  201. that.$refs.goodlist.toBottom(type)
  202. },
  203. init() {
  204. let that = this
  205. if (that.$config) {
  206. if (that.primary == '' || that.primary != that.$theme.primary) {
  207. that.primary = that.$theme.primary;
  208. }
  209. that.sysname = that.$config.shop.name;
  210. that.addressName = that.$config.shop.name;
  211. // #ifdef H5
  212. uni.setNavigationBarTitle({
  213. title: that.$config.shop.name
  214. })
  215. // #endif
  216. that.goodsList = that.$config.cache1
  217. that.newsList = that.$config.cache3
  218. that.sellList = that.$config.cache5
  219. that.temlist = that.$config.temlist
  220. that.modular = that.$config.modular
  221. if (that.$config.app && that.$config.app.gaodekey) {
  222. that.key = that.$config.app.gaodekey
  223. uni.setStorageSync('mapkey', that.key)
  224. }
  225. that.ischar = that.$config.app.ischar
  226. that.couponlist = that.$config.card
  227. that.district = that.$config.shop.name;
  228. // 缓存订阅消息id
  229. uni.setStorageSync('temlist', that.temlist)
  230. if (that.$config.app.position == 1) {
  231. that.getAuthorizeInfo()
  232. } else {
  233. that.addressName = that.$config.shop.name;
  234. }
  235. this.homeInit();
  236. }
  237. },
  238. goMessage(index) {
  239. uni.navigateTo({
  240. url: '/pagesC/pages/index/message/message?id=' + this.announce[index].id
  241. })
  242. },
  243. getCity() {
  244. },
  245. getCityInfo() {
  246. },
  247. doSearch() {
  248. uni.navigateTo({
  249. url: `/pagesA/pages/search/search?value=${this.search}`
  250. })
  251. },
  252. async homeInit() {
  253. let that = this;
  254. let res = await homeApi.index()
  255. if (res.data.lunbo) {
  256. var list = res.data.lunbo.filter(item => item.pid == 14)
  257. if (list.length) {
  258. that.lunbo = list
  259. }
  260. }
  261. that.announce = res.data.announce;
  262. if (res.data.announce) {
  263. res.data.announce.forEach(item => {
  264. that.announcetext.push(item.title);
  265. });
  266. }
  267. },
  268. // 位置授权
  269. getAuthorizeInfo() {
  270. const that = this
  271. // #ifndef MP-WEIXIN
  272. that.getLocationInfo()
  273. // #endif
  274. // #ifdef MP-WEIXIN
  275. uni.authorize({
  276. scope: 'scope.userLocation',
  277. success() {
  278. // 允许授权
  279. that.getLocationInfo()
  280. },
  281. fail(err) {
  282. console.log(err)
  283. // 拒绝授权
  284. that.openConfirm()
  285. }
  286. })
  287. // #endif
  288. },
  289. // 获取地理位置
  290. getLocationInfo() {
  291. let that = this
  292. this.getCity()
  293. },
  294. // 再次获取授权
  295. // 当用户第一次拒绝后再次请求授权
  296. openConfirm() {
  297. let that = this
  298. uni.showModal({
  299. title: '请求授权当前位置',
  300. content: '需要获取您的地理位置,请确认授权',
  301. success: res => {
  302. if (res.confirm) {
  303. uni.openSetting({
  304. success: function(data) {
  305. if (data.authSetting['scope.userLocation'] ===
  306. true) {
  307. that.getCity()
  308. uni.showToast({
  309. title: '授权成功',
  310. icon: 'success',
  311. duration: 1000,
  312. success() {}
  313. })
  314. } else {
  315. uni.showToast({
  316. title: '授权失败',
  317. icon: 'success',
  318. duration: 1000
  319. })
  320. }
  321. }
  322. })
  323. } else if (res.cancel) {
  324. uni.showToast({
  325. title: '你拒绝了授权,无法获得周边信息',
  326. icon: 'none',
  327. duration: 1000
  328. })
  329. }
  330. }
  331. })
  332. },
  333. navTo(url) {
  334. if (url == '#') {
  335. this.$api.msg('暂未开放')
  336. return
  337. }
  338. this.$until.toUrl(url)
  339. },
  340. switchTo(url) {
  341. uni.switchTab({
  342. url
  343. })
  344. },
  345. noOpen() {
  346. this.$api.msg('暂未开放')
  347. },
  348. /**
  349. * 请求静态数据只是为了代码不那么乱
  350. * 分次请求未作整合
  351. */
  352. // //轮播图切换修改背景色
  353. swiperChange(e) {
  354. const index = e.detail.current
  355. this.swiperCurrent = index
  356. // this.titleNViewBackground = this.carouselList[index].background;
  357. },
  358. navtopage(index) {
  359. var item = lunbo[index]
  360. homeApi.navtopage(item)
  361. },
  362. switchTabPage() {
  363. uni.switchTab({
  364. url: '/pagesE/pages/broadcast/broadcast'
  365. })
  366. },
  367. //跳转活动链接
  368. gogetactivity() {
  369. uni.navigateTo({
  370. url: '/pagesB/pages/getcoupon/getcoupon'
  371. })
  372. }
  373. }
  374. }
  375. </script>
  376. <style lang="scss">
  377. .all_box {
  378. .left {
  379. display: flex;
  380. justify-content: center;
  381. justify-items: center;
  382. width: 10%
  383. }
  384. .right {
  385. display: flex;
  386. justify-content: center;
  387. justify-items: center;
  388. width: 10%
  389. }
  390. .leaveblank_bottom {
  391. height: 120rpx;
  392. }
  393. .coupon {
  394. padding: 20rpx 5% 10rpx 5%;
  395. background-color: #ffffff;
  396. width: 95%;
  397. margin: 15rpx 2.5%;
  398. border-radius: 5%;
  399. .coupon_title {
  400. display: flex;
  401. justify-content: space-between;
  402. align-items: center;
  403. width: 100%;
  404. padding: 10rpx 0;
  405. .cupin_left {
  406. display: flex;
  407. justify-content: space-between;
  408. align-items: center;
  409. .coupon_icon {
  410. width: 70rpx;
  411. height: 70rpx;
  412. }
  413. .cupin_left_p1 {
  414. font-size: 28rpx;
  415. color: #56ab2f;
  416. }
  417. }
  418. .cupin_right {
  419. font-size: 26rpx;
  420. color: #666;
  421. }
  422. }
  423. .center {
  424. display: flex;
  425. justify-content: center;
  426. align-items: center;
  427. margin: 7.5rpx 0;
  428. .tttle {
  429. width: 180rpx;
  430. text-align: center;
  431. font-weight: 700;
  432. }
  433. .line1,
  434. .line2 {
  435. height: 2rpx;
  436. width: 45%;
  437. }
  438. }
  439. .coupon_item {
  440. margin: 15rpx 0;
  441. position: relative;
  442. width: 100%;
  443. height: 137rpx;
  444. background: #ffffff;
  445. justify-content: space-between;
  446. display: inline-flex;
  447. color: #CF8201;
  448. align-items: center;
  449. .coupon_item_p1 {
  450. height: 100%;
  451. font-size: 35rpx;
  452. display: flex;
  453. justify-content: flex-start;
  454. align-items: center;
  455. width: calc(100% - 100rpx);
  456. background-color: #FDD48D;
  457. border-radius: 15rpx 0 0 15rpx;
  458. .coupon_item_p2_ti1_p1 {
  459. font-size: 55rpx;
  460. }
  461. .coupon_item_p2_ti1 {
  462. font-size: 80rpx;
  463. font-family: fantasy;
  464. }
  465. .coupon_item_p2_ti2 {
  466. margin-left: 15rpx;
  467. .describe {
  468. font-size: 28rpx;
  469. color: #8F5D25;
  470. font-weight: 600;
  471. }
  472. .describe2 {
  473. font-size: 22rpx;
  474. color: #8F5D25;
  475. font-weight: 600;
  476. margin: 15rpx 0;
  477. }
  478. .describe3 {
  479. font-size: 22rpx;
  480. color: #EE992A;
  481. }
  482. }
  483. }
  484. .coupon_item_p2 {
  485. display: flex;
  486. align-items: center;
  487. width: 100rpx;
  488. padding: 0 20rpx;
  489. height: 100%;
  490. text-align: center;
  491. background-color: #3D5479;
  492. color: #FFFFFF;
  493. border-radius: 0 15rpx 15rpx 0;
  494. }
  495. }
  496. }
  497. .place {
  498. width: 100%;
  499. height: 100px;
  500. .place_location {
  501. margin-left: 23rpx;
  502. font-size: 32rpx;
  503. color: #ffffff;
  504. }
  505. .flex {
  506. margin-top: 28rpx;
  507. display: flex;
  508. justify-content: flex-start;
  509. .fff {
  510. font-size: 24rpx;
  511. font-family: PingFang SC;
  512. font-weight: 500;
  513. color: #ffffff;
  514. margin-left: 37rpx;
  515. }
  516. .weather {
  517. margin-left: 34rpx;
  518. font-size: 24rpx;
  519. font-family: PingFang SC;
  520. font-weight: 500;
  521. color: #fff;
  522. }
  523. }
  524. }
  525. .cate-section1 {
  526. padding: 15rpx;
  527. }
  528. .cate-section {
  529. position: relative;
  530. border-radius: 16upx 16upx 16upx 16upx;
  531. }
  532. .cate-section.mt0 {
  533. margin-top: 0;
  534. }
  535. .lunbo {
  536. padding-bottom: 30rpx;
  537. height: 150rpx;
  538. padding-top: 10rpx;
  539. /* 头部 轮播图 */
  540. .carousel-section {
  541. width: calc(100% - 30rpx);
  542. margin: 0 auto;
  543. .titleNview-placing {
  544. padding-top: 0;
  545. height: 0;
  546. }
  547. .carousel {
  548. .carousel-item {
  549. padding: 0;
  550. border-radius: 10rpx;
  551. }
  552. }
  553. .swiper-dots {
  554. left: 45upx;
  555. bottom: 40upx;
  556. }
  557. .titleNview-placing {
  558. height: var(--status-bar-height);
  559. padding-top: 44px;
  560. box-sizing: content-box;
  561. }
  562. .titleNview-background {
  563. position: absolute;
  564. top: 0;
  565. left: 0;
  566. width: 100%;
  567. height: 426upx;
  568. transition: 0.4s;
  569. }
  570. }
  571. }
  572. .farm-block1 {
  573. padding-left: 15rpx;
  574. padding-top: 15rpx;
  575. padding-right: 15rpx;
  576. margin-top: 60rpx;
  577. }
  578. .farm-block {
  579. position: relative;
  580. z-index: 5;
  581. border-radius: 16upx 16upx 16upx 16upx;
  582. display: flex;
  583. margin-top: 50rpx;
  584. justify-content: flex-start;
  585. align-items: center;
  586. flex-wrap: wrap;
  587. padding: 10upx 30upx;
  588. background: #fff;
  589. .farm {
  590. display: flex;
  591. justify-content: flex-start;
  592. align-items: center;
  593. padding: 12rpx 0;
  594. width: 100%;
  595. .farm-img {
  596. width: 36rpx;
  597. height: 26rpx;
  598. .img {
  599. width: 36rpx;
  600. height: 26rpx;
  601. }
  602. }
  603. .ml35 {
  604. margin-left: 25rpx;
  605. border: 0.5rpx solid #f5f5f5;
  606. height: 20rpx;
  607. .dynamic,
  608. .news {
  609. width: 85rpx;
  610. height: 40rpx;
  611. background: #42c998;
  612. border-radius: 10rpx;
  613. line-height: 40rpx;
  614. font-size: 24rpx;
  615. font-family: PingFang SC;
  616. font-weight: 500;
  617. color: #ffffff;
  618. text-align: center;
  619. }
  620. .news {
  621. margin-top: 16rpx;
  622. background: #ffa92e;
  623. }
  624. }
  625. .flex {
  626. display: flex;
  627. flex-wrap: wrap;
  628. margin-left: 26rpx;
  629. .swiper-block {
  630. height: 40rpx;
  631. swiper {
  632. height: 100%;
  633. width: 580rpx;
  634. }
  635. }
  636. .swiper-block2 {
  637. margin-top: 15rpx;
  638. }
  639. .swiper-item {
  640. text-overflow: ellipsis;
  641. overflow: hidden;
  642. white-space: nowrap;
  643. line-height: 40rpx;
  644. font-size: 25rpx;
  645. font-family: PingFang SC;
  646. font-weight: 500;
  647. color: #56ab2f;
  648. display: flex;
  649. justify-content: space-between;
  650. .detail {
  651. font-weight: bold;
  652. margin-right: 0rpx;
  653. color: #100c0f;
  654. }
  655. .item-l {
  656. width: 490rpx;
  657. text-overflow: ellipsis;
  658. overflow: hidden;
  659. white-space: nowrap;
  660. }
  661. }
  662. }
  663. }
  664. }
  665. .carousel {
  666. width: 100%;
  667. height: 350upx;
  668. .carousel-item {
  669. width: 100%;
  670. height: 100%;
  671. padding: 0 28upx;
  672. overflow: hidden;
  673. }
  674. image {
  675. width: 100%;
  676. height: 100%;
  677. max-width: 100%;
  678. max-height: 100%;
  679. // border-radius: 10upx;
  680. }
  681. }
  682. .swiper-dots {
  683. display: flex;
  684. position: absolute;
  685. left: 60upx;
  686. bottom: 15upx;
  687. width: 72upx;
  688. height: 36upx;
  689. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk4MzlBNjE0NjU1MTFFOUExNjRFQ0I3RTQ0NEExQjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk4MzlBNjA0NjU1MTFFOUExNjRFQ0I3RTQ0NEExQjMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Q0E3RUNERkE0NjExMTFFOTg5NzI4MTM2Rjg0OUQwOEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Q0E3RUNERkI0NjExMTFFOTg5NzI4MTM2Rjg0OUQwOEUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Gh5BPAAACTUlEQVR42uzcQW7jQAwFUdN306l1uWwNww5kqdsmm6/2MwtVCp8CosQtP9vg/2+/gY+DRAMBgqnjIp2PaCxCLLldpPARRIiFj1yBbMV+cHZh9PURRLQNhY8kgWyL/WDtwujjI8hoE8rKLqb5CDJaRMJHokC6yKgSCR9JAukmokIknCQJpLOIrJFwMsBJELFcKHwM9BFkLBMKFxNcBCHlQ+FhoocgpVwwnv0Xn30QBJGMC0QcaBVJiAMiec/dcwKuL4j1QMsVCXFAJE4s4NQA3K/8Y6DzO4g40P7UcmIBJxbEesCKWBDg8wWxHrAiFgT4fEGsB/CwIhYE+AeBAAdPLOcV8HRmWRDAiQVcO7GcV8CLM8uCAE4sQCDAlHcQ7x+ABQEEAggEEAggEEAggEAAgQACASAQQCCAQACBAAIBBAIIBBAIIBBAIABe4e9iAe/xd7EAJxYgEGDeO4j3EODp/cOCAE4sYMyJ5cwCHs4rCwI4sYBxJ5YzC84rCwKcXxArAuthQYDzC2JF0H49LAhwYUGsCFqvx5EF2T07dMaJBetx4cRyaqFtHJ8EIhK0i8OJBQxcECuCVutxJhCRoE0cZwMRyRcFefa/ffZBVPogePihhyCnbBhcfMFFEFM+DD4m+ghSlgmDkwlOgpAl4+BkkJMgZdk4+EgaSCcpVX7bmY9kgXQQU+1TgE0c+QJZUUz1b2T4SBbIKmJW+3iMj2SBVBWz+leVfCQLpIqYbp8b85EskIxyfIOfK5Sf+wiCRJEsllQ+oqEkQfBxmD8BBgA5hVjXyrBNUQAAAABJRU5ErkJggg==);
  690. background-size: 100% 100%;
  691. .num {
  692. width: 36upx;
  693. height: 36upx;
  694. border-radius: 50px;
  695. font-size: 24upx;
  696. color: #fff;
  697. text-align: center;
  698. line-height: 36upx;
  699. }
  700. .sign {
  701. position: absolute;
  702. top: 0;
  703. left: 50%;
  704. line-height: 36upx;
  705. font-size: 12upx;
  706. color: #fff;
  707. transform: translateX(-50%);
  708. }
  709. }
  710. /* 分类 */
  711. .cate-section {
  712. display: flex;
  713. justify-content: space-between;
  714. align-items: center;
  715. flex-wrap: wrap;
  716. padding: 30rpx 20rpx 5rpx 20rpx;
  717. background: #fff;
  718. .cate-item {
  719. display: flex;
  720. flex-direction: column;
  721. align-items: center;
  722. font-size: $font-sm + 2upx;
  723. color: $font-color-dark;
  724. width: 19%;
  725. background: #fff;
  726. padding-bottom: 30rpx;
  727. float: left;
  728. }
  729. /* 原图标颜色太深,不想改图了,所以加了透明度 */
  730. text {
  731. margin-top: 14upx;
  732. }
  733. }
  734. .ad-1 {
  735. width: 100%;
  736. height: 210upx;
  737. padding: 10upx 0;
  738. background: #fff;
  739. image {
  740. width: 100%;
  741. height: 100%;
  742. }
  743. }
  744. .btn1 {
  745. background-color: transparent;
  746. position: fixed;
  747. right: 0;
  748. top: 77.5%;
  749. z-index: 11;
  750. width: 200rpx;
  751. height: 100rpx;
  752. outline: none;
  753. border: none;
  754. }
  755. .btnImg {
  756. width: 100%;
  757. height: 100%;
  758. }
  759. .btn1::after {
  760. outline: none;
  761. border: none;
  762. }
  763. .tag {
  764. display: flex;
  765. justify-content: space-around;
  766. margin-top: 20rpx;
  767. .tag-box {
  768. width: 200rpx;
  769. height: 113rpx;
  770. border: 1px solid $tab-color-1;
  771. color: $tab-color-1;
  772. border-radius: 10rpx;
  773. display: flex;
  774. justify-content: center;
  775. align-items: center;
  776. flex-direction: column;
  777. font-size: 24rpx;
  778. .tag-img {
  779. width: 60rpx;
  780. height: 60rpx;
  781. }
  782. }
  783. }
  784. .updatepage {
  785. position: fixed;
  786. }
  787. }
  788. </style>