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.http.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
- }
|