import Vue from 'vue'
import store from './store';
import App from './App'
import util from './untils/func.js'
import uView from '@/uni_modules/uview-ui'
import config from './config';
import tools from '@/untils/tools.js'
import {
    VueJsonp
} from 'vue-jsonp'
import {
    GoLogin
} from '@/untils/AxiosUtils.js';
// 注册全局组件
// import MescrollBody from "@/components/mescroll-uni/mescroll-body.vue"
// import MescrollUni from "@/components/mescroll-uni/mescroll-uni.vue"
// Vue.component('mescroll-body', MescrollBody)
// Vue.component('mescroll-uni', MescrollUni)

import empty from '@/components/empty/empty.vue'

function haslogin() {
    return !!store.state.user.token
}

function hasResume() { // 是否填写简历
    const data = store.state.user.resumeInfo
    if (!(data.education && data.telephone && data.wage && data.workplace)) {
        return false
    }
    return true
}

function navTo(url, needLogin) {
    if (needLogin && !haslogin()) {
        GoLogin()
        return
    }
    uni.navigateTo({
        url: url
    })
}


const msg = (title, duration = 1500, mask = false, icon = 'none') => {
    uni.showToast({
        title,
        duration,
        mask,
        icon
    });
}
const sleep = (time) => new Promise(resolve => setTimeout(resolve, time))

// 注册全局组件
import JlButton from "@/components/jl-button/main.vue"
import JlForm from "@/components/jl-form/main.vue"
import JlFormItem from "@/components/jl-form/item.vue"
import CSButton from "@/components/cs-button/main.vue"
import superMapView from '@/components/uMapView/uMapView.vue';
Vue.component('jl-button', JlButton)
Vue.component('jl-form', JlForm)
Vue.component('jl-form-item', JlFormItem)
Vue.component('cs-button', CSButton)
Vue.component('super-map', superMapView)
Vue.component('empty', empty)
Vue.prototype.$api = {
    msg,
    sleep,
    haslogin,
    hasResume
}
Vue.prototype.tools = tools
Vue.prototype.$config = config
Vue.prototype.navTo = navTo
Vue.config.productionTip = false
Vue.use(VueJsonp)
Vue.use(util)
Vue.use(uView)

App.mpType = 'app'
const app = new Vue({
    ...App,
    store
})
app.$mount()