|
@@ -1,8 +1,8 @@
|
|
|
-$(function () {
|
|
|
+$(async function () {
|
|
|
if (!window.isModernBrowser) return;
|
|
|
|
|
|
const sessionId = window.utils.guid();
|
|
|
- const runtime = loadRuntime();
|
|
|
+ const runtime = await loadRuntime();
|
|
|
const app = loadApplication(runtime);
|
|
|
|
|
|
// expose for debugging
|
|
@@ -13,8 +13,8 @@ $(function () {
|
|
|
* 装载运行时(应用能力集)
|
|
|
* @returns {object} runtime
|
|
|
*/
|
|
|
- function loadRuntime() {
|
|
|
- var locale = initLocale();
|
|
|
+ async function loadRuntime() {
|
|
|
+ var locale = await initLocale();
|
|
|
initLayVerify(locale);
|
|
|
invokeApi._t = locale.translate;
|
|
|
|
|
@@ -66,9 +66,17 @@ $(function () {
|
|
|
elLangSelector.find("a")
|
|
|
.each(function () {
|
|
|
$(this)
|
|
|
- .on("click", function () {
|
|
|
+ .on("click", async function () {
|
|
|
let lang = $(this)
|
|
|
.data("lang");
|
|
|
+ let request = {
|
|
|
+ Language: lang,
|
|
|
+ };
|
|
|
+ let res = await invokeApi("System", "SetPageLanguage", request);
|
|
|
+ if (!res.IsSuccess) {
|
|
|
+ layer.msg.error($t(res.Code));
|
|
|
+ return;
|
|
|
+ }
|
|
|
locale.changeLanguage(lang)
|
|
|
.then(() => {
|
|
|
checkLanguageClass(app);
|
|
@@ -161,7 +169,7 @@ $(function () {
|
|
|
}
|
|
|
async function checkIsLogon() {
|
|
|
try {
|
|
|
- let res = await invokeApi("Server", "CheckIsLogon");
|
|
|
+ let res = await invokeApi("Server", "CheckIsLogon",);
|
|
|
return res && res.Data;
|
|
|
} catch (e) {
|
|
|
layui.layer.msg.error(locale.translate("RequestError") + ": " + e.toString());
|
|
@@ -479,7 +487,7 @@ $(function () {
|
|
|
* 初始化本地化Host
|
|
|
* @returns {object} Locale Host
|
|
|
*/
|
|
|
- function initLocale() {
|
|
|
+ async function initLocale() {
|
|
|
let data = {};
|
|
|
const langKeys = {
|
|
|
CN: 'zh-cn',
|
|
@@ -489,26 +497,14 @@ $(function () {
|
|
|
.map(x => x[1]);
|
|
|
const storeKey = "Vinno_Sonopost_Language";
|
|
|
|
|
|
- let curLang = localStorage.getItem(storeKey);
|
|
|
- if (!curLang || !curLang.length) {
|
|
|
- var isCH = false
|
|
|
- if (navigator.languages) {
|
|
|
- navigator.languages.forEach(x => {
|
|
|
- if (x.toLowerCase().startsWith("zh")) {
|
|
|
- isCH = true;
|
|
|
- }
|
|
|
- })
|
|
|
- if (isCH) {
|
|
|
- curLang = langKeys.CN;
|
|
|
- }
|
|
|
- else {
|
|
|
- curLang = langKeys.EN;
|
|
|
- }
|
|
|
- }
|
|
|
- else {
|
|
|
- let browserLang = (navigator.language || navigator.browserLanguage).toLowerCase();
|
|
|
- curLang = supportLanguages.includes(browserLang) ? browserLang : langKeys.EN;
|
|
|
- }
|
|
|
+ let res = await invokeApi("System", "GetPageLanguage");
|
|
|
+ if (!res.IsSuccess) {
|
|
|
+ layer.msg.error($t(res.Code));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let curLang = langKeys.CN;
|
|
|
+ if (res.Data != langKeys.CN) {
|
|
|
+ curLang = langKeys.EN;
|
|
|
}
|
|
|
|
|
|
loadData(curLang)
|