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

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View File

@@ -0,0 +1,135 @@
<!DOCTYPE html>
<html>
<head>
<title>页面测试报告</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
h1 { color: #333; }
table { border-collapse: collapse; width: 100%; margin-top: 20px; }
th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
th { background-color: #f2f2f2; }
.success { color: green; }
.error { color: red; }
.screenshot { max-width: 200px; cursor: pointer; }
.screenshot:hover { transform: scale(1.5); }
</style>
</head>
<body>
<h1>Telegram管理系统 - 页面测试报告</h1>
<p>测试时间: 2025/7/30 18:47:41</p>
<p>总页面数: 11 | 成功: 0 | 失败: 11</p>
<table>
<tr>
<th>模块</th>
<th>页面</th>
<th>URL</th>
<th>状态</th>
<th>错误信息</th>
<th>截图</th>
</tr>
<tr>
<td>仪表板</td>
<td>首页</td>
<td>/dashboard/home</td>
<td class="error">empty</td>
<td>页面内容为空</td>
<td><img class="screenshot" src="仪表板-首页.png" alt="首页"></td>
</tr>
<tr>
<td>账号管理</td>
<td>TG账号用途</td>
<td>/account-manage/usage</td>
<td class="error">vite-error</td>
<td>Vite错误: </td>
<td><img class="screenshot" src="账号管理-TG账号用途.png" alt="TG账号用途"></td>
</tr>
<tr>
<td>账号管理</td>
<td>TG账号列表</td>
<td>/account-manage/list</td>
<td class="error">vite-error</td>
<td>Vite错误: </td>
<td><img class="screenshot" src="账号管理-TG账号列表.png" alt="TG账号列表"></td>
</tr>
<tr>
<td>账号管理</td>
<td>Telegram用户列表</td>
<td>/account-manage/telegram-users</td>
<td class="error">vite-error</td>
<td>Vite错误: </td>
<td><img class="screenshot" src="账号管理-Telegram用户列表.png" alt="Telegram用户列表"></td>
</tr>
<tr>
<td>账号管理</td>
<td>统一注册系统</td>
<td>/account-manage/unified-register</td>
<td class="error">vite-error</td>
<td>Vite错误: </td>
<td><img class="screenshot" src="账号管理-统一注册系统.png" alt="统一注册系统"></td>
</tr>
<tr>
<td>群组管理</td>
<td>群组列表</td>
<td>/group-config/list</td>
<td class="error">empty</td>
<td>页面内容为空</td>
<td><img class="screenshot" src="群组管理-群组列表.png" alt="群组列表"></td>
</tr>
<tr>
<td>消息管理</td>
<td>消息列表</td>
<td>/message-management/list</td>
<td class="error">empty</td>
<td>页面内容为空</td>
<td><img class="screenshot" src="消息管理-消息列表.png" alt="消息列表"></td>
</tr>
<tr>
<td>日志管理</td>
<td>群发日志</td>
<td>/log-manage/group-send</td>
<td class="error">empty</td>
<td>页面内容为空</td>
<td><img class="screenshot" src="日志管理-群发日志.png" alt="群发日志"></td>
</tr>
<tr>
<td>日志管理</td>
<td>注册日志</td>
<td>/log-manage/register</td>
<td class="error">empty</td>
<td>页面内容为空</td>
<td><img class="screenshot" src="日志管理-注册日志.png" alt="注册日志"></td>
</tr>
<tr>
<td>系统配置</td>
<td>通用设置</td>
<td>/system-config/general</td>
<td class="error">vite-error</td>
<td>Vite错误: </td>
<td><img class="screenshot" src="系统配置-通用设置.png" alt="通用设置"></td>
</tr>
<tr>
<td>系统配置</td>
<td>系统参数</td>
<td>/system-config/params</td>
<td class="error">vite-error</td>
<td>Vite错误: </td>
<td><img class="screenshot" src="系统配置-系统参数.png" alt="系统参数"></td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,134 @@
[
{
"name": "首页",
"parent": "仪表板",
"url": "/dashboard/home",
"status": "empty",
"title": "首页 - Telegram管理系统",
"screenshot": "test-screenshots/all-pages/仪表板-首页.png",
"errors": [
"页面内容为空"
],
"hasContent": ""
},
{
"name": "TG账号用途",
"parent": "账号管理",
"url": "/account-manage/usage",
"status": "vite-error",
"title": "Telegram管理系统",
"screenshot": "test-screenshots/all-pages/账号管理-TG账号用途.png",
"errors": [
"Vite错误: "
],
"hasContent": null
},
{
"name": "TG账号列表",
"parent": "账号管理",
"url": "/account-manage/list",
"status": "vite-error",
"title": "Telegram管理系统",
"screenshot": "test-screenshots/all-pages/账号管理-TG账号列表.png",
"errors": [
"Vite错误: "
],
"hasContent": null
},
{
"name": "Telegram用户列表",
"parent": "账号管理",
"url": "/account-manage/telegram-users",
"status": "vite-error",
"title": "Telegram管理系统",
"screenshot": "test-screenshots/all-pages/账号管理-Telegram用户列表.png",
"errors": [
"Vite错误: "
],
"hasContent": null
},
{
"name": "统一注册系统",
"parent": "账号管理",
"url": "/account-manage/unified-register",
"status": "vite-error",
"title": "Telegram管理系统",
"screenshot": "test-screenshots/all-pages/账号管理-统一注册系统.png",
"errors": [
"Vite错误: "
],
"hasContent": null
},
{
"name": "群组列表",
"parent": "群组管理",
"url": "/group-config/list",
"status": "empty",
"title": "404 - Telegram管理系统",
"screenshot": "test-screenshots/all-pages/群组管理-群组列表.png",
"errors": [
"页面内容为空"
],
"hasContent": null
},
{
"name": "消息列表",
"parent": "消息管理",
"url": "/message-management/list",
"status": "empty",
"title": "404 - Telegram管理系统",
"screenshot": "test-screenshots/all-pages/消息管理-消息列表.png",
"errors": [
"页面内容为空"
],
"hasContent": null
},
{
"name": "群发日志",
"parent": "日志管理",
"url": "/log-manage/group-send",
"status": "empty",
"title": "群发日志 - Telegram管理系统",
"screenshot": "test-screenshots/all-pages/日志管理-群发日志.png",
"errors": [
"页面内容为空"
],
"hasContent": false
},
{
"name": "注册日志",
"parent": "日志管理",
"url": "/log-manage/register",
"status": "empty",
"title": "注册日志 - Telegram管理系统",
"screenshot": "test-screenshots/all-pages/日志管理-注册日志.png",
"errors": [
"页面内容为空"
],
"hasContent": false
},
{
"name": "通用设置",
"parent": "系统配置",
"url": "/system-config/general",
"status": "vite-error",
"title": "Telegram管理系统",
"screenshot": "test-screenshots/all-pages/系统配置-通用设置.png",
"errors": [
"Vite错误: "
],
"hasContent": null
},
{
"name": "系统参数",
"parent": "系统配置",
"url": "/system-config/params",
"status": "vite-error",
"title": "Telegram管理系统",
"screenshot": "test-screenshots/all-pages/系统配置-系统参数.png",
"errors": [
"Vite错误: "
],
"hasContent": null
}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -0,0 +1,33 @@
<!DOCTYPE html><html lang="zh" class="dark" data-theme="default" data-platform="macOs" style="--success: 144 57% 58%; --primary: 212 100% 45%; --destructive: 348 100% 61%; --warning: 42 84% 61%; --radius: 0.5rem;"><head>
<script type="module" src="/@vite/client"></script>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="description" content="A Modern Back-end Management System">
<meta name="keywords" content="Vben Admin Vue3 Vite">
<meta name="author" content="Vben">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0">
<!-- 由 vite 注入 VITE_APP_TITLE 变量,在 .env 文件内配置 -->
<title>Telegram管理系统</title>
<link rel="icon" href="/favicon.ico">
<script>
// 生产环境下注入百度统计
if (window._VBEN_ADMIN_PRO_APP_CONF_) {
var _hmt = _hmt || [];
(function () {
var hm = document.createElement('script');
hm.src =
'https://hm.baidu.com/hm.js?b38e689f40558f20a9a686d7f6f33edf';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(hm, s);
})();
}
</script>
<style id="__vben-styles__">:root {--primary-50: 210 86% 97%;--primary-100: 214 85% 95%;--primary-200: 212 83% 86%;--primary-300: 212 82% 78%;--primary-400: 212 83% 62%;--primary-500: 212 100% 45%;--primary-600: 212 100% 41%;--primary-700: 212 100% 27%;--primary-800: 212 100% 20%;--primary-900: 212 100% 14%;--primary-950: 213 100% 9%;--yellow-50: 45 80% 98%;--warning-50: 45 80% 98%;--yellow-100: 41 80% 96%;--warning-100: 41 80% 96%;--yellow-200: 43 84% 90%;--warning-200: 43 84% 90%;--yellow-300: 42 85% 85%;--warning-300: 42 85% 85%;--yellow-400: 42 84% 73%;--warning-400: 42 84% 73%;--yellow-500: 42 84% 61%;--warning-500: 42 84% 61%;--yellow-600: 42 65% 55%;--warning-600: 42 65% 55%;--yellow-700: 42 54% 36%;--warning-700: 42 54% 36%;--yellow-800: 42 54% 27%;--warning-800: 42 54% 27%;--yellow-900: 42 53% 18%;--warning-900: 42 53% 18%;--yellow-950: 42 55% 12%;--warning-950: 42 55% 12%;--warning: 42 84% 61%;--green-50: 140 60% 98%;--success-50: 140 60% 98%;--green-100: 145 55% 96%;--success-100: 145 55% 96%;--green-200: 143 58% 90%;--success-200: 143 58% 90%;--green-300: 143 58% 83%;--success-300: 143 58% 83%;--green-400: 144 57% 71%;--success-400: 144 57% 71%;--green-500: 144 57% 58%;--success-500: 144 57% 58%;--green-600: 144 45% 52%;--success-600: 144 45% 52%;--green-700: 145 41% 35%;--success-700: 145 41% 35%;--green-800: 144 41% 26%;--success-800: 144 41% 26%;--green-900: 144 42% 17%;--success-900: 144 42% 17%;--green-950: 144 42% 12%;--success-950: 144 42% 12%;--success: 144 57% 58%;--red-50: 348 100% 98%;--destructive-50: 348 100% 98%;--red-100: 348 100% 96%;--destructive-100: 348 100% 96%;--red-200: 348 100% 90%;--destructive-200: 348 100% 90%;--red-300: 348 100% 84%;--destructive-300: 348 100% 84%;--red-400: 348 100% 73%;--destructive-400: 348 100% 73%;--red-500: 348 100% 61%;--destructive-500: 348 100% 61%;--red-600: 348 78% 55%;--destructive-600: 348 78% 55%;--red-700: 348 64% 37%;--destructive-700: 348 64% 37%;--red-800: 348 64% 27%;--destructive-800: 348 64% 27%;--red-900: 348 64% 18%;--destructive-900: 348 64% 18%;--red-950: 348 65% 12%;--destructive-950: 348 65% 12%;--destructive: 348 100% 61%;}</style></head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Some files were not shown because too many files have changed in this diff Show More