123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <template>
- <view :style="colorStyle">
- <view style="touch-action: none;">
- <view class="home" style="position:fixed;" :style="{ top: top + 'px'}" id="right-nav"
- @touchmove.stop.prevent="setTouchMove">
- <view class="homeCon bg-color" :class="homeActive === true ? 'on' : ''" v-if="homeActive">
- <navigator hover-class='none' open-type="switchTab" url='/pages/index/index'
- class='iconfont icon-shouye-xianxing'>
- </navigator>
- <navigator hover-class='none' open-type="switchTab" url='/pages/order_addcart/order_addcart'
- class='iconfont icon-caigou-xianxing'></navigator>
- <navigator hover-class='none' open-type="switchTab" url='/pages/user/index'
- class='iconfont icon-yonghu1'></navigator>
- </view>
- <view @click="open" class="pictrueBox">
- <view class="pictrue">
- <image :src="
- homeActive === true
- ? imgHost + '/statics/images/close.gif'
- : imgHost + '/statics/images/open.gif'
- " class="image" />
- </view>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- import {
- mapGetters
- } from "vuex";
- import colors from '@/mixins/color.js';
- import {HTTP_REQUEST_URL} from '@/config/app';
- export default {
- name: "Home",
- props: {},
- mixins:[colors],
- data: function() {
- return {
- top: "545",
- imgHost:HTTP_REQUEST_URL
- };
- },
- computed: mapGetters(["homeActive"]),
- methods: {
- setTouchMove(e) {
- var that = this;
- if (e.touches[0].clientY < 545 && e.touches[0].clientY > 66) {
- that.top = e.touches[0].clientY
- // that.setData({
- // top: e.touches[0].clientY
- // })
- }
- },
- open: function() {
- this.homeActive ?
- this.$store.commit("CLOSE_HOME") :
- this.$store.commit("OPEN_HOME");
- }
- },
- created() {},
- beforeDestroy() {
- this.$store.commit("CLOSE_HOME")
- }
- };
- </script>
- <style scoped>
- .pictrueBox {
- width: 130rpx;
- height: 120rpx;
- }
- /*返回主页按钮*/
- .home {
- position: fixed;
- color: white;
- text-align: center;
- z-index: 999;
- right: 15rpx;
- display: flex;
- }
- .home .homeCon {
- border-radius: 50rpx;
- opacity: 0;
- height: 0;
- color: var(--view-theme);
- width: 0;
- }
- .home .homeCon.on {
- opacity: 1;
- animation: bounceInRight 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000);
- width: 300rpx;
- height: 86rpx;
- margin-bottom: 20rpx;
- display: flex;
- justify-content: center;
- align-items: center;
- background: var(--view-theme) !important;
- opacity: 0.8;
- backdrop-filter: blur(10px);
- }
- .home .homeCon .iconfont {
- font-size: 48rpx;
- color: #fff;
- display: inline-block;
- margin: 0 auto;
- }
- .home .pictrue {
- width: 86rpx;
- height: 86rpx;
- border-radius: 50%;
- margin: 0 auto;
- background-color: var(--view-theme);
- }
- .home .pictrue .image {
- width: 100%;
- height: 100%;
- border-radius: 50%;
- transform: rotate(90deg);
- ms-transform: rotate(90deg);
- moz-transform: rotate(90deg);
- webkit-transform: rotate(90deg);
- o-transform: rotate(90deg);
- }
- </style>
|