78 lines
2.4 KiB
JavaScript
78 lines
2.4 KiB
JavaScript
// The Vue build version to load with the `import` command
|
|
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
|
|
import Vue from 'vue'
|
|
import App from './App'
|
|
import router from './router'
|
|
import store from './vuex/store'
|
|
import '@style/reset.css'
|
|
import fastClick from 'fastclick'
|
|
import infiniteScroll from 'vue-infinite-scroll'
|
|
import VueTouchKeyboard from 'vue-touch-keyboard'
|
|
import 'vue-touch-keyboard/dist/vue-touch-keyboard.css'
|
|
import { DatePicker, Select, Option, Radio, Menu, MenuItem, Tree, Loading } from 'element-ui'
|
|
import '@style/common.styl'
|
|
import i18n from './i18n/i18n'
|
|
import '@config/rem.js'
|
|
import {post} from '@config/http.js'
|
|
import { Dialog, toast } from '@config/utils.js'
|
|
import JSEncrypt from 'jsencrypt'
|
|
|
|
fastClick.attach(document.body)
|
|
Vue.use(DatePicker)
|
|
Vue.use(Select)
|
|
Vue.use(Option)
|
|
Vue.use(Radio)
|
|
Vue.use(Menu)
|
|
Vue.use(MenuItem)
|
|
Vue.use(Tree)
|
|
Vue.use(Loading)
|
|
Vue.use(infiniteScroll)
|
|
Vue.use(VueTouchKeyboard)
|
|
Vue.prototype.$post = post
|
|
Vue.prototype.Dialog = Dialog
|
|
Vue.prototype.toast = toast
|
|
Vue.config.productionTip = false
|
|
|
|
Vue.prototype.$langPre = {
|
|
computedProp (suffix) {
|
|
// return localstorage.getItem( key: 'lang') + '_' + suffix
|
|
return i18n.locale.slice(0, 2) + '_' + suffix
|
|
}
|
|
}
|
|
|
|
const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' +
|
|
'2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ=='
|
|
|
|
const privateKey = 'MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8\n' +
|
|
'mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9p\n' +
|
|
'B6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue\n' +
|
|
'/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZ\n' +
|
|
'UBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6\n' +
|
|
'vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha\n' +
|
|
'4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3\n' +
|
|
'tTbklZkD2A=='
|
|
|
|
// 加密
|
|
export function encrypt (txt) {
|
|
const encryptor = new JSEncrypt()
|
|
encryptor.setPublicKey(publicKey) // 设置公钥
|
|
return encryptor.encrypt(txt) // 对需要加密的数据进行加密
|
|
}
|
|
|
|
// 解密
|
|
export function decrypt (txt) {
|
|
const encryptor = new JSEncrypt()
|
|
encryptor.setPrivateKey(privateKey)
|
|
return encryptor.decrypt(txt)
|
|
}
|
|
|
|
/* eslint-disable no-new */
|
|
new Vue({
|
|
el: '#app',
|
|
router,
|
|
store,
|
|
i18n,
|
|
components: { App },
|
|
template: '<App/>'
|
|
})
|