// #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()