Browse Source

首页静态页面写完成

master
unknown 10 months ago
parent
commit
9924c8da96
  1. 32
      common/css/app.scss
  2. 11
      components/searchRow/searchRow.vue
  3. 2
      manifest.json
  4. 99
      pages/tabbar/index/comp/coachItem.vue
  5. 25
      pages/tabbar/index/comp/informaItem.vue
  6. 39
      pages/tabbar/index/comp/schoolItem.vue
  7. 230
      pages/tabbar/index/index.vue
  8. BIN
      static/images/bigImg/banner.jpg
  9. BIN
      static/images/bigImg/banner2.jpg
  10. BIN
      static/images/bigImg/homeBg.png
  11. BIN
      static/images/icon/down.png
  12. BIN
      static/images/icon/h1Active.png
  13. BIN
      static/images/icon/searchIcon.png
  14. BIN
      static/images/icon/箭头(1).png
  15. BIN
      static/images/indexIcon/entryIcon (1).png
  16. BIN
      static/images/indexIcon/entryIcon (2).png
  17. BIN
      static/images/indexIcon/entryIcon (3).png
  18. BIN
      static/images/indexIcon/entryIcon (4).png
  19. BIN
      static/images/indexIcon/entryIcon (5).png
  20. BIN
      static/images/indexIcon/phone.png
  21. BIN
      static/images/indexIcon/sancode.png
  22. BIN
      static/images/indexIcon/xccard.png
  23. BIN
      static/images/indexIcon/zxcard.png
  24. BIN
      static/images/indexIcon/形状 101.png
  25. BIN
      static/images/indexIcon/矩形 14(1).png
  26. BIN
      static/images/indexIcon/矩形 14.png
  27. BIN
      static/images/indexIcon/矩形 24.png
  28. BIN
      static/images/tabbar/btn_shouye_cli.png
  29. BIN
      static/images/tabbar/btn_shouye_nor.png
  30. BIN
      static/images/tabbar/btn_wode_cli.png
  31. BIN
      static/images/tabbar/btn_wode_nor.png
  32. BIN
      static/images/tabbar/btn_xueche_cli.png
  33. BIN
      static/images/tabbar/btn_xueche_nor.png

32
common/css/app.scss

