3
0
Fork 0
web-store-retail-h5/components/cl-tabbar.vue

273 lines
6.3 KiB
Vue
Raw Normal View History

2025-03-23 09:29:40 +08:00
<!--
2025-06-09 14:39:09 +08:00
* @Descripttion:
* @version:
2025-03-23 09:29:40 +08:00
* @Author: kBank
* @Date: 2022-11-21 15:11:22
-->
<template>
<view>
<!-- v-if="user.skin == 0" -->
2025-06-09 14:39:09 +08:00
<u-tabbar
v-if="systemSkin === 0"
:value="current ? current : 0"
@change="tabbarChange"
:fixed="true"
:placeholder="false"
:border="false"
:safeAreaInsetBottom="true"
inactiveColor="#666666"
activeColor="#333333"
>
<u-tabbar-item :text="'首页'">
2025-06-09 14:39:09 +08:00
<image
class="u-page__item__slot-icon"
slot="active-icon"
src="@/static/images/one1.png"
></image>
<image
class="u-page__item__slot-icon"
slot="inactive-icon"
src="@/static/images/one2.png"
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
2025-06-19 09:39:59 +08:00
<u-tabbar-item :text="'会员专区'">
2025-06-09 14:39:09 +08:00
<image
class="u-page__item__slot-icon"
slot="active-icon"
2025-06-19 09:39:59 +08:00
src="@/static/images/five1.jpg"
2025-06-09 14:39:09 +08:00
></image>
<image
class="u-page__item__slot-icon"
slot="inactive-icon"
2025-06-19 09:39:59 +08:00
src="@/static/images/five2.jpg"
2025-06-09 14:39:09 +08:00
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
2025-06-19 09:39:59 +08:00
<u-tabbar-item :text="'个人推广'">
2025-06-09 14:39:09 +08:00
<image
class="u-page__item__slot-icon"
slot="active-icon"
2025-06-19 09:39:59 +08:00
src="@/static/images/share-act.svg"
2025-06-09 14:39:09 +08:00
></image>
<image
class="u-page__item__slot-icon"
slot="inactive-icon"
2025-06-19 09:39:59 +08:00
src="@/static/images/share.svg"
2025-06-09 14:39:09 +08:00
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
2025-06-19 09:39:59 +08:00
<u-tabbar-item :text="'购物车'" :badge="shopCarLength">
2025-06-09 14:39:09 +08:00
<image
class="u-page__item__slot-icon"
slot="active-icon"
src="@/static/images/three1.png"
></image>
<image
class="u-page__item__slot-icon"
slot="inactive-icon"
src="@/static/images/three2.png"
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
<u-tabbar-item :text="'我的'">
2025-06-09 14:39:09 +08:00
<image
class="u-page__item__slot-icon"
slot="active-icon"
src="@/static/images/fore1.png"
></image>
<image
class="u-page__item__slot-icon"
slot="inactive-icon"
src="@/static/images/fore2.png"
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
</u-tabbar>
2025-06-09 14:39:09 +08:00
<u-tabbar
:value="current ? current : 0"
class="greenEd"
v-if="systemSkin === 2"
@change="tabbarChange"
:fixed="true"
:placeholder="false"
:border="false"
:safeAreaInsetBottom="true"
inactiveColor="#666666"
activeColor="#333333"
>
<u-tabbar-item :text="'首页'">
2025-06-09 14:39:09 +08:00
<image
class="u-page__item__slot-icon1"
slot="active-icon"
src="@/static/images/one11.jpg"
></image>
<image
class="u-page__item__slot-icon1"
slot="inactive-icon"
src="@/static/images/one11.jpg"
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
2025-06-19 09:39:59 +08:00
<u-tabbar-item :text="'会员专区'">
2025-06-09 14:39:09 +08:00
<image
2025-06-19 09:39:59 +08:00
class="u-page__item__slot-icon2"
2025-06-09 14:39:09 +08:00
slot="active-icon"
2025-06-19 09:39:59 +08:00
src="@/static/images/five11.jpg"
2025-06-09 14:39:09 +08:00
></image>
<image
2025-06-19 09:39:59 +08:00
class="u-page__item__slot-icon2"
2025-06-09 14:39:09 +08:00
slot="inactive-icon"
2025-06-19 09:39:59 +08:00
src="@/static/images/five11.jpg"
2025-06-09 14:39:09 +08:00
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
2025-06-19 09:39:59 +08:00
<u-tabbar-item :text="'个人推广'">
2025-06-09 14:39:09 +08:00
<image
2025-06-19 09:39:59 +08:00
class="u-page__item__slot-icon1"
2025-06-09 14:39:09 +08:00
slot="active-icon"
2025-06-19 09:39:59 +08:00
src="@/static/images/share-act.svg"
2025-06-09 14:39:09 +08:00
></image>
<image
2025-06-19 09:39:59 +08:00
class="u-page__item__slot-icon1"
2025-06-09 14:39:09 +08:00
slot="inactive-icon"
2025-06-19 09:39:59 +08:00
src="@/static/images/share.svg"
2025-06-09 14:39:09 +08:00
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
2025-06-19 09:39:59 +08:00
<u-tabbar-item :text="'购物车'" :badge="shopCarLength">
2025-06-09 14:39:09 +08:00
<image
class="u-page__item__slot-icon1"
slot="active-icon"
src="@/static/images/three11.jpg"
></image>
<image
class="u-page__item__slot-icon1"
slot="inactive-icon"
src="@/static/images/three11.jpg"
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
<u-tabbar-item :text="'我的'">
2025-06-09 14:39:09 +08:00
<image
class="u-page__item__slot-icon1"
slot="active-icon"
src="@/static/images/fore11.jpg"
></image>
<image
class="u-page__item__slot-icon1"
slot="inactive-icon"
src="@/static/images/fore11.jpg"
></image>
2025-03-23 09:29:40 +08:00
</u-tabbar-item>
</u-tabbar>
2025-03-23 09:29:40 +08:00
</view>
</template>
<script>
2025-06-09 14:39:09 +08:00
import { mapGetters } from 'vuex'
2025-03-23 09:29:40 +08:00
export default {
props: {
current: Number,
},
data() {
return {
list: [
{
text: '首页',
2025-03-23 09:29:40 +08:00
path: 'pages/index/index',
},
{
text: '会员专区',
2025-03-23 09:29:40 +08:00
path: 'pages/specialArea/index',
},
2025-06-19 09:39:59 +08:00
{
text: '个人推广',
path: 'pages/mine/share/index',
},
2025-03-23 09:29:40 +08:00
{
text: '购物车',
2025-03-23 09:29:40 +08:00
path: 'pages/shoppingCar/index',
},
2025-03-23 09:29:40 +08:00
{
text: '我的',
2025-03-23 09:29:40 +08:00
path: 'pages/mine/index',
},
],
}
},
computed: {
...mapGetters(['shopCarLength', 'user']),
systemSkin() {
2025-06-09 14:39:09 +08:00
return this.user?.skin || 0
},
2025-03-23 09:29:40 +08:00
},
methods: {
tabbarChange(e) {
uni.switchTab({
url: '/' + this.list[e].path,
})
},
},
}
</script>
<style lang="scss">
.u-page__item__slot-icon {
width: 20px;
height: 20px;
}
2025-03-23 09:29:40 +08:00
.u-page__item__slot-icon1 {
width: 35px;
height: 35px;
// margin-bottom: 20px
}
2025-03-23 09:29:40 +08:00
.u-page__item__slot-icon2 {
width: 35px;
height: 35px;
// margin-bottom: 20px
}
.greenEd {
::v-deep .u-tabbar__content {
background: linear-gradient(to bottom, #fff, #b6fdda);
2025-03-23 09:29:40 +08:00
}
::v-deep .u-tabbar__content__item-wrapper {
2025-06-09 14:39:09 +08:00
height: 80px;
2025-03-23 09:29:40 +08:00
}
::v-deep .u-tabbar-item {
2025-03-23 09:29:40 +08:00
// margin-bottom: 30px;
}
}
2025-06-19 16:09:33 +08:00
/* iPhone安全区域适配 */
/* 绿色主题的安全区域适配 */
.greenEd {
::v-deep .u-tabbar__content {
background: linear-gradient(to bottom, #fff, #b6fdda);
/* 绿色主题的安全区域背景 */
&::after {
background: #b6fdda;
}
}
}
/* 针对不同屏幕尺寸的优化 */
@media screen and (max-height: 667px) {
/* iPhone SE等小屏设备 */
::v-deep .u-tabbar__content__item-wrapper {
height: 70px;
}
}
@media screen and (min-height: 812px) {
/* iPhone X及以上机型 */
::v-deep .u-tabbar__content__item-wrapper {
height: 80px;
}
}
2025-03-23 09:29:40 +08:00
</style>