feat: 提交家校活动前端工程源码(Vue3 + Vite + view-ui-plus)
build / build (push) Successful in 5m24s

This commit is contained in:
lijing
2026-09-20 18:00:18 +08:00
parent 267ba04af2
commit 66ad7fc6c3
333 changed files with 33141 additions and 2 deletions
+54
View File
@@ -0,0 +1,54 @@
// @/utils/alova-vant.ts
import { createBschAlova } from "./alova-core";
import { Toast, Dialog, showFailToast, showDialog, showLoadingToast, closeToast } from "vant";
import conf from "@/assets/config/host.config";
import { useBschTicketStore } from "@/store/TicketStore";
import { WappUserHeader } from "@/types/Basics";
let toastLoading: ReturnType<typeof Toast.loading> | null = null;
/* 主动关闭 loading */
function closeLoading() {
if (toastLoading) {
toastLoading.close();
toastLoading = null;
} else {
closeToast();
}
}
// const baseUrl = conf.serviceHost + "/api";
const baseUrl = conf.serviceHost + "/mobiapi";
/* 创建带 Vant UI 的 Alova 实例 */
export const alovaInstance = createBschAlova(baseUrl, {
injectHeaders(method) {
const store = useBschTicketStore();
const authoHeaders = store.getAuthoHeaders;
const userHeaders = store.getTicket;
const bschTicket: WappUserHeader = store.getTicket;
for (const key in authoHeaders) method.config.headers[key] = authoHeaders[key];
for (const key in bschTicket) method.config.headers[key] = (bschTicket as any)[key];
// method.config.headers.currentRole = encodeURIComponent(
// JSON.stringify({ roleId: userHeaders.roleId, childId: userHeaders.userId, schId: userHeaders.schoolId }),
// );
},
/* 2. 加载动画 – Vant Toast */
onLoadingStart() {
toastLoading = showLoadingToast({
message: "加载中...",
forbidClick: true,
duration: 0,
});
},
onLoadingEnd: closeLoading,
onBizError(msg) {
showFailToast(msg);
},
onHttpError(msg) {
showDialog({ title: "网络错误", message: msg });
},
});