xiaohaizhao 7 месяцев назад
Родитель
Сommit
67d8d68dee
3 измененных файлов с 30 добавлено и 11 удалено
  1. 16 2
      app.js
  2. 1 1
      project.private.config.json
  3. 13 8
      utils/language.js

+ 16 - 2
app.js

@@ -46,8 +46,22 @@ App({
         })
       });
     }
-    if (!wx.getStorageSync('languagecode')) wx.setStorageSync('languagecode', 'ZH');
-    this.globalData.Language.getLanguages(wx.getStorageSync('languagecode'));
+    if (wx.getStorageSync('languagecode')) {
+      setTimeout(() => {
+        this.globalData.Language.getLanguages(wx.getStorageSync('languagecode'))
+      }, 500)
+    } else {
+      wx.getSystemInfoAsync({
+        success: res => {
+          let languagecode = 'ZH';
+          try {
+            languagecode = res.language.split("_")[0].toUpperCase()
+          } catch (error) {}
+          wx.setStorageSync('languagecode', languagecode);
+          this.globalData.Language.getLanguages(languagecode);
+        }
+      })
+    }
   },
   initSocket() {
     let that = this;

+ 1 - 1
project.private.config.json

@@ -6,7 +6,7 @@
     "compileHotReLoad": true,
     "bigPackageSizeSupport": false
   },
-  "libVersion": "3.8.11",
+  "libVersion": "3.10.0",
   "condition": {
     "miniprogram": {
       "list": [

+ 13 - 8
utils/language.js

@@ -10,13 +10,12 @@ class Language {
 				let res = {
 					data: {}
 				}
-				if (languagecode != 'ZH' || this.languagePackage == null) res = await getApp().globalData.http.base({
+				if (languagecode != 'ZH') res = await getApp().globalData.http.base({
 					id: 2024062809072801,
 					content: {
 						date: Date.now()
 					}
 				})
-				console.log("获取语言包", res.data)
 				this.languagePackage = res.data[languagecode] || {};
 				resolve(this.languagePackage)
 				this.languagecode = languagecode;
@@ -26,12 +25,18 @@ class Language {
 		})
 	}
 
-	async getLanguagePackage(that, setNavBarTitle) {
-		that.setData({
-			language: this.languagePackage || await this.getLanguages(wx.getStorageSync('languagecode')),
-			sColors: getApp().globalData.sColors
-		})
-		if (setNavBarTitle) this.setNavBarTitle(setNavBarTitle)
+	getLanguagePackage(that, setNavBarTitle) {
+		if (this.languagecode == null) {
+			setTimeout(() => {
+				this.getLanguagePackage(that, setNavBarTitle)
+			}, 100)
+		} else {
+			that.setData({
+				language: this.languagePackage,
+				sColors: getApp().globalData.sColors
+			})
+			if (setNavBarTitle) this.setNavBarTitle(setNavBarTitle)
+		}
 	}
 
 	getMapText(text, f = '', r = '') {