| | |
| | | // 导入i18n文件 |
| | | import en from "./locale/en.json" |
| | | import ZhCN from "./locale/zh-Hans.json" |
| | | import { |
| | | addMissingKeyToMap |
| | | } from "@/utils/i18n.js" |
| | | |
| | | // 加载本地语言包 |
| | | const messages = { |
| | | "zh-Hans": ZhCN, |
| | | en, |
| | | } |
| | | |
| | | let i18nConfig = { |
| | | locale: uni.getLocale(), // 获取已设置的语言 |
| | | messages, |
| | | silentTranslationWarn: true, |
| | | |
| | | // missing: function(locale, key, vm, values){ |
| | | // // 页面中含有语言包中不存在的字段,需同步到数据库中 |
| | | // console.log("[i18n]: 页面中key为: ", key ,"的字段在翻译文件中不存在,同步到数据库...") |
| | | // |
| | | // // 为降低同步的难度,APP中 对翻译模块的key 不采用数组的写法,统一使用 模块名.字段名的写法 |
| | | // let [HMouldName, HFieldKey] = key.split('.') |
| | | // |
| | | // |
| | | // } |
| | | } |
| | | |
| | | import App from './App' |
| | | import Printer from './plugins/printer' |
| | | Vue.use(Printer); |
| | | // 生产环境 |
| | | // Vue.prototype.serverUrl = "https://qqyapi.xinlinsoft.cn/qqy-api"; |
| | | // Vue.prototype.serverUrl = "https://qqyapi.xinlinsoft.cn/qqy-api"; |
| | | // 开发环境 |
| | | // Vue.prototype.serverUrl = "http://47.96.97.237/API"; |
| | | |
| | |
| | | |
| | | // #ifndef VUE3 |
| | | import Vue from 'vue' |
| | | import VueI18n from 'vue-i18n' |
| | | Vue.use(VueI18n) |
| | | const i18n = new VueI18n(i18nConfig) |
| | | // missing回调无法满足 加载线上包 后的检验功能,需重写$t函数 |
| | | const originalT = Vue.prototype.$t |
| | | Vue.prototype.$t = function(key, ...args) { |
| | | // 调用原始 $t 执行翻译 |
| | | const translated = originalT.call(this, key, args); |
| | | |
| | | // console.log(i18n.getLocaleMessage(i18n.locale)) |
| | | if (translated == key) { |
| | | // 翻译后的文本与传入的key相同,则表示翻译文本缺失 记录缺失的翻译文本 |
| | | let [moduleName, fieldCode] = key.split(".") |
| | | addMissingKeyToMap(moduleName, fieldCode) |
| | | } |
| | | |
| | | return translated |
| | | } |
| | | Vue.config.productionTip = false |
| | | App.mpType = 'app' |
| | | const app = new Vue({ |
| | | i18n, |
| | | ...App |
| | | }) |
| | | app.$mount() |
| | | export default i18n |
| | | // #endif |
| | | |
| | | // #ifdef VUE3 |
| | | import { createSSRApp } from 'vue' |
| | | import { |
| | | createSSRApp |
| | | } from 'vue' |
| | | import { |
| | | createI18n |
| | | } from 'vue-i18n' // v9.x |
| | | const i18n = createI18n(i18nConfig) |
| | | export function createApp() { |
| | | const app = createSSRApp(App) |
| | | return { |
| | | app |
| | | } |
| | | const app = createSSRApp(App) |
| | | app.use(i18n) |
| | | return { |
| | | app |
| | | } |
| | | } |
| | | export default i18n |
| | | // #endif |
| | | // main.js uni.showToast 实现全局拦截设置默认提示时间为3.5秒 |
| | | const originalShowToast = uni.showToast; |
| | | uni.showToast = (options) => { |
| | | originalShowToast({ |
| | | duration: options.duration || 3500, // 默认2秒 |
| | | icon: options.icon || 'none', |
| | | title: options.title || 'none', |
| | | ...options |
| | | }); |
| | | originalShowToast({ |
| | | duration: options.duration || 3500, // 默认2秒 |
| | | icon: options.icon || 'none', |
| | | title: options.title || 'none', |
| | | ...options |
| | | }); |
| | | }; |