agilebuilder-ui 1.0.74-tmp2 → 1.0.74-tmp3
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 +3 -2
- package/src/utils/common-util.js +89 -68
- package/src/utils/i18n-util.js +6 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agilebuilder-ui",
|
|
3
|
-
"version": "1.0.74-
|
|
3
|
+
"version": "1.0.74-tmp3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "./lib/super-ui.js",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"vue": "3.3.4",
|
|
35
35
|
"vue-i18n": "^9.5.0",
|
|
36
36
|
"vue-router": "^4.2.5",
|
|
37
|
-
"vuex": "^4.1.0"
|
|
37
|
+
"vuex": "^4.1.0",
|
|
38
|
+
"axios": "^1.5.1"
|
|
38
39
|
}
|
|
39
40
|
}
|
package/src/utils/common-util.js
CHANGED
|
@@ -429,86 +429,107 @@ export function windowOpenUrl(url, projectModel) {
|
|
|
429
429
|
export function cacheCurrentLanguageUtil(http) {
|
|
430
430
|
return new Promise((resolve, reject) => {
|
|
431
431
|
const token = getToken()
|
|
432
|
-
if (token) {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
http
|
|
443
|
-
.post(window.$vueApp.config.globalProperties.baseAPI + '/acs/user/i18n-languages', params)
|
|
444
|
-
.then((langInfo) => {
|
|
445
|
-
resolve(langInfo.language ? langInfo.language : 'zh_CN')
|
|
446
|
-
})
|
|
447
|
-
.catch(() => {
|
|
448
|
-
resolve('zh_CN')
|
|
449
|
-
})
|
|
450
|
-
}
|
|
432
|
+
if (!token) {
|
|
433
|
+
// 默认是中文
|
|
434
|
+
resolve('zh_CN')
|
|
435
|
+
}
|
|
436
|
+
const currentLanguage = getLanguage()
|
|
437
|
+
const systemCode = getCurrentSystemCode()
|
|
438
|
+
if (isPlateSys(systemCode)) {
|
|
439
|
+
// 平台系统不需要加载国际化文件
|
|
440
|
+
if (currentLanguage && currentLanguage !== 'undefined') {
|
|
441
|
+
resolve(currentLanguage)
|
|
451
442
|
} else {
|
|
452
|
-
//
|
|
453
|
-
const
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
443
|
+
// 如果没有缓存当前用户的语言,则需要获取
|
|
444
|
+
const params = { systemCode: systemCode }
|
|
445
|
+
http
|
|
446
|
+
.post(window.$vueApp.config.globalProperties.baseAPI + '/acs/user/i18n-languages', params)
|
|
447
|
+
.then((langInfo) => {
|
|
448
|
+
resolve(langInfo.language ? langInfo.language : 'zh_CN')
|
|
449
|
+
})
|
|
450
|
+
.catch(() => {
|
|
451
|
+
resolve('zh_CN')
|
|
452
|
+
})
|
|
453
|
+
}
|
|
454
|
+
} else {
|
|
455
|
+
// 业务系统是否启用了国际化
|
|
456
|
+
const enableI18n = i18nUtil.getEnableI18nState(systemCode)
|
|
457
|
+
if (enableI18n === false && currentLanguage && currentLanguage !== 'undefined') {
|
|
458
|
+
// 如果没有开启国际化, 并且已经缓存了当前用户的语言,则直接返回
|
|
459
|
+
resolve(currentLanguage)
|
|
460
|
+
} else {
|
|
461
|
+
// 启用了国际化并且当前已经加载过了国际化json文件,则需要检查是否是最新的国际化文件
|
|
462
|
+
// 没有加载过国际化文件,则不用传递checkLastestI18nFile参数,后台会返回最新的国际化文件路径和用户当前语言
|
|
463
|
+
let url = i18nUtil.getLangFileUrl(systemCode, currentLanguage)
|
|
464
|
+
const params = { systemCode: systemCode }
|
|
465
|
+
if (url && currentLanguage && currentLanguage !== 'undefined' && enableI18n) {
|
|
466
|
+
params.checkLastestI18nFile = true
|
|
467
|
+
params.i18nFileVersion = i18nUtil.getI18nFileVersion()
|
|
468
|
+
}
|
|
469
|
+
http
|
|
470
|
+
.post(window.$vueApp.config.globalProperties.baseAPI + '/acs/user/i18n-languages', params)
|
|
471
|
+
.then((langInfo) => {
|
|
472
|
+
const i18nCurrentVersion = i18nUtil.getI18nFileVersion()
|
|
473
|
+
i18nUtil.setI18nFileVersion(langInfo.i18nFileVersion)
|
|
474
|
+
if (!url && langInfo.i18nFileUrls[langInfo.language]) {
|
|
475
|
+
url = langInfo.i18nFileUrls[langInfo.language] + '?_t_=' + new Date().getTime()
|
|
476
|
+
i18nUtil.setLangFileUrl(systemCode, langInfo.language, url)
|
|
477
|
+
}
|
|
478
|
+
if (i18nCurrentVersion && Number(i18nCurrentVersion) === langInfo.i18nFileVersion) {
|
|
479
|
+
// 表示是最新的国际化文件,可以直接加载使用
|
|
480
|
+
i18nUtil
|
|
481
|
+
.loadLangFile(systemCode, url, currentLanguage)
|
|
482
|
+
.then(() => {
|
|
483
|
+
resolve(currentLanguage)
|
|
484
|
+
})
|
|
485
|
+
.catch(() => {
|
|
486
|
+
resolve(currentLanguage)
|
|
487
|
+
})
|
|
488
|
+
} else {
|
|
489
|
+
// 不是最新的国际化文件或者没有加载过国际化文件,则后端会返回最新的国际化文件路径和用户当前语言
|
|
490
|
+
i18nUtil.setEnableI18nState(systemCode, langInfo.enableI18n ? true : false)
|
|
491
|
+
if (langInfo.enableI18n && langInfo.i18nFileUrls[langInfo.language]) {
|
|
492
|
+
const url = langInfo.i18nFileUrls[langInfo.language] + '?_t_=' + new Date().getTime()
|
|
493
|
+
i18nUtil.setLangFileUrl(systemCode, langInfo.language, url)
|
|
473
494
|
i18nUtil
|
|
474
|
-
.loadLangFile(systemCode, url,
|
|
495
|
+
.loadLangFile(systemCode, url, langInfo.language)
|
|
475
496
|
.then(() => {
|
|
476
|
-
resolve(
|
|
497
|
+
resolve(langInfo.language)
|
|
477
498
|
})
|
|
478
499
|
.catch(() => {
|
|
479
|
-
resolve(
|
|
500
|
+
resolve(langInfo.language ? langInfo.language : 'zh_CN')
|
|
480
501
|
})
|
|
481
502
|
} else {
|
|
482
|
-
//
|
|
483
|
-
|
|
484
|
-
if (langInfo.enableI18n && langInfo.i18nFileUrls[langInfo.language]) {
|
|
485
|
-
const url = langInfo.i18nFileUrls[langInfo.language] + '?_t_=' + new Date().getTime()
|
|
486
|
-
i18nUtil.setLangFileUrl(systemCode, langInfo.language, url)
|
|
487
|
-
i18nUtil
|
|
488
|
-
.loadLangFile(systemCode, url, langInfo.language)
|
|
489
|
-
.then(() => {
|
|
490
|
-
resolve(langInfo.language)
|
|
491
|
-
})
|
|
492
|
-
.catch(() => {
|
|
493
|
-
resolve(langInfo.language ? langInfo.language : 'zh_CN')
|
|
494
|
-
})
|
|
495
|
-
} else {
|
|
496
|
-
// 如果没有开启国际化
|
|
497
|
-
resolve(langInfo.language)
|
|
498
|
-
}
|
|
503
|
+
// 如果没有开启国际化
|
|
504
|
+
resolve(langInfo.language)
|
|
499
505
|
}
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
506
|
+
}
|
|
507
|
+
})
|
|
508
|
+
.catch(() => {
|
|
509
|
+
resolve('zh_CN')
|
|
510
|
+
})
|
|
505
511
|
}
|
|
506
|
-
} else {
|
|
507
|
-
// 默认是中文
|
|
508
|
-
resolve('zh_CN')
|
|
509
512
|
}
|
|
510
513
|
})
|
|
511
514
|
}
|
|
515
|
+
|
|
516
|
+
async function handlePlateSysLang(currentLanguage) {
|
|
517
|
+
if (currentLanguage && currentLanguage !== 'undefined') {
|
|
518
|
+
return currentLanguage
|
|
519
|
+
} else {
|
|
520
|
+
const params = { systemCode: getCurrentSystemCode() }
|
|
521
|
+
try {
|
|
522
|
+
const langInfo = await http.post(
|
|
523
|
+
window.$vueApp.config.globalProperties.baseAPI + '/acs/user/i18n-languages',
|
|
524
|
+
params
|
|
525
|
+
)
|
|
526
|
+
return langInfo.language ? langInfo.language : 'zh_CN'
|
|
527
|
+
} catch {
|
|
528
|
+
return 'zh_CN'
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
512
533
|
export function setProjectSetting() {
|
|
513
534
|
const projectSettingCache = Cookies.get('PROJECT_SETTINGS')
|
|
514
535
|
let projectSettings = null
|
package/src/utils/i18n-util.js
CHANGED
|
@@ -68,6 +68,9 @@ function getLocalStorageJson(key) {
|
|
|
68
68
|
|
|
69
69
|
function loadLangFile(systemCode, url, language) {
|
|
70
70
|
console.log('loadLangFile', systemCode, url, language)
|
|
71
|
+
if (!url) {
|
|
72
|
+
return Promise.resolve()
|
|
73
|
+
}
|
|
71
74
|
return new Promise((resolve, reject) => {
|
|
72
75
|
if (window.$i18n) {
|
|
73
76
|
axios
|
|
@@ -77,15 +80,15 @@ function loadLangFile(systemCode, url, language) {
|
|
|
77
80
|
.then((response) => {
|
|
78
81
|
const lang = getLocaleByLang(language)
|
|
79
82
|
if (response && response.data) {
|
|
80
|
-
//
|
|
83
|
+
// 获取当前的国际化信息
|
|
81
84
|
const currentMessages = window.$i18n.global.getLocaleMessage(lang)
|
|
82
|
-
//
|
|
85
|
+
// 新的国际化信息
|
|
83
86
|
if (currentMessages[systemCode]) {
|
|
84
87
|
Object.assign(currentMessages[systemCode], response.data)
|
|
85
88
|
} else {
|
|
86
89
|
currentMessages[systemCode] = response.data
|
|
87
90
|
}
|
|
88
|
-
//
|
|
91
|
+
// 设置合并后的国际化信息
|
|
89
92
|
window.$i18n.global.setLocaleMessage(lang, currentMessages)
|
|
90
93
|
}
|
|
91
94
|
resolve()
|