@ -52,7 +52,7 @@ view {
.card {
width: 100%;
background: #fff;
border-radius: 16rpx;
border-radius: 20rpx;
}
.status_bar {
height: var(--status-bar-height);
@ -68,10 +68,10 @@ image {
}
.starBox {
display: flex;
.num {
color: $themC;
font-size: 24rpx;
}
width: 58rpx;
height: 32rpx;
background: #0A52F4;
border-radius: 16px 0px 16px 16rpx;
}
.my .u-input {
@ -82,21 +82,27 @@ image {
font-size: 32rpx;
color: #333;
font-weight: 500;
position: relative;
font-weight: 700;
padding: 0 0 0 32rpx;
text {
position: relative;
&.active {
&::before {
position: absolute;
content: '';
width: 8rpx;
height: 32rpx;
background: #1F6EFA;
border-radius: 4rpx;
top: 50%;
transform: translateY(-50%);
left: 0;
width: 54rpx;
height: 12rpx;
// background: url('../../static/images/icon/h1Active.png') no-repeat;
background-size: 100% 100%;
left: 50%;
transform: translateX(-50%);
bottom: -20rpx;
}
}
}
}
.btnBg {
height: 72rpx;
background: #1989FA;

11
components/searchRow/searchRow.vue

@ -2,11 +2,11 @@
<view class="searchBg" :style="{background: `${bg}`}">
<view class="flex">
<view class="searchIcon">
<image src="@/static/images/index/searchIcon.png" mode=""></image>
<image src="@/static/images/icon/searchIcon.png" mode=""></image>
</view>
<view class="inputBox">
<u-search :placeholder="placeholder" v-model="keyword" :color="'#fff'" :disabled="disable" placeholderColor="#fff" style="pointer-events: none;" :bgColor="'transparent'" @change="$u.debounce(searchFn, 1500)" :showAction="false" @search="$u.debounce(searchFn, 500)" @clear="clearSearchFn"></u-search>
<u-search :placeholder="placeholder" v-model="keyword" :color="'#333'" :disabled="disable" placeholderColor="#CCCCCC" style="pointer-events: none;" :bgColor="'transparent'" @change="$u.debounce(searchFn, 1500)" :showAction="false" @search="$u.debounce(searchFn, 500)" @clear="clearSearchFn"></u-search>
</view>
</view>
</view>
@ -54,11 +54,12 @@
.flex {
height: 100%;
padding: 0 28rpx;
padding: 0 28rpx 0 0;
.searchIcon {
width: 40rpx;
height: 40rpx;
width: 52rpx;
height: 52rpx;
margin: 0 -24rpx 0 12rpx;
}
.inputBox {

2
manifest.json

@ -96,7 +96,7 @@
"disableHostCheck" : true,
"proxy" : {
"/api" : {
"target" : "http://192.168.1.36:48080/",
"target" : "http://192.168.1.15:48080/",
// "target" : "http://192.168.1.36:48080/",
"changeOrigin" : true,
"secure" : true,

99
pages/tabbar/index/comp/coachItem.vue

@ -0,0 +1,99 @@
<template>
<view class="coachItem">
<view class="starBoxBg">5.0</view>
<view class="info">
<view class="avatar">
<image src="@/static/images/indexIcon/xccard.png" mode=""></image>
</view>
<view class="name">张小平</view>
<view class="schoolName">翔力驾校</view>
</view>
<view class="tags">
<view class="tag" v-for="(item,index) in 3" :key="index">优秀教练</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
tagArr: ['']
}
}
}
</script>
<style lang="scss" scoped>
.coachItem {
width: 280rpx;
height: 385rpx;
background: #FFFFFF;
border-radius: 20rpx;
position: relative;
padding: 0 20rpx;
margin-right: 20rpx;
.starBoxBg {
width: 72rpx;
height: 40rpx;
background: #0A52F4;
border-radius: 20rpx 0px 20rpx 0px;
font-size: 28rpx;
color: #fff;
line-height: 40rpx;
text-align: center;
position: absolute;
left: 0;
top: 0;
}
.info {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding-top: 30rpx;
.avatar {
width: 120rpx;
height: 120rpx;
border-radius: 50%;
overflow: hidden;
}
.name {
font-size: 28rpx;
color: #333;
padding: 10rpx 0;
}
.schoolName {
font-size: 24rpx;
color: #999;
margin-bottom: 16rpx;
}
}
.tags {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.tag {
width: 110rpx;
height: 42rpx;
background: rgba(80,165,255,0.1);
border: 1px solid #50A5FF;
border-radius: 10rpx;
font-size: 20rpx;
color: #50A5FF;
text-align: center;
margin-bottom: 20rpx;
line-height: 42rpx;
&:nth-child(even) {
background: rgba(171,55,252,0.1);
border: 1px solid #AB37FC;
color: #AB37FC;
}
}
}
}
</style>

25
pages/tabbar/index/comp/informaItem.vue

@ -4,7 +4,7 @@
<image :src="item.picture" mode="aspectFill"></image>
</view>
<view class="rightText">
<view class="text towRowText">{{ item.title }}</view>
<view class="text towRowText">{{ item.title }}item.titleitem.titleitem.titleitem.titleitem.titleitem.titleitem.title</view>
<view class="date">{{ $u.timeFormat(item.createTime, 'yyyy/mm/dd') }}</view>
</view>
</view>
@ -29,32 +29,37 @@
<style lang="scss" scoped>
.flex-b {
padding: 30rpx 0 28rpx 0;
justify-content: flex-start !important;
padding-top: 30rpx;
.imgBox {
width: 184rpx;
height: 148rpx;
width: 200rpx;
height: 135rpx;
background: linear-gradient(180deg, rgba(0, 122, 255, 0.5) 0%, #007AFF 100%);
border-radius: 6rpx;
border-radius: 20rpx;
overflow: hidden;
}
.rightText {
flex: 1;
padding: 0 0 0 30rpx;
height: 148rpx;
width: 0;
padding: 0rpx 0 0rpx 30rpx;
height: 168rpx;
box-sizing: content;
display: flex;
flex-direction: column;
justify-content: space-between;
border-bottom: 1px solid #F4F4F4;
.text {
font-size: 24rpx;
font-size: 28rpx;
color: #333;
min-height: 62rpx;
margin-top: 6rpx;
}
.date {
font-size: 20rpx;
color: #686B73;
margin-bottom: 30rpx;
}
}
}

39
pages/tabbar/index/comp/schoolItem.vue

@ -5,18 +5,15 @@
</view>
<view class="textCon">
<view class="name">翔力驾校</view>
<view class="flex-b">
<view class="starBox">
<!-- <u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="item.stars" :readonly="true" style="pointer-events: none;"></u-rate> -->
<view class="num">5</view>
</view>
<view class="adr">距您0.6km</view>
</view>
<view class="adr"><text style="margin-right: 6rpx;">西工区</text> 距您0.6km</view>
<!-- <view class="credit">行业信用 <text v-if="item.creditrating">{{item.creditrating}}</text></view> {{ $u.utils.distanceFn(item.distance)}}-->
</view>
<callPhone v-if="showPhone" :servicePhone="[{name: item.phone}]">
<view class="pozPhone">
<image src="@/static/images/index/telephone.png" mode=""></image>
<image src="@/static/images/indexIcon/phone.png" mode=""></image>
</view>
</callPhone>
</view>
@ -44,16 +41,16 @@
.itemBox {
background: #FFFFFF;
border-radius: 16rpx;
padding: 24rpx;
padding: 30rpx;
position: relative;
display: flex;
margin-bottom: 20rpx;
border-bottom: 1px solid #F4F4F4;
}
.img {
width: 204rpx;
height: 140rpx;
width: 200rpx;
height: 135rpx;
background: #f6f6f6;
border-radius: 8rpx;
border-radius: 20rpx;
overflow: hidden;
}
@ -62,18 +59,19 @@
font-size: 24rpx;
padding: 0 0 0 36rpx;
.name {
font-size: 32rpx;
font-size: 28rpx;
margin-top: 4rpx;
color: #363A44;
font-weight: 600;
min-height: 84rpx;
}
.starBox {
display: flex;
padding: 6rpx 0 6rpx 0;
margin: 10rpx 0;
.num {
color: $themC;
width: 72rpx;
color: #fff;
font-size: 24rpx;
text-align: center;
line-height: 32rpx;
}
}
@ -83,16 +81,17 @@
}
.adr {
color: #363A44;
color: #999;
font-size: 24rpx;
}
}
.pozPhone {
position: absolute;
top: 40%;
top: 42%;
right: 20rpx;
width: 72rpx;
height: 72rpx;
width: 55rpx;
height: 55rpx;
transform: translateY(-50%);
}
</style>

230
pages/tabbar/index/index.vue

@ -1,28 +1,29 @@
<template>
<view class="main pageBg">
<view class="main">
<view class="status_bar"></view>
<view class="TopCon pad" >
<!-- 地址扫一扫 -->
<view class="flex-b">
<!-- 地址 -->
<view class="adrsCon">
<view class="adr">{{ vuex_cityInfo.city || '杭州' }} </view>
<view class="adrsIcon">
<image src="@/static/images/index/dingwei.png" mode=""></image>
<image src="@/static/images/icon/down.png" mode=""></image>
</view>
<view class="adr">{{ vuex_cityInfo.city || '杭州' }} </view>
</view>
<view class="flex-b">
<!-- 搜索 -->
<view class="searchCon" @click.capture="$goPage('/pages/indexEntry/findShcool/searchShcool/searchShcool')">
<searchRow placeholder="搜索驾校、教练…" :disable="true"></searchRow>
<searchRow placeholder="搜索驾校、教练…" :disable="true" bg="#fff"></searchRow>
</view>
<!-- 扫一扫 -->
<view class="scan" @click="scanCodeFn">
<image src="@/static/images/index/scan.png" mode="aspectFill"></image>
<image src="@/static/images/indexIcon/sancode.png" mode="aspectFill"></image>
</view>
</view>
</view>
<!-- 海报 -->
<view class="banner">
<uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="swiperInfo" v-if="swiperInfo.length"
<view class="pad">
<uni-swiper-dot class="uni-swiper-dot-box bannerCon" @clickItem=clickItem :info="swiperInfo" v-if="swiperInfo.length"
:current="current" :mode="mode" :dots-styles="dotsStyles"
field="content">
<swiper class="swiper-box" @change="change" :current="swiperDotIndex" >
@ -39,7 +40,7 @@
<view class="pad">
<!-- 精钢区 -->
<view class="card traTop">
<view class="card">
<view class="ul">
<view class="li" v-for="(item,index) in entrySection" :key="index" @tap="entrySectionClick(item)">
<view class="icon">
@ -51,25 +52,71 @@
</view>
<!-- 优质驾校 -->
<view class="schoolCon">
<view class="h1" style="margin: 28rpx 0;">优质驾校</view>
<view class="schoolCon card">
<view class="h1_row">
<view class="h1" style="margin: 28rpx 0;"><text class="active">优质驾校</text></view>
<moreRight text="查看全部"/>
</view>
<view class="li" v-for="(item,index) in 3" :key="index">
<schoolItem/>
</view>
</view>
<!-- 推荐教练 -->
<view class="coachCon">
<view class="h1_row">
<view class="h1" style="margin: 28rpx 0;"><text class="active">推荐教练</text></view>
<moreRight text="查看全部"/>
</view>
<scroll-view style="width: 100%;" scroll-x="true" scroll-with-animation >
<view class="ul3">
<view class="li3" v-for="item in 6" :key="item">
<coachItem/>
</view>
</view>
</scroll-view>
</view>
<!-- 行业资讯政策法规 -->
<view class="information">
<view class="card">
<view class="h1_row">
<view class="tabs">
<view class="tab active">行业资讯</view>
<view class="tab">政策法规</view>
<view class="h1 "><text class="active">行业资讯</text></view>
<view class="h1"><text>政策法规</text></view>
</view>
<view class="ul">
<view class="li" v-for="(item,index) in 3" :key="index">
<moreRight text="查看全部"/>
</view>
<view class="ul2">
<view class="li2" v-for="(item,index) in 3" :key="index">
<informaItem/>
</view>
</view>
</view>
<!-- 服务专区 -->
<view class="card">
<view class="h1" style="margin-top: 20rpx;"><text class="active">服务专区</text></view>
<view class="severCon">
<view class="severItem">
<view class="tit">学车指南</view>
<view class="tps">查看详细的学车流程</view>
<view class="go">
<view class="goTxt">GO</view>
<u-icon name="arrow-right" color="#fff" size="14"></u-icon>
</view>
</view>
<view class="severItem tow">
<view class="tit">学车指南</view>
<view class="tps">查看详细的学车流程</view>
<view class="go">
<view class="goTxt">GO</view>
<u-icon name="arrow-right" color="#fff" size="14"></u-icon>
</view>
</view>
</view>
</view>
</view>
<u-popup :show="showPrivacy" mode="center" :round="20" >
@ -83,8 +130,9 @@
import { getarticleList } from '@/config/api.js'
import schoolItem from './comp/schoolItem'
import informaItem from './comp/informaItem'
import coachItem from './comp/coachItem'
export default {
components: { schoolItem, informaItem },
components: { schoolItem, informaItem, coachItem },
data() {
return {
showPrivacy: false,
@ -93,7 +141,7 @@
keywords: '',
entrySection: [{
text: '学车报名',
icon: require('../../../static/images/index/ic_baoming.png'),
icon: require('../../../static/images/indexIcon/entryIcon (3).png'),
url: '/pages/indexEntry/enroll/enroll',
goPage: function (){
console.log(666)
@ -102,7 +150,7 @@
},
{
text: '找驾校',
icon: require('../../../static/images/index/ic_jiaxiao.png'),
icon: require('../../../static/images/indexIcon/entryIcon (4).png'),
url: '/pages/indexEntry/findShcool/findShcool',
goPage: (item)=>{
this.$goPage(item.url)
@ -110,27 +158,27 @@
},
{
text: '找教练',
icon: require('../../../static/images/index/ic_kaochang.png'),
icon: require('../../../static/images/indexIcon/entryIcon (1).png'),
url: '/pages/indexEntry/examines/examines',
goPage: ((item)=>{
this.$goPage(item.url)
})
},
{
text: '理论学习',
icon: require('../../../static/images/index/ic_jsg.png'),
url: '/pages/carEntry/simulateAppointment/simulateAppointment',
text: '签到签退',
icon: require('../../../static/images/indexIcon/entryIcon (5).png'),
goPage: ((item)=>{
this.$goPage(item.url)
this.$u.toast('正在开发中,敬请期待...')
})
},
{
text: '签到签退',
icon: require('../../../static/images/index/ic_peilian.png'),
text: '理论学习',
icon: require('../../../static/images/indexIcon/entryIcon (2).png'),
url: '/pages/carEntry/simulateAppointment/simulateAppointment',
goPage: ((item)=>{
this.$u.toast('正在开发中,敬请期待...')
this.$goPage(item.url)
})
}
},
],
serviceSector: [{
text: '学车指南',
@ -184,7 +232,10 @@
swiperDotIndex: 0,
current: 1,
mode: 'default',
swiperInfo: [],
swiperInfo: [
{picture: require('../../../static/images/bigImg/banner.jpg')},
{picture: require('../../../static/images/bigImg/banner2.jpg')}
],
dotsStyles: {
backgroundColor: '#E8E9EC',
border: '1px #E8E9EC solid',
@ -213,13 +264,14 @@
// console.log(this.$store.state.user.vuex_cityInfo)
},
onPullDownRefresh() {
this.getarticleListFn()
},
onShow() {
this.$store.dispatch('getUserInfo')
if(!this.swiperInfo.length) {
this.getarticleListFn()
// this.getarticleListFn()
}
this.getarticleListFn()
},
computed: {
@ -239,7 +291,7 @@
async getarticleListFn() {
const {data: res} = await getarticleList(this.params)
this.swiperInfo = res.list[0].articleManagementDO
// this.swiperInfo = res.list[0].articleManagementDO
},
async refereshFn() {
const res = await this.$store.dispatch('refreshToken')
@ -318,57 +370,80 @@
<style lang="scss" scoped>
.main {
width: 100%;
.scan {
width: 64rpx;
height: 64rpx;
.h1_row {
display: flex;
align-items: center;
justify-content: space-between;
padding-right: 20rpx;
}
.h1 {
padding-top: 10rpx;
.active {
&::before {
// width: 54rpx;
// height: 12rpx;
background: url('../../../static/images/icon/h1Active.png') #F6F7FA no-repeat;
background-size: 100% 100%;
}
}
}
.ul2 {
padding: 10rpx 20rpx 0 20rpx;
}
.main {
width: 100%;
background: url('../../../static/images/bigImg/homeBg.png') #F6F7FA no-repeat;
background-size: 100% 600rpx;
.TopCon {
width: 100%;
height: 120rpx;
// height: 120rpx;
.flex-b {
display: flex;
height: 100%;
height: 72rpx;
margin-bottom: 20rpx;
}
.adrsCon {
display: flex;
align-items: center;
width: 180rpx;
height: 100%;
height: 88rpx;
.adrsIcon {
width: 26rpx;
height: 38rpx;
width: 17rpx;
height: 17rpx;
margin-top: 4rpx;
}
.adr {
padding-left: 14rpx;
padding-right: 14rpx;
font-size: 28rpx;
color: #333;
color: #fff;
}
}
.searchCon {
flex:1;
}
.scan {
width: 100rpx;
background-color: #ddd;
height: 100%;
display: flex;
justify-content: flex-end;
align-items: center;
image {
width: 90rpx;
height: 90rpx;
width: 52rpx;
height: 52rpx;
}
}
}
.bannerCon {
border-radius: 20rpx;
margin-bottom: 20rpx;
overflow: hidden;
}
.card {
background: #FFFFFF;
@ -376,7 +451,7 @@
margin-bottom: 20rpx;
.ul {
height: 236rpx;
height: 164rpx;
display: flex;
justify-content: space-between;
align-items: center;
@ -389,8 +464,8 @@
flex-direction: column;
.icon {
width: 92rpx;
height: 92rpx;
width: 72rpx;
height: 72rpx;
}
.name {
@ -407,13 +482,52 @@
.tabs {
display: flex;
padding: 20rpx 0 10rpx 0;
.tab {
font-size: 30rpx;
color: #333;
margin-right: 20rpx;
&.active {
border-bottom: 4px solid $themC
}
.severCon {
display: flex;
align-items: center;
justify-content: space-between;
padding: 40rpx 20rpx 20rpx 20rpx;
}
.severItem {
width: 320rpx;
height: 186rpx;
background: url('../../../static/images/indexIcon/xccard.png') no-repeat;
background-size: 100% 100%;
padding: 30rpx 20rpx;
font-size: 24rpx;
color: #fff;
&.tow {
background: url('../../../static/images/indexIcon/zxcard.png') no-repeat;
background-size: 100% 100%;
.go {
background: #2AB188;
}
}
.tit {
font-size: 32rpx;
}
.tps {
opacity: 0.8;
margin: 12rpx 0;
}
.go {
width: 70rpx;
height: 38rpx;
background: #1A61FB;
border-radius: 10rpx;
display: flex;
align-items: center;
.goTxt {
padding-left: 4rpx;
}
}
}
.ul3 {
display: flex;
margin-bottom: 20rpx;
}
</style>

BIN
static/images/bigImg/banner.jpg

After

Width: 900  |  Height: 439  |  Size: 134 KiB

BIN
static/images/bigImg/banner2.jpg

After

Width: 912  |  Height: 480  |  Size: 81 KiB

BIN
static/images/bigImg/homeBg.png

After

Width: 750  |  Height: 600  |  Size: 110 KiB

BIN
static/images/icon/down.png

After

Width: 17  |  Height: 17  |  Size: 369 B

BIN
static/images/icon/h1Active.png

After

Width: 54  |  Height: 12  |  Size: 667 B

BIN
static/images/icon/searchIcon.png

After

Width: 52  |  Height: 52  |  Size: 988 B

BIN
static/images/icon/箭头(1).png

After

Width: 22  |  Height: 22  |  Size: 669 B

BIN
static/images/indexIcon/entryIcon (1).png

After

Width: 70  |  Height: 70  |  Size: 5.0 KiB

BIN
static/images/indexIcon/entryIcon (2).png

After

Width: 70  |  Height: 70  |  Size: 5.4 KiB

BIN
static/images/indexIcon/entryIcon (3).png

After

Width: 70  |  Height: 70  |  Size: 5.5 KiB

BIN
static/images/indexIcon/entryIcon (4).png

After

Width: 70  |  Height: 70  |  Size: 5.7 KiB

BIN
static/images/indexIcon/entryIcon (5).png

After

Width: 70  |  Height: 70  |  Size: 6.1 KiB

BIN
static/images/indexIcon/phone.png

After

Width: 55  |  Height: 55  |  Size: 1.4 KiB

BIN
static/images/indexIcon/sancode.png

After

Width: 52  |  Height: 52  |  Size: 790 B

BIN
static/images/indexIcon/xccard.png

After

Width: 325  |  Height: 186  |  Size: 31 KiB

BIN
static/images/indexIcon/zxcard.png

After

Width: 325  |  Height: 186  |  Size: 32 KiB

BIN
static/images/indexIcon/形状 101.png

After

Width: 54  |  Height: 12  |  Size: 671 B

BIN
static/images/indexIcon/矩形 14(1).png

After

Width: 58  |  Height: 58  |  Size: 406 B

BIN
static/images/indexIcon/矩形 14.png

After

Width: 58  |  Height: 58  |  Size: 406 B

BIN
static/images/indexIcon/矩形 24.png

After

Width: 72  |  Height: 40  |  Size: 447 B

BIN
static/images/tabbar/btn_shouye_cli.png

Before

Width: 56  |  Height: 56  |  Size: 1.7 KiB

After

Width: 40  |  Height: 40  |  Size: 672 B

BIN
static/images/tabbar/btn_shouye_nor.png

Before

Width: 56  |  Height: 56  |  Size: 2.7 KiB

After

Width: 40  |  Height: 40  |  Size: 1.2 KiB

BIN
static/images/tabbar/btn_wode_cli.png

Before

Width: 56  |  Height: 56  |  Size: 1.3 KiB

After

Width: 40  |  Height: 40  |  Size: 1.0 KiB

BIN
static/images/tabbar/btn_wode_nor.png

Before

Width: 56  |  Height: 56  |  Size: 2.1 KiB

After

Width: 40  |  Height: 40  |  Size: 1.4 KiB

BIN
static/images/tabbar/btn_xueche_cli.png

Before

Width: 56  |  Height: 56  |  Size: 1.6 KiB

After

Width: 40  |  Height: 40  |  Size: 1.1 KiB

BIN
static/images/tabbar/btn_xueche_nor.png

Before

Width: 56  |  Height: 56  |  Size: 1.9 KiB

After

Width: 40  |  Height: 40  |  Size: 1.5 KiB

Loading…
Cancel
Save