n20-common-lib 2.7.69 → 2.7.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "2.7.69",
3
+ "version": "2.7.70",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -93,13 +93,41 @@
93
93
  @changType="getChangetype"
94
94
  >
95
95
  <div slot="header" class="login-form-header m-b text-c">
96
- <el-dropdown class="m-l-lg login-language-box" @command="setLang">
97
- <span>{{ langMap[langVal] | $lc }}<i class="el-icon-arrow-down el-icon--right"></i></span>
96
+ <el-dropdown
97
+ v-if="!langConf.hideLang && langConf.lang.length > 1"
98
+ class="m-l-lg login-language-box"
99
+ @command="setLang"
100
+ >
101
+ <span>
102
+ {{
103
+ (langVal === 'vi'
104
+ ? '越南语'
105
+ : langVal === 'zh-hk'
106
+ ? '繁体中文'
107
+ : langVal === 'en'
108
+ ? '英文'
109
+ : langVal === 'th'
110
+ ? '泰文'
111
+ : '简体中文') | $l
112
+ }}
113
+ <i class="el-icon-arrow-down el-icon--right"></i>
114
+ </span>
98
115
  <el-dropdown-menu slot="dropdown">
99
- <el-dropdown-item command="zh-cn">{{ '简体中文' | $lc }}</el-dropdown-item>
100
- <el-dropdown-item command="zh-hk">{{ '繁体中文' | $lc }}</el-dropdown-item>
101
- <el-dropdown-item command="en">{{ '英文' | $lc }}</el-dropdown-item>
102
- <el-dropdown-item command="th">{{ '泰文' | $lc }}</el-dropdown-item>
116
+ <el-dropdown-item v-if="langConf.lang.includes('zh-cn')" command="zh-cn">
117
+ {{ '简体中文' | $lc }}
118
+ </el-dropdown-item>
119
+ <el-dropdown-item v-if="langConf.lang.includes('zh-hk')" command="zh-hk">
120
+ {{ '繁体中文' | $lc }}
121
+ </el-dropdown-item>
122
+ <el-dropdown-item v-if="langConf.lang.includes('en')" command="en">
123
+ {{ '英文' | $lc }}
124
+ </el-dropdown-item>
125
+ <el-dropdown-item v-if="langConf.lang.includes('th')" command="th">
126
+ {{ '泰文' | $lc }}
127
+ </el-dropdown-item>
128
+ <el-dropdown-item v-if="langConf.lang.includes('vi')" command="vi">
129
+ {{ '越南语' | $lc }}
130
+ </el-dropdown-item>
103
131
  </el-dropdown-menu>
104
132
  </el-dropdown>
105
133
  <slot name="header">{{ '欢 迎 登 录' | $lc }}</slot>
@@ -223,6 +251,11 @@ export default {
223
251
  loginSloganHtml: undefined,
224
252
  hideLang: undefined
225
253
  },
254
+ // 国际化配置
255
+ langConf: {
256
+ hideLang: false,
257
+ lang: ['zh-cn', 'zh-hk', 'en']
258
+ },
226
259
  langVal: window.localStorage.getItem('pageLang') || 'zh-cn',
227
260
  operateType: 'login',
228
261
  alV: false,
@@ -449,10 +482,26 @@ export default {
449
482
  jwtLogin(data) {
450
483
  this.$refs.simpleLogin.loginAfter(data)
451
484
  },
485
+ /* 国际化相关设置 */
486
+ setLangConf(langConf) {
487
+ // 兼容旧的配置项 先取_layoutData中的配置没有再取langConf中的配置
488
+ langConf.hideLang = (this.jsonData?.hideLang || langConf?.hideLang) ?? false
489
+ langConf.lang = this.jsonData?.lang || langConf?.lang || ['zh-cn', 'zh-hk', 'en']
490
+ this.langConf = langConf
491
+ let lang = this.langConf.hideLang ? 'zh-cn' : this.langConf.lang[0]
492
+ let pageLang = window.localStorage.getItem('pageLang') || Cookies.get('language')
493
+ if (!pageLang) {
494
+ window.localStorage.setItem('pageLang', lang)
495
+ Cookies.set('language', ['zh-cn', 'zh-hk'].includes(this.langConf.lang[0]) ? 'zh' : this.langConf.lang[0], {
496
+ expires: 365
497
+ })
498
+ }
499
+ },
452
500
  async init() {
453
- const { _layoutData = {}, loginSetting, screenInspect } = await getJsonc('/server-config.jsonc')
501
+ const { _layoutData = {}, langConf = {}, loginSetting, screenInspect } = await getJsonc('/server-config.jsonc')
454
502
  let _loginSetting = loginSetting || _layoutData.loginSetting
455
503
  this.jsonData = _layoutData
504
+ this.setLangConf(langConf)
456
505
  if (_loginSetting !== 'JSON' && this.jsonData.showSystem) {
457
506
  await this.getSysSet()
458
507
  }