chore(admin): 清理后台静态演示数据(我的团队/最新动态/通知中心返回空)

- /api/user/my-team/list 不再返回硬编码团队成员,改为空数组

- /api/user/latest-activity 不再返回硬编码动态,改为空数组

- /api/message/list 不再返回硬编码站内消息,改为空数组

- 新增回归护栏 admin-demo-data-cleanup.spec.ts(81 套件/617 用例全绿)
这个提交包含在:
xcbyy
2026-10-19 09:08:21 +08:00
父节点 029c6189a7
当前提交 f1f8952e97
共有 2 个文件被更改,包括 39 次插入 和 48 次删除

查看文件

@@ -453,43 +453,19 @@ app.all('/api/user/my-project/list', (_req: Request, res: Response) => {
});
});
// 后台个人中心:我的团队(真实团队表尚未建立,返回空数组,不再返回静态演示成员)
app.all('/api/user/my-team/list', (_req: Request, res: Response) => {
res.json({
code: 20000,
data: [
{
id: 1,
avatar: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="50" fill="%23165DFF"/><text x="50" y="62" font-size="36" text-anchor="middle" fill="white" font-family="sans-serif">OP</text></svg>',
name: '同城活动运营组',
peopleNumber: 8
},
{
id: 2,
avatar: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="50" fill="%23F53F3F"/><text x="50" y="62" font-size="36" text-anchor="middle" fill="white" font-family="sans-serif">FN</text></svg>',
name: '财务与结算中心',
peopleNumber: 4
}
]
data: []
});
});
// 后台个人中心:最新动态(暂无审计动态数据源,返回空数组,不再返回静态演示内容)
app.all('/api/user/latest-activity', (_req: Request, res: Response) => {
res.json({
code: 20000,
data: [
{
id: 1,
title: '完成了苏苏学姐的微信商户打款审核',
description: '提现单号 TX20260928001,金额 ¥1250.00,已打款至微信商户零钱。',
avatar: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="50" fill="%2300B42A"/><text x="50" y="62" font-size="36" text-anchor="middle" fill="white" font-family="sans-serif">CW</text></svg>'
},
{
id: 2,
title: '处理了工体纯KTV争议仲裁单',
description: '对涉事大神迟到提前离场进行举证判定,款项已全额退款用户。',
avatar: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="50" fill="%23FF7D00"/><text x="50" y="62" font-size="36" text-anchor="middle" fill="white" font-family="sans-serif">ZC</text></svg>'
}
]
data: []
});
});
@@ -612,29 +588,11 @@ app.get('/api/message/subscribe-templates', async (_req: Request, res: Response)
}
});
// 通知中心列表(暂无真实站内消息数据源,返回空数组,不再返回静态演示消息)
app.all('/api/message/list', (_req: Request, res: Response) => {
res.json({
code: 20000,
data: [
{
id: 1,
type: 'notice',
title: '系统通知',
subTitle: 'MySQL 数据库就绪',
avatar: '',
content: '生产级 MySQL 数据库与 10 张核心业务表已完成线上平滑就绪。',
time: '刚刚',
},
{
id: 2,
type: 'todo',
title: '待办预警',
subTitle: '大神入驻待审核',
avatar: '',
content: '新注册大神可可奶芙、夜风沉醉提交了入驻资质申请,请及时审核。',
time: '10分钟前',
}
]
data: []
});
});

查看文件

@@ -0,0 +1,33 @@
// 已读取AGENTS.md
import * as fs from 'fs';
import * as path from 'path';
/**
* 第六十五批回归闸门:清理后台静态演示数据
*/
describe('第六十五批后台演示数据清理闸门', () => {
const rootDir = path.resolve(__dirname, '../../');
const indexCode = fs.readFileSync(path.join(rootDir, 'server/src/index.ts'), 'utf-8');
it('不再返回硬编码团队/动态/通知演示数据', () => {
expect(indexCode).not.toContain('同城活动运营组');
expect(indexCode).not.toContain('财务与结算中心');
expect(indexCode).not.toContain('完成了苏苏学姐的微信商户打款审核');
expect(indexCode).not.toContain('处理了工体纯KTV争议仲裁单');
expect(indexCode).not.toContain('可可奶芙、夜风沉醉');
expect(indexCode).not.toContain('MySQL 数据库就绪');
});
it('相关接口返回空数组(由前端展示空态)', () => {
for (const marker of [
"app.all('/api/user/my-team/list'",
"app.all('/api/user/latest-activity'",
"app.all('/api/message/list'",
]) {
const start = indexCode.indexOf(marker);
expect(start).toBeGreaterThan(-1);
const block = indexCode.slice(start, start + 220);
expect(block).toContain('data: []');
}
});
});