| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 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.removeStorageSync('languagecode');				wx.setStorageSync('languagecode', languagecode)			})		})	}	async getLanguagePackage(that, setNavBarTitle) {		that.setData({			language: this.languagePackage || await this.getLanguages(wx.getStorageSync('languagecode')),			sColors: getApp().globalData.sColors		})		if (setNavBarTitle) this.setNavBarTitle(setNavBarTitle)	}	getMapText(text, f = '', r = '') {		let v = ''		try {			v = this.languagePackage[text] || text		} catch (error) {			console.log('getMapText:未获取到', text)			v = text		}		return f + v + r	}	setNavBarTitle(title) {		wx.setNavigationBarTitle({			title: this.getMapText(title)		})	}	modeBoxPrompts(list, title = '提示', confirmText = '确定') {		wx.showModal({			title: this.getMapText(title),			content: this.joint(list),			showCancel: false,			confirmText: this.getMapText(confirmText),		})	}	showToast(list) {		if (list.length) wx.showToast({			title: this.joint(list),			icon: "none"		})	}	modeBoxPrompts(list = [], title = '提示', confirmText = '确定') {		wx.showModal({			title: this.getMapText(title),			content: this.joint(list),			showCancel: false,			confirmText: this.getMapText(confirmText),		})	}	/* t:translate 是否翻译 v:value 值 f:front 前面 r:rear 后面 */	joint(list) {		if (typeof list == 'string') return this.getMapText(list)		let str = ''		list.forEach(v => {			let value = ''			try {				value = v.t ? this.getMapText(v.v, v.f || '', v.r || '') : ((v.f || '') + v.v + (v.r || ''))			} catch (error) {				value = (v.f || '') + v.v + (v.r || '')			}			str += value		})		return str	}}export {	Language}
 |