feat(config): implement dynamic security blocklist and home marketing popup with admin controls

这个提交包含在:
xcbyy
2026-10-10 13:49:01 +08:00
父节点 df92166162
当前提交 2e726e125d
共有 8 个文件被更改,包括 616 次插入 和 8 次删除

查看文件

@@ -156,4 +156,34 @@ describe('ContentSecurityService & Compliance Architecture (TDD 微信内容安
]);
});
});
describe('5. 动态自定义引流违规词库与首页运营全局弹窗组件规范验证', () => {
it('支持动态加载自定义违规引流词并即时热拦截', () => {
secService.setCustomKeywords(['私下走微信', '线下给现金', '联系方式v']);
expect(secService.getCustomKeywords()).toEqual(['私下走微信', '线下给现金', '联系方式v']);
const blocked1 = secService.checkText('加个好友,我们私下走微信吧');
expect(blocked1.pass).toBe(false);
expect(blocked1.code).toBe(87014);
expect(blocked1.message).toContain('私下走微信');
const blocked2 = secService.checkText('活动到了现场线下给现金可以吗');
expect(blocked2.pass).toBe(false);
expect(blocked2.code).toBe(87014);
expect(blocked2.message).toContain('线下给现金');
const passText = secService.checkText('今晚一起去望京合生麒麟社玩桌游');
expect(passText.pass).toBe(true);
});
it('首页必须挂载 HomePopupModal 全局运营浮层弹窗组件', () => {
const homePopupPath = path.join(rootDir, 'pwuniapp', 'components', 'HomePopupModal.vue');
expect(fs.existsSync(homePopupPath)).toBe(true);
const indexContent = fs.readFileSync(path.join(rootDir, 'pwuniapp', 'pages', 'index', 'index.vue'), 'utf-8');
expect(indexContent).toContain('home-popup-modal');
expect(indexContent).toContain('HomePopupModal');
});
});
});