Initial commit: Telegram Management System
Some checks failed
Deploy / deploy (push) Has been cancelled

Full-stack web application for Telegram management
- Frontend: Vue 3 + Vben Admin
- Backend: NestJS
- Features: User management, group broadcast, statistics

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
你的用户名
2025-11-04 15:37:50 +08:00
commit 237c7802e5
3674 changed files with 525172 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
import { chromium } from 'playwright';
async function finalAuthTest() {
const browser = await chromium.launch({ headless: false, slowMo: 500 });
const context = await browser.newContext();
const page = await context.newPage();
const apiCalls = [];
// 监听API调用
page.on('request', (request) => {
if (request.url().includes('/api/')) {
apiCalls.push({
method: request.method(),
url: request.url(),
timestamp: new Date().toISOString(),
});
console.log(`🔵 API请求: ${request.method()} ${request.url()}`);
}
});
page.on('response', async (response) => {
if (response.url().includes('/api/')) {
const status = response.status();
console.log(`🟢 API响应: ${status} ${response.url()}`);
if (status === 401) {
console.log('❌ 401认证错误');
} else if (status === 200) {
console.log('✅ API调用成功');
}
}
});
try {
console.log('🚀 开始最终认证测试...');
// 1. 访问登录页面
await page.goto('http://localhost:5173/auth/login');
await page.waitForTimeout(2000);
// 2. 填写并提交登录表单
await page.fill('input[name="username"]', 'admin');
await page.fill('input[name="password"]', '111111');
// 点击登录按钮
await page.click('button:has-text("登录")');
console.log('✅ 登录表单已提交');
// 等待登录处理
await page.waitForTimeout(3000);
// 3. 检查是否跳转到dashboard
const currentUrl = page.url();
console.log(`📍 当前URL: ${currentUrl}`);
if (currentUrl.includes('/dashboard')) {
console.log('✅ 成功跳转到dashboard');
// 等待dashboard数据加载
await page.waitForTimeout(3000);
// 检查是否有数据显示
const pageText = await page.textContent('body');
const hasData =
pageText.includes('数据') ||
pageText.includes('统计') ||
pageText.includes('总数');
if (hasData) {
console.log('✅ Dashboard显示数据');
} else {
console.log('⚠️ Dashboard可能没有显示数据');
}
} else {
console.log('❌ 登录失败未跳转到dashboard');
}
// 4. 检查token存储
const token = await page.evaluate(
() =>
localStorage.getItem('accessToken') || localStorage.getItem('token'),
);
if (token) {
console.log('✅ Token已存储');
} else {
console.log('❌ 未找到token');
}
// 5. 总结API调用
console.log(`\n📊 总共发起了 ${apiCalls.length} 个API调用:`);
apiCalls.forEach((call, index) => {
console.log(`${index + 1}. ${call.method} ${call.url}`);
});
if (apiCalls.some((call) => call.url.includes('/api/auth/login'))) {
console.log('✅ 发现登录API调用');
} else {
console.log('❌ 未发现登录API调用');
}
await page.waitForTimeout(10000);
} catch (error) {
console.error('❌ 测试失败:', error);
}
await browser.close();
}
finalAuthTest().catch(console.error);