1
mayisheng
2022-08-15 81f54040c2cb65537c6c6e1db8358a39a57dea0d
src/App.vue
@@ -1,27 +1,118 @@
<template>
    <div id="app">
        <router-view></router-view>
    <div id="app" :class="{ cantdoit: cantdoits }">
        <router-view v-if="isRouterActive"></router-view>
    </div>
</template>
<script>
import AMapLoader from '@amap/amap-jsapi-loader'
export default {
    name: 'App',
    provide () {
        return { reload: this.reload }
    },
    data () {
        return {
            cantdoits: false,
            isRouterActive: true
        }
    },
    mounted () {
        var transmitData = {}
        var url = window.location.href
        if (url.indexOf('?') != -1) {
            var arr = url.split('?')
            var brr = arr[1].split('&')
            brr.forEach((item, index) => {
                var a = item.split('=')
                transmitData[a[0]] = decodeURIComponent(a[1])
            })
            try {
                transmitData = JSON.parse(transmitData)
            } catch (error) { }
        }
        this.$store.commit('set_urlParameterData', transmitData) // 传入数据
        if (this._isMobile()) {
            this.cantdoits = true
            // 手机端
            this.$router.replace('/mobileLayout')
            AMapLoader.load({
                key: '9c4b1a0ce88821775605e726073c52b5', // 申请好的Web端开发者Key,首次调用 load 时必填
                version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
                plugins: [] // 插件列表
            })
                .then((AMap) => {
                    window.AMap = AMap
                    // that.map = new AMap.Map("mymap", {
                    //   center: [115.84414205551147, 28.678983439095823],
                    //   zoom: 14,
                    // });
                    // this.map.on('touchmove', (e) => {
                    //     console.log(e)
                    // })
                    // that.getLocationInfor(AMap, 115.84414205551147, 28.678983439095823);
                    // that.map.on("mapmove", () => {
                    //   that.mouseMoveFlag = false;
                    //   that.mouseMoveFlag = true;
                    //   var currentCenter = that.map.getCenter();
                    //   if (that.setime) {
                    //     clearTimeout(that.setime);
                    //   }
                    //   that.setime = setTimeout(() => {
                    //     that.getLocationInfor(AMap, currentCenter.lng, currentCenter.lat);
                    //     clearTimeout(that.setime);
                    //     that.setime = null;
                    //   }, 200);
                    // });
                    // this.map.on('mousemove', (e) => {
                    //     console.log(e)
                    // })
                })
                .catch((e) => {
                    console.log(e)
                })
        } else {
            // pc端
            // this.$router.replace('/large')
            this.$router.replace('/pcLayout')
        }
    },
    methods: {
        reload () {
            this.isRouterActive = false
            this.$nextTick(() => {
                this.isRouterActive = true
                this.$store.commit('SET_VIEWEREXIST', false)
            })
        },
        getQueryString (name) {
            const inlength =
                window.location.href.indexOf('?' + name + '=') + name.length + 2
            // console.log(inlength);
            // console.log(window.location.href);
            var r = window.location.href.slice(inlength)
            if (r != null) return decodeURIComponent(r)
            return null
        },
        getQueryVariable (variable) {
            var query = window.location.search.substring(1)
            var vars = query.split('&')
            for (var i = 0; i < vars.length; i++) {
                var pair = vars[i].split('=')
                if (pair[0] == variable) {
                    return pair[1]
                }
            }
            return false
        },
        _isMobile () {
            const flag = navigator.userAgent.match(
                /(phone|pad|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows phone)/i
@@ -48,5 +139,14 @@
    color: #2c3e50;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.cantdoit * {
    -webkit-touch-callout: none !important; /*系统默认菜单被禁用*/
    -webkit-user-select: none !important; /*webkit浏览器*/
    -khtml-user-select: none !important; /*早期浏览器*/
    -moz-user-select: none !important; /*火狐*/
    -ms-user-select: none !important; /*IE10*/
    user-select: none !important;
}
</style>