129 lines
3.1 KiB
JavaScript
129 lines
3.1 KiB
JavaScript
import Vue from 'vue'
|
||
import 'element-ui/lib/theme-chalk/index.css';
|
||
import App from './App.vue'
|
||
import router from './router'
|
||
import store from './store'
|
||
import "./assets/icon/iconfont.css"
|
||
import ElementUI from 'element-ui';
|
||
import axios from "axios";
|
||
// 引入VueI18n
|
||
import i18n from './lang/index'
|
||
import API from "./api/api"
|
||
import VueQuillEditor from 'vue-quill-editor'
|
||
import 'quill/dist/quill.core.css'
|
||
|
||
import 'quill/dist/quill.snow.css'
|
||
|
||
import 'quill/dist/quill.bubble.css'
|
||
import './assets/style.css' //全局单词首字母大写
|
||
import Dropdown from './components/dropdownBox.vue';
|
||
import MetaInfo from 'vue-meta-info'
|
||
|
||
Vue.use(MetaInfo)
|
||
|
||
Vue.component('Dropdown', Dropdown);
|
||
|
||
Vue.use(VueQuillEditor) // 注册富文本编辑器
|
||
|
||
|
||
|
||
// Vue.config.productionTip =false
|
||
|
||
//el-tabel 使用千分位格式
|
||
import {stateFormat,handleScopeFormat,stateFormat2} from './util/thousands'
|
||
import {$addStorageEvent} from '../src/util/processingData'
|
||
Vue.prototype.stateFormat = stateFormat
|
||
Vue.prototype.stateFormat2 = stateFormat2
|
||
Vue.prototype.handleScopeFormat = handleScopeFormat
|
||
|
||
|
||
// element-ui 为了兼容vue-i18n@6.x
|
||
Vue.use(ElementUI, {
|
||
i18n: (key, value) => i18n.t(key, value)
|
||
})
|
||
|
||
|
||
|
||
|
||
|
||
Vue.prototype.$axios = axios
|
||
Vue.prototype.$API = API
|
||
Vue.use(ElementUI);
|
||
|
||
Vue.config.productionTip = false
|
||
|
||
// //监听localstorage
|
||
Vue.prototype.$addStorageEvent = $addStorageEvent
|
||
|
||
|
||
console.log = ()=>{} //全局关闭打印
|
||
|
||
|
||
|
||
|
||
window.a = Vue
|
||
window.vm = new Vue({
|
||
router,
|
||
store,
|
||
i18n,
|
||
render: h => h(App),
|
||
created() {
|
||
this.$watch(
|
||
() => this.$i18n.locale,
|
||
(newLocale) => {
|
||
this.updateMetaAndTitle();
|
||
}
|
||
);
|
||
this.updateMetaAndTitle();
|
||
this.updateCanonicalUrl(); // 添加这行
|
||
},
|
||
mounted () {
|
||
document.dispatchEvent(new Event('render-event'))
|
||
},
|
||
methods: {
|
||
updateMetaAndTitle() {
|
||
document.title = this.$i18n.t('seo.appTitle');
|
||
const descriptionMeta = document.querySelector('meta[name="description"]');
|
||
const keywordsMeta = document.querySelector('meta[name="keywords"]');
|
||
|
||
if (descriptionMeta) {
|
||
descriptionMeta.content = this.$i18n.t('seo.metaDescription');
|
||
}
|
||
if (keywordsMeta) {
|
||
keywordsMeta.content = this.$i18n.t('seo.metaKeywords');
|
||
}
|
||
},
|
||
|
||
updateCanonicalUrl() {//更新index。html的canonical 确保每个页面都有正确的规范链接
|
||
const canonicalLink = document.querySelector('link[rel="canonical"]');
|
||
if (canonicalLink) {
|
||
// 根据当前路由更新 canonical URL
|
||
const path = this.$route.path;
|
||
const baseUrl = 'https://coinbus.cc';
|
||
|
||
// 如果是首页,使用基础URL
|
||
if (path === '/') {
|
||
canonicalLink.href = baseUrl;
|
||
} else {
|
||
// 其他页面添加路径
|
||
canonicalLink.href = `${baseUrl}${path}`;
|
||
}
|
||
}
|
||
},
|
||
|
||
|
||
|
||
|
||
},
|
||
watch: {
|
||
// 监听路由变化
|
||
'$route'() {
|
||
this.updateCanonicalUrl();
|
||
}
|
||
}
|
||
}).$mount('#app')
|
||
|
||
// 初次加载和DOM加载完成时更新
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
window.vm.updateMetaAndTitle();
|
||
}); |