jsy-app/main.js
2025-02-08 10:19:44 +08:00

76 lines
1.7 KiB
JavaScript

import App from './App'
// #ifndef VUE3
import Vue from 'vue'
Vue.config.productionTip = false
App.mpType = 'app'
try {
function isPromise(obj) {
return (
!!obj &&
(typeof obj === "object" || typeof obj === "function") &&
typeof obj.then === "function"
);
}
// 统一 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) {}
const app = new Vue({
...App
})
app.$mount()
// #endif
// #ifdef VUE3
import {
createSSRApp
} from 'vue'
import uviewPlus from "@/uni_modules/uview-plus"
import directive from "@/directive"
import * as commonUtils from "@/utils/common.js"
import constant from "@/utils/constant.js"
import {
VerifyPermissions
} from "@/utils/requestPermissions.js"
export function createApp() {
const app = createSSRApp(App)
app.use(uviewPlus)
app.use(directive)
app.config.globalProperties.$toast = commonUtils.toast;
app.config.globalProperties.$showConfirm = commonUtils.showConfirm;
app.config.globalProperties.$constant = constant;
app.config.globalProperties.$VerifyPermissions = VerifyPermissions;
// // #ifndef MP
// // 处理 wx.connectSocket promisify 兼容问题,强制返回 SocketTask *已转移至Mqttjs内
// uni.connectSocket = (function(connectSocket) {
// return function(options) {
// options.success = options.success || function() {}
// return connectSocket.call(this, options)
// }
// })(uni.connectSocket)
// // #endif
return {
app
}
}
// #endif