class Language { constructor() { this.languagePackage = null; } getLanguages(languagecode) { return new Promise((resolve) => { setTimeout(async () => { let res = { data: {} } if (languagecode != 'ZH' || this.languagePackage == null) 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; wx.setStorageSync('languagecode', languagecode) }) }) } async getLanguagePackage(that, setNavBarTitle) { that.setData({ language: this.languagePackage || await this.getLanguages(wx.getStorageSync('languagecode')) }) if (setNavBarTitle) this.setNavBarTitle(setNavBarTitle) } getMapText(text) { try { return this.languagePackage[text] || text } catch (error) { console.log('getMapText:未获取到', text) return text } } setNavBarTitle(title) { wx.setNavigationBarTitle({ title: this.getMapText(title) }) } } export { Language }