// @/utils/alova-iview.ts import { createBschAlova } from "./alova-core"; import { Message } from "view-ui-plus"; import conf from "@/assets/config/host.config"; /* 全局 loading 遮罩实例 */ let spinInstance: any = null; /* 主动关闭 loading */ function closeLoading() { if (spinInstance) { Message.destroy(); spinInstance = null; } } const baseUrl = conf.serviceHost; /* 创建带 View Design UI 的 Alova 实例 */ export const alovaInstance = createBschAlova(baseUrl, { injectHeaders(method) { // currentRole: encodeURI(JSON.stringify({ userId, roleId, schId: schoolId })), if (localStorage.getItem("currentRole") != null) { method.config.headers["currentRole"] = localStorage.getItem("currentRole") as string; } }, /* 2. 加载动画 – View Design Spin */ onLoadingStart() { spinInstance = Message.loading("加载中..."); }, onLoadingEnd: closeLoading, onBizError(msg: string) { if (!!msg) Message.error(msg); }, onHttpError(msg: string) { Message.error({ title: "网络错误", content: msg }); }, });