99 lines
2.7 KiB
JavaScript
99 lines
2.7 KiB
JavaScript
// #ifdef H5
|
||
import './common/js/pc'
|
||
// #endif
|
||
import Vue from 'vue'
|
||
import App from './App'
|
||
import store from './store'
|
||
import Util from './common/js/util.js'
|
||
import Http from './common/js/http.js'
|
||
import Lang from './common/js/lang.js'
|
||
import Config from './common/js/config.js'
|
||
import EventBus from './common/js/event-bus.js'
|
||
import DomEventBridge from './common/js/dom-event-bridge.js'
|
||
import globalConfig from './common/js/golbalConfig.js';
|
||
import {
|
||
uniStorage
|
||
} from './common/js/storage.js'
|
||
|
||
Vue.prototype.$store = store //挂在vue
|
||
|
||
Vue.config.productionTip = false
|
||
|
||
Vue.prototype.$util = Util;
|
||
Vue.prototype.$api = Http;
|
||
|
||
Vue.prototype.$langConfig = Lang; //语言包对象
|
||
Vue.prototype.$lang = Lang.lang; //解析语言包
|
||
|
||
Vue.prototype.$config = Config;
|
||
|
||
// #ifdef H5
|
||
EventBus.setDomBridge(DomEventBridge)
|
||
// #endif
|
||
Vue.prototype.$eventBus = EventBus;
|
||
|
||
Vue.mixin(globalConfig);
|
||
|
||
App.mpType = 'app';
|
||
|
||
// 重写存储,增加前缀
|
||
uniStorage();
|
||
|
||
//常用组件
|
||
import loadingCover from '@/components/loading-cover/loading-cover.vue';
|
||
Vue.component('loading-cover', loadingCover);
|
||
|
||
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
|
||
Vue.component('ns-empty', nsEmpty);
|
||
|
||
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
|
||
Vue.component("mescroll-uni", MescrollUni); //上拉加载,下拉刷新组件
|
||
|
||
import MescrollBody from "@/components/mescroll/mescroll-body.vue"
|
||
Vue.component('mescroll-body', MescrollBody);
|
||
|
||
import NsLogin from "@/components/ns-login/ns-login.vue"
|
||
Vue.component('ns-login', NsLogin);
|
||
|
||
import PrivacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
|
||
// 只保留一次组件注册(删除重复行)
|
||
Vue.component('privacy-popup', PrivacyPopup)
|
||
|
||
// 全局登录方法(替换成你的真实后端接口地址)
|
||
Vue.prototype.$doGlobalLogin = async function() {
|
||
return new Promise((resolve, reject) => {
|
||
uni.login({
|
||
success: async (loginRes) => {
|
||
if (!loginRes.code) {
|
||
reject("获取登录凭证失败,请重试");
|
||
return;
|
||
}
|
||
try {
|
||
// !!替换为你的真实后端登录接口地址!!
|
||
const res = await uni.request({
|
||
url: "https://dev.aigc-quickapp.com/api/user/login",
|
||
method: "POST",
|
||
data: { code: loginRes.code }
|
||
});
|
||
if (res.data?.success) {
|
||
uni.setStorageSync("token", res.data.token);
|
||
resolve(true);
|
||
} else {
|
||
reject(res.data?.msg || "登录失败");
|
||
}
|
||
} catch (err) {
|
||
reject("网络异常");
|
||
}
|
||
},
|
||
fail: () => reject("登录授权失败")
|
||
});
|
||
});
|
||
};
|
||
|
||
// 只创建一次Vue实例(删除重复声明)
|
||
const app = new Vue({
|
||
...App,
|
||
store
|
||
})
|
||
|
||
app.$mount() |