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

152
frontend/check_page_data.js Normal file
View File

@@ -0,0 +1,152 @@
const { chromium } = require('playwright');
async function checkPageData() {
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
// 监听控制台日志
page.on('console', msg => {
if (msg.type() === 'log') {
console.log('页面日志:', msg.text());
}
});
// 监听网络请求
page.on('request', request => {
if (request.url().includes('/tgAccount/list')) {
console.log('前端发送请求:', request.method(), request.url());
console.log('请求头:', request.headers());
const postData = request.postData();
if (postData) {
console.log('请求体数据:', postData);
}
}
});
page.on('response', async response => {
if (response.url().includes('/tgAccount/list')) {
console.log('API响应状态:', response.status());
console.log('API响应URL:', response.url());
try {
const responseData = await response.json();
console.log('API数据结构检查:');
console.log('- success:', responseData.success);
console.log('- code:', responseData.code);
console.log('- data存在:', !!responseData.data);
console.log('- data.list存在:', !!(responseData.data && responseData.data.list));
console.log('- data.list长度:', responseData.data && responseData.data.list ? responseData.data.list.length : 0);
if (responseData.data && responseData.data.list && responseData.data.list.length > 0) {
const firstRecord = responseData.data.list[0];
console.log('第一条记录字段检查:', {
id: firstRecord.id,
phone: firstRecord.phone,
password: firstRecord.password,
session: firstRecord.session ? '有数据' : '无数据',
firstname: firstRecord.firstname,
lastname: firstRecord.lastname,
about: firstRecord.about
});
}
} catch (e) {
console.log('解析API响应失败:', e.message);
}
}
});
try {
// 访问页面
console.log('正在访问页面...');
await page.goto('http://localhost:8892');
// 等待页面加载
await page.waitForTimeout(3000);
// 检查是否需要登录
const loginButton = await page.$('button');
if (loginButton) {
console.log('检测到登录页面,尝试登录...');
// 查找用户名和密码输入框
const usernameInput = await page.$('input[placeholder*="用户名"], input[type="text"]');
const passwordInput = await page.$('input[placeholder*="密码"], input[type="password"]');
if (usernameInput && passwordInput) {
console.log('找到登录表单,填写登录信息...');
await usernameInput.fill('admin'); // 根据CLAUDE.md中的账号信息
await passwordInput.fill('111111'); // 根据CLAUDE.md中的密码信息
// 点击登录按钮
await loginButton.click();
await page.waitForTimeout(3000);
console.log('登录完成,等待页面跳转...');
} else {
console.log('未找到登录表单,直接跳转到账号列表页面...');
}
}
// 直接访问账号列表页面
console.log('直接访问账号列表页面...');
await page.goto('http://localhost:8892/#/tgAccountManage/tgAccountList');
await page.waitForTimeout(5000);
// 等待表格加载或任何数据显示
try {
await page.waitForSelector('table', { timeout: 10000 });
console.log('找到数据表格');
} catch (e) {
console.log('未找到表格,检查页面内容...');
const pageContent = await page.content();
console.log('页面HTML长度:', pageContent.length);
// 检查是否有错误信息
const errorElements = await page.$$('text=/错误|Error|失败|Failed/i');
if (errorElements.length > 0) {
console.log('页面显示错误信息');
for (const element of errorElements) {
const text = await element.textContent();
console.log('错误信息:', text);
}
}
// 检查是否仍在登录页面
const isLoginPage = await page.$('input[type="password"]');
if (isLoginPage) {
console.log('仍然在登录页面,需要处理登录');
return;
}
}
// 检查表格数据
const tableRows = await page.$$('table tbody tr');
console.log(`找到 ${tableRows.length} 行数据`);
// 检查前几行的数据内容
for (let i = 0; i < Math.min(3, tableRows.length); i++) {
const row = tableRows[i];
const cells = await row.$$('td');
console.log(`\n${i + 1} 行数据:`);
for (let j = 0; j < cells.length; j++) {
const cellText = await cells[j].textContent();
console.log(`${j + 1}: "${cellText.trim()}"`);
}
}
// 截图保存
await page.screenshot({ path: '/Users/hahaha/telegram-management-system/frontend/page_screenshot.png', fullPage: true });
console.log('页面截图已保存到 page_screenshot.png');
await page.waitForTimeout(5000);
} catch (error) {
console.error('检查页面时出错:', error);
} finally {
await browser.close();
}
}
checkPageData();