让一段代码执行在new Vue之前

这是一个自调用函数,也有人叫做一次性函数;
这样函数前面最后打一个;
;(function initApp(){
    loadApp();
})()
function loadApp (){
    //tenantContId 是一个请求
    tenantContId().then((res)=>{
        localStorage.setItem("tenantId",res)
        new Vue({
            router,
            store,
            render: h => h(App)
        }).$mount('#app')
    }).catch(err=>{
        Message.error(err);
    })
}
// 去获取租户
function tenantContId(){
    return new Promise((resolve, reject)=>{
        let hastoken= Boolean(localStorage.getItem('Authorization')) 
        if(!hastoken){
            //没有 Authorization
            let tenantId = Vue.prototype.getDomain() === 'localhost' ? getQueryVariable('s_gtn') ? getQueryVariable('s_gtn') : '' : Vue.prototype.getDomain()
            if(tenantId){
                $request.get(`/manageplapi/api/getbyuniqueid/${tenantId}`,{ uniqueId: tenantId}
                ).then((res)=>{
                    if(res.success==true){
                        resolve(res.data.id)
                    }else{
                        reject(res.msg)
                    }
                })
            }else{
                reject('无权访问')
            }
        }else{
            // 有Authorization
            console.log(localStorage.getItem('tenantId'))
            resolve(localStorage.getItem('tenantId'))
        }
    })
}

posted @ 2020-11-11 09:05  南风晚来晚相识  阅读(229)  评论(0编辑  收藏  举报