侧栏与路由按服务端 NODE_ENV 控制;可通过 ALLOW_SMOKE_TESTS=true 临时开启。 Co-authored-by: Cursor <cursoragent@cursor.com>
25 lines
596 B
TypeScript
25 lines
596 B
TypeScript
import { ref } from 'vue';
|
|
import api from '../api';
|
|
|
|
const allowed = ref<boolean | null>(null);
|
|
let loadPromise: Promise<void> | null = null;
|
|
|
|
export function useSmokeTestsAllowed() {
|
|
async function ensureLoaded() {
|
|
if (allowed.value !== null) return;
|
|
if (!loadPromise) {
|
|
loadPromise = (async () => {
|
|
try {
|
|
const { data } = await api.get('/admin/system/smoke-tests');
|
|
allowed.value = !!data.data?.allowed;
|
|
} catch {
|
|
allowed.value = false;
|
|
}
|
|
})();
|
|
}
|
|
await loadPromise;
|
|
}
|
|
|
|
return { allowed, ensureLoaded };
|
|
}
|