Files
jiaoyu/frontend/_diag.mjs
T
Zhang Jing Xuan 0841b1a103 智教助手平台:完整初始化
- 前端:Vue3 + TS + Element Plus,24 个页面路由(课件/组题/教案/动画/思维导图/作文批改/命题/课堂/资源/社区等)
- 后端:FastAPI + SQLAlchemy + SQLite,17 个路由模块,AI 服务层含降级模板
- AI:glm-5.x 推理模型已禁用思维链,确保输出真实内容
- 修复:ai_service 两处请求体注入 enable_thinking/thinking disabled
- 测试账号:13900999999 / test1234
2026-07-29 16:29:10 +08:00

47 lines
1.9 KiB
JavaScript

import { chromium } from 'playwright-core';
import fs from 'fs';
import path from 'path';
const loginRes = await fetch('http://127.0.0.1:8010/api/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ phone: '13943441149', password: 'Test1234' })
});
const loginData = await loginRes.json();
const browser = await chromium.launch({
channel: 'chrome', headless: true,
executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'
});
const ctx = await browser.newContext({ viewport: { width: 1440, height: 900 } });
await ctx.addInitScript(([at, rt]) => {
localStorage.setItem('access_token', at);
localStorage.setItem('refresh_token', rt);
}, [loginData.access_token, loginData.refresh_token]);
const page = await ctx.newPage();
const errors = [];
page.on('console', m => { if (m.type() === 'error') errors.push(m.text()); });
page.on('pageerror', e => errors.push('PAGEERROR: ' + e.message));
// Go to home and wait longer
await page.goto('http://127.0.0.1:5175/home', { waitUntil: 'networkidle', timeout: 20000 }).catch(e => console.log('goto err', e.message));
await page.waitForTimeout(4000);
// Diagnose
const info = await page.evaluate(() => {
const body = document.body;
return {
bodyTextLen: body.innerText.length,
bodyTextHead: body.innerText.substring(0, 300),
url: location.href,
hasH1: !!document.querySelector('h1'),
h1Text: document.querySelector('h1')?.textContent || '(none)',
mainContent: document.querySelector('.home-page, .home-container, .hero, main, #app')?.innerHTML?.length || 0,
childCount: document.querySelector('#app')?.children?.length || 0,
};
});
console.log(JSON.stringify(info, null, 2));
await page.screenshot({ path: path.resolve('audit_shots/home2.png') });
console.log('ERRORS:', errors.length);
errors.slice(0,8).forEach(e => console.log(' ', e.substring(0,160)));
await browser.close();