indexBundle.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import VueI18n from 'vue-i18n'
  2. import 'normalize.css/normalize.css'
  3. import GenerateForm from './components/GenerateForm.vue'
  4. import enUS from './lang/en-US'
  5. import zhCN from './lang/zh-CN'
  6. import './iconfont/iconfont.css'
  7. import './styles/cover.scss'
  8. import './styles/index.scss'
  9. import './styles/editor.scss'
  10. const loadLang = function (Vue, lang, locale, i18n) {
  11. if (locale) {
  12. locale('en-US', {...locale('en-US'), ...enUS})
  13. locale('zh-CN', {...locale('zh-CN'), ...zhCN})
  14. Vue.config.lang = lang
  15. } else if (i18n){
  16. i18n.setLocaleMessage('en-US', {...i18n.messages['en-US'], ...enUS})
  17. i18n.setLocaleMessage('zh-CN', {...i18n.messages['zh-CN'], ...zhCN})
  18. i18n.locale = lang
  19. } else {
  20. Vue.use(VueI18n)
  21. Vue.locale('en-US', {...Vue.locale('en-US'), ...enUS})
  22. Vue.locale('zh-CN', {...Vue.locale('zh-CN'), ...zhCN})
  23. Vue.config.lang = lang
  24. }
  25. }
  26. const expire = 32503651199000
  27. GenerateForm.install = function (Vue, opts = {
  28. lang: 'zh-CN',
  29. locale: null,
  30. i18n: null
  31. }) {
  32. loadLang(Vue, opts.lang, opts.locale, opts.i18n)
  33. if (expire >= new Date().getTime()) {
  34. Vue.component(GenerateForm.name, GenerateForm)
  35. }
  36. }
  37. const components = [
  38. GenerateForm
  39. ]
  40. const install = function (Vue, opts = {
  41. lang: 'zh-CN',
  42. locale: null,
  43. i18n: null
  44. }) {
  45. loadLang(Vue, opts.lang, opts.locale, opts.i18n)
  46. if (expire >= new Date().getTime()) {
  47. components.forEach(component => {
  48. Vue.component(component.name, component)
  49. })
  50. }
  51. }
  52. if (typeof window !== 'undefined' && window.Vue) {
  53. install(window.Vue);
  54. }
  55. export {
  56. install,
  57. GenerateForm
  58. }
  59. export default {
  60. install,
  61. GenerateForm
  62. }