#
zhou zhou
7 天以前 bccdb8f81c07c8a9cdcd6838173dfd1c73c98d90
main.js
@@ -1,50 +1,69 @@
import App from './App'
import messages from './locale/index.js'
let i18nConfig = {
   locale: uni.getLocale(), // 获取已设置的语言
   messages
}
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
try {
  function isPromise(obj) {
    return (
      !!obj &&
      (typeof obj === "object" || typeof obj === "function") &&
      typeof obj.then === "function"
    );
  }
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
  // 统一 vue2 API Promise 化返回格式与 vue3 保持一致
  uni.addInterceptor({
    returnValue(res) {
      if (!isPromise(res)) {
        return res;
      }
      return new Promise((resolve, reject) => {
        res.then((res) => {
          if (res[0]) {
            reject(res[0]);
          } else {
            resolve(res[1]);
          }
        });
      });
    },
  });
} catch (error) { }
import uView from '@/uni_modules/uview-ui'
Vue.use(uView)
const app = new Vue({
  ...App
Vue.mixin({
   methods: {
      $showToast(options) {
         if (this.$refs.uToast) {
            this.$refs.uToast.show(options);
         } else {
            // Fallback if component not found or loaded yet
            uni.$u.toast(typeof options === 'string' ? options : (options.message || options.title));
         }
      }
   }
})
const i18n = new VueI18n(i18nConfig)
const app = new Vue({
   ...App,
   i18n
})
// 引入请求封装,将app参数传递到配置中
require('./config/request.js')(app)
app.$mount()
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue'
import {
   createSSRApp
} from 'vue'
import uView from '@/uni_modules/uview-ui'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
   const app = createSSRApp(App)
   app.use(uView)
   app.mixin({
      methods: {
         $showToast(options) {
            if (this.$refs.uToast) {
               this.$refs.uToast.show(options);
            } else {
               uni.$u.toast(typeof options === 'string' ? options : (options.message || options.title));
            }
         }
      }
   })
   return {
      app
   }
}
// #endif
// #endif