智教助手平台:完整初始化

- 前端:Vue3 + TS + Element Plus,24 个页面路由(课件/组题/教案/动画/思维导图/作文批改/命题/课堂/资源/社区等)
- 后端:FastAPI + SQLAlchemy + SQLite,17 个路由模块,AI 服务层含降级模板
- AI:glm-5.x 推理模型已禁用思维链,确保输出真实内容
- 修复:ai_service 两处请求体注入 enable_thinking/thinking disabled
- 测试账号:13900999999 / test1234
This commit is contained in:
Zhang Jing Xuan
2026-07-29 16:29:10 +08:00
commit 0841b1a103
193 changed files with 44995 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
const { chromium } = require('playwright-core');
(async () => {
const CHROME = String.raw`C:\Program Files\Google\Chrome\Application\chrome.exe`;
const browser = await chromium.launch({ executablePath: CHROME, headless: true });
const page = await browser.newPage({ viewport: { width: 1366, height: 850 } });
const errs = [];
page.on('pageerror', e => errs.push(e.message));
page.on('console', m => { if (m.type()==='error' && !m.text().includes('401')) errs.push(m.text()); });
const base = 'http://127.0.0.1:8010';
const r = await fetch(base + '/api/auth/login', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({phone:'13943441149',password:'Test1234'}) });
const tok = (await r.json()).access_token;
await page.goto('http://127.0.0.1:5175/login');
await page.evaluate(t => { localStorage.setItem('access_token', t); localStorage.setItem('refresh_token','r'); }, tok);
const views = [
{p:'/', n:'Home'},
{p:'/courseware/create', n:'CoursewareCreate'},
{p:'/courseware', n:'CoursewareList'},
{p:'/materials', n:'Materials'},
{p:'/resources', n:'Resources'},
{p:'/classroom', n:'Classroom'},
{p:'/community', n:'Community'},
{p:'/admin', n:'Admin'},
{p:'/profile', n:'Profile'},
];
const results = [];
for (const v of views) {
const before = errs.length;
await page.goto('http://127.0.0.1:5175' + v.p);
await page.waitForTimeout(1800);
const after = errs.length - before;
const h1 = (await page.locator('h1').first().textContent().catch(()=> '')) || '';
const empty = await page.locator('.el-empty').count().catch(()=>0);
results.push({ view: v.n, path: v.p, newErrs: after, h1: (h1||'').slice(0,40), emptyState: empty });
}
console.log(JSON.stringify(results, null, 1));
console.log('TOTAL_NEW_ERRORS:', errs.length);
if (errs.length) console.log('ERRORS:', [...new Set(errs)].slice(0,6));
await browser.close();
})();