import Vue from 'vue';
import App from './App';
import "./static/common/css/font.css"
import common from './static/common/js/common'
import { getHeadImgUrl } from '@/common/utils.js';
import jweixin from 'jweixin-module'
import {
	HubConnectionBuilder,
	LogLevel,
} from "./uni_modules/Lyuan-SignalR/js_sdk/signalr";

// 导入自定义TabBar组件
import CustomTabBar from '@/components/custom-tab-bar/custom-tab-bar.vue';
Vue.component('custom-tab-bar', CustomTabBar);

Vue.config.productionTip = false;

App.mpType = 'app';
// 提示
var tips = function(title, type, time) {
	this.$refs.uTips.show({
		title: title ? title : "",
		type: type ? type : "success",
		duration: time ? time + "" : "1000",
	});
}

// 导入公用js
Vue.prototype.$tips = tips
Vue.prototype.common = common
Vue.prototype.$getHeadImgUrl = function (url, defaultUrl) {
	let baseUrl = '';
	if (this.$u && this.$u.http && this.$u.http.config && this.$u.http.config.baseUrl) {
		baseUrl = this.$u.http.config.baseUrl;
	}
	return getHeadImgUrl(url, baseUrl, defaultUrl);
}
// 导入微信sdk
Vue.prototype.jweixin = jweixin
// 引入全局uView
import uView from 'uview-ui';
Vue.use(uView);

// 此处为演示vuex使用，非uView的功能部分
import store from '@/store';

// 引入uView提供的对vuex的简写法文件
let vuexStore = require('@/store/$u.mixin.js');
Vue.mixin(vuexStore);

// 引入uView对小程序分享的mixin封装
let mpShare = require('uview-ui/libs/mixin/mpShare.js');
Vue.mixin(mpShare);

// 引入 jsonp
import {VueJsonp} from 'vue-jsonp'   //中间有忘记大括号出现install undefind问题
Vue.use(VueJsonp)

// i18n部分的配置
// 引入语言包，注意路径
import Chinese from '@/common/locales/zh.js';
import English from '@/common/locales/en.js';

// VueI18n
import VueI18n from '@/common/vue-i18n.min.js';

// VueI18n
Vue.use(VueI18n);

const i18n = new VueI18n({
	// 默认语言
	locale: 'zh',
	// 引入语言文件
	messages: {
		'zh': Chinese,
		'en': English,
	}
});

// 由于微信小程序的运行机制问题，需声明如下一行，H5和APP非必填
Vue.prototype._i18n = i18n;


const app = new Vue({
	i18n,
	store,
	...App
});

// http拦截器，将此部分放在new Vue()和app.$mount()之间，才能App.vue中正常使用
import httpInterceptor from '@/common/http.interceptor.js';
Vue.use(httpInterceptor, app);

// http接口API抽离，免于写url或者一些固定的参数
import httpApi from '@/common/http.api.js';
Vue.use(httpApi, app);

import httpApiList from '@/common/http.apiList.js';
Vue.use(httpApiList, app);

var connection = new HubConnectionBuilder()
	// .withUrl("https://xy.apps.service.zheke.com/ChatHub",)
	.withUrl("http://sl.vrgon.com:8003/ChatHub",)
	.configureLogging(LogLevel.Error)
	.build();





Vue.prototype.$connection = connection




app.$mount();
