admin-vben5/packages/@core/shared/toolkit/src/nprogress.ts

44 lines
1.2 KiB
TypeScript
Raw Normal View History

2024-05-19 21:20:42 +08:00
import type NProgress from 'nprogress';
// 创建一个NProgress实例的变量初始值为null
let nProgressInstance: null | typeof NProgress = null;
/**
* NProgress库
* NProgress库NProgress实例
* NProgress库NProgress实例
*
* @returns NProgress实例的Promise对象
*/
async function loadNprogress() {
if (nProgressInstance) {
return nProgressInstance;
}
nProgressInstance = await import('nprogress');
nProgressInstance.configure({
showSpinner: true,
speed: 300,
});
return nProgressInstance;
}
/**
*
* NProgress库NProgress的start方法开始显示进度条
*/
async function startProgress() {
const nprogress = await loadNprogress();
nprogress?.start();
}
/**
*
* NProgress库NProgress的done方法停止并隐藏进度条
*/
async function stopProgress() {
const nprogress = await loadNprogress();
nprogress?.done();
}
export { startProgress, stopProgress };