| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- class Language {
- constructor() {
- this.languagePackage = null;
- this.getLanguages = this.getLanguages.bind(this);
- }
- 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) {
- if (wx.getStorageSync('languagecode') != 'ZH') console.log('getMapText:未获取到', text)
- v = text
- }
- return f + v + r
- }
- setNavBarTitle(title) {
- wx.setNavigationBarTitle({
- title: this.getMapText(title)
- })
- }
- showToast(list, mask = false) {
- if (list.length) wx.showToast({
- title: this.joint(list),
- icon: "none",
- mask: mask
- })
- }
- 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
- }
|