- 纳海川聚焦企业级中台定制、全端移动生态与垂直智能体工程,坚持全流程测试驱动开发(TDD)与金融级安全标准,提供 100% 完整源码工程交付与专有私有化部署。
+ 纳海川聚焦企业级中台定制、全端移动生态与垂直智能体工程,坚持全流程测试驱动开发(TDD)与金融级安全标准,提供完整工程源代码交付与专有私有化部署。
- 全路径模拟高并发峰值压力测试,配合权威渗透扫描与等保合规校验,保障系统坚固可靠。
+ 全路径模拟高并发峰值压力测试,配合专业机构渗透扫描与等保合规校验,保障系统坚固可靠。
< 15 分钟
-
7×24 生产级故障极速响应
+
7×24 生产级故障快速响应
专线运维架构师待命,重大故障 2 小时内出具解决方案与恢复实施。
@@ -457,7 +457,7 @@
包含非人为逻辑缺陷免费修复、环境性能巡检与关键安全补丁升级。
-
100 %
+
全量移交
知识产权归属客户所有
签署正规商用源码交付协议,协助客户申报自主国家计算机软件著作权。
@@ -530,18 +530,18 @@
技术咨询
-
准备好与资深技术架构师展开深度研讨了吗?
+
带着您的系统需求或技术难题,直接与架构师沟通
- 纳海川技术委员会核心架构师随时待命,为您提供深度业务剖析、系统架构蓝图规划与可行性评估,2 小时内快速响应对接。
+ 纳海川核心架构师一对一技术初审。针对您的现有业务逻辑、软硬件环境与合规要求,提供务实的技术可行性论证与排期建议,2 小时内快速响应建联。
diff --git a/tests/check_ad_compliance.py b/tests/check_ad_compliance.py
new file mode 100644
index 0000000..99bd48a
--- /dev/null
+++ b/tests/check_ad_compliance.py
@@ -0,0 +1,89 @@
+# -*- coding: utf-8 -*-
+"""
+广告法合规静态检查脚本
+对照《中华人民共和国广告法》重点审查:
+1. 绝对化极限用语:最高、最佳、第一、顶级、极致、首选、独家、独创、首屈一指等
+2. 违规国家级表述:国家级(除国家高新技术企业法定全称外不可乱用国家级)、世界级、国际领先
+3. 虚假或绝对化承诺:100%(非CSS宽高的绝对承诺)、零风险、零故障、永不宕机等
+4. 模糊引证/夸大宣称
+"""
+
+import os
+import re
+import sys
+
+# 规则定义: (规则说明, 危险正则, 白名单正则或上下文判断函数)
+RULES = [
+ (
+ "极限词(最系列)",
+ re.compile(r"(最[高佳强优新具权快低大美多全先进顶好])"),
+ lambda text, m: False # 严格禁止
+ ),
+ (
+ "极限词(顶级/极系列)",
+ re.compile(r"(顶级|极致|极品|鼎级|极速)"),
+ lambda text, m: False
+ ),
+ (
+ "极限词(第一/首系列)",
+ re.compile(r"(第一|No\.1|首[选个家]|首屈一指)"),
+ lambda text, m: False
+ ),
+ (
+ "绝对化用词(独家/独创/唯一)",
+ re.compile(r"(独家|独创|唯一|绝无仅有)"),
+ lambda text, m: False
+ ),
+ (
+ "绝对化承诺(100%/零故障/零风险)",
+ re.compile(r"(100%|零故障|零风险|零瑕疵|包过|永久免费)"),
+ lambda text, m: "width" in text.lower() or "height" in text.lower() or "size" in text.lower()
+ ),
+ (
+ "违规国家级表述",
+ re.compile(r"(国家级(?!高新技术企业)|世界级|国际领先)"),
+ lambda text, m: False
+ ),
+]
+
+def scan_files(directory):
+ violations = []
+ for root, dirs, files in os.walk(directory):
+ for f in files:
+ if not f.endswith(('.html', '.php', '.js')):
+ continue
+ path = os.path.join(root, f)
+ with open(path, 'r', encoding='utf-8', errors='ignore') as fp:
+ for line_no, line in enumerate(fp, 1):
+ # 过滤 CSS 中的技术百分比
+ filtered_line = re.sub(r'[\'\"a-zA-Z0-9_\-:]*\s*:\s*100%', '', line)
+ filtered_line = re.sub(r'width\s*=\s*[\'\"]100%[\'\"]', '', filtered_line)
+ filtered_line = re.sub(r'height\s*=\s*[\'\"]100%[\'\"]', '', filtered_line)
+
+ for rule_name, pattern, allow_fn in RULES:
+ for match in pattern.finditer(filtered_line):
+ matched_text = match.group(0)
+ if not allow_fn(line, match):
+ violations.append({
+ 'file': path,
+ 'line_no': line_no,
+ 'rule': rule_name,
+ 'matched': matched_text,
+ 'snippet': line.strip()
+ })
+ return violations
+
+if __name__ == '__main__':
+ target_dir = sys.argv[1] if len(sys.argv) > 1 else 'addons/official/view/web'
+ results = scan_files(target_dir)
+ report_path = 'tests/ad_audit_report.txt'
+ with open(report_path, 'w', encoding='utf-8') as f:
+ f.write(f"=== 中华人民共和国广告法合规审查清单 (扫描目录: {target_dir}) ===\n")
+ f.write(f"共排查潜在风险点: {len(results)} 处\n\n")
+ for r in results:
+ f.write(f"【{r['rule']}】 文件: {r['file']} 第 {r['line_no']} 行\n")
+ f.write(f" 敏感/违规词: {r['matched']}\n")
+ f.write(f" 上下文原句: {r['snippet']}\n")
+ f.write("-" * 60 + "\n")
+ print(f"审查完成!已生成报告: {report_path},发现风险项: {len(results)} 处")
+
diff --git a/tests/run_tests.py b/tests/run_tests.py
index 8e795b2..927ac1d 100644
--- a/tests/run_tests.py
+++ b/tests/run_tests.py
@@ -234,6 +234,24 @@ def test_client_rigor_suite():
res.assert_true(test_result.wasSuccessful(), f"客户视角严谨度断言全部通过 (共 {test_result.testsRun} 项)")
return res.summary()
+def test_ad_law_compliance_suite():
+ res = TestResult("中国广告法合规专项测试 (AdLawCompliance)")
+ from tests.test_ad_law_compliance import TestAdLawCompliance
+ suite = unittest.TestLoader().loadTestsFromTestCase(TestAdLawCompliance)
+ runner = unittest.TextTestRunner(verbosity=0)
+ test_result = runner.run(suite)
+ res.assert_true(test_result.wasSuccessful(), f"中国广告法合规断言全部通过 (共 {test_result.testsRun} 项)")
+ return res.summary()
+
+def test_natural_copywriting_suite():
+ res = TestResult("务实工程文案专项测试 (NaturalCopywriting)")
+ from tests.test_natural_copywriting import TestNaturalCopywriting
+ suite = unittest.TestLoader().loadTestsFromTestCase(TestNaturalCopywriting)
+ runner = unittest.TextTestRunner(verbosity=0)
+ test_result = runner.run(suite)
+ res.assert_true(test_result.wasSuccessful(), f"务实工程文案断言全部通过 (共 {test_result.testsRun} 项)")
+ return res.summary()
+
def main():
import unittest
results = [
@@ -244,9 +262,12 @@ def main():
test_about_page(),
test_contact_page(),
test_no_ai_flavor_suite(),
- test_client_rigor_suite()
+ test_client_rigor_suite(),
+ test_ad_law_compliance_suite(),
+ test_natural_copywriting_suite()
]
sys.exit(0 if all(results) else 1)
if __name__ == '__main__':
main()
+
diff --git a/tests/test_ad_law_compliance.py b/tests/test_ad_law_compliance.py
new file mode 100644
index 0000000..752554a
--- /dev/null
+++ b/tests/test_ad_law_compliance.py
@@ -0,0 +1,90 @@
+# -*- coding: utf-8 -*-
+"""
+中华人民共和国广告法文案合规自动化专项测试
+(Ad Law Compliance Test Suite)
+严格依据《中华人民共和国广告法》第4条、第8条、第9条、第11条、第28条:
+1. 绝对化极限词禁止(第九条第(三)项):最高、最佳、第一、顶级、极致、极速、独家、独创、行业领先等。
+2. 国家机关名义与国家级禁用(第九条第(二)、(三)项):严禁使用“国家级认定/国家级项目”等违法定性。
+3. 绝对化与夸大承诺禁止(第四条、第二十八条):严禁使用“彻底解决”、“彻底杜绝”、“100%准确”等绝对化承诺。
+4. 认证资质与引证规范(第八条、第十一条):规范使用法定全称,杜绝无依据的“权威资质”自我标榜。
+"""
+
+import os
+import re
+import unittest
+
+ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+
+class TestAdLawCompliance(unittest.TestCase):
+
+ def setUp(self):
+ self.target_files = {
+ 'index_pc': os.path.join(ROOT_DIR, 'addons/official/view/web/official_home/index.html'),
+ 'index_m': os.path.join(ROOT_DIR, 'addons/official/view/web/official_home/index_e.html'),
+ 'single_pc': os.path.join(ROOT_DIR, 'addons/official/view/web/official_home/single.html'),
+ 'single_m': os.path.join(ROOT_DIR, 'addons/official/view/web/official_home/single_e.html'),
+ 'service_pc': os.path.join(ROOT_DIR, 'addons/official/view/web/official_product/service_page.html'),
+ 'product_pc': os.path.join(ROOT_DIR, 'addons/official/view/web/official_product/product_page.html'),
+ 'case_pc': os.path.join(ROOT_DIR, 'addons/official/view/web/official_case_show/list.html'),
+ 'case_m': os.path.join(ROOT_DIR, 'addons/official/view/web/official_case_show/list_e.html'),
+ 'contact_pc': os.path.join(ROOT_DIR, 'addons/official/view/web/official_online_message/list.html'),
+ 'nav_pc': os.path.join(ROOT_DIR, 'addons/official/view/web/official_common/pc/nav.html'),
+ }
+
+ self.contents = {}
+ for key, path in self.target_files.items():
+ if os.path.exists(path):
+ with open(path, 'r', encoding='utf-8') as f:
+ self.contents[key] = f.read()
+ else:
+ self.contents[key] = ""
+
+ # 合并所有页面文本
+ self.all_text = "\n".join(self.contents.values())
+
+ def test_no_extreme_words_ban(self):
+ """广告法第九条第(三)项:严禁使用绝对化极限用词"""
+ extreme_words = [
+ '极致', '极速', '顶级', '首选', '独家', '独创', '行业领先',
+ '首屈一指', '绝无仅有', '世界级', '第一品牌', '遥遥领先'
+ ]
+ for word in extreme_words:
+ self.assertNotIn(word, self.all_text, f"文案中严禁出现广告法违禁极限词: '{word}'")
+
+ def test_no_illegal_national_level_claims(self):
+ """广告法第九条第(二)、(三)项:严禁非法使用'国家级'修饰语"""
+ # 严禁出现“国家级认定”、“国家级自主研发”等违法表述
+ self.assertNotIn('国家级自主研发', self.all_text, "不得使用'国家级自主研发'违规修饰")
+ self.assertNotIn('国家级科技创新认定', self.all_text, "不得使用'国家级科技创新认定'违规表述")
+ # 合规的表达应当为官方备案机构或高新技术企业全称
+ self.assertIn('全国高新技术企业认定管理机构备案认定', self.contents['single_pc'],
+ "资质表述须符合法定规范,应使用全国高新技术企业认定管理机构备案认定")
+
+ def test_no_absolute_guarantee_and_exaggeration(self):
+ """广告法第四条/第二十八条:严禁绝对化与夸大免责承诺"""
+ # 严禁“彻底杜绝”、“彻底解决”、“彻底消除”
+ absolute_promises = ['彻底解决', '彻底杜绝', '彻底消除', '永不宕机', '零故障', '零风险']
+ for p in absolute_promises:
+ self.assertNotIn(p, self.all_text, f"文案中不得出现绝对化夸大承诺: '{p}'")
+
+ def test_no_absolute_percentage_guarantees(self):
+ """广告法合规:服务与指标承诺中杜绝'100%'绝对化宣传"""
+ # 过滤 CSS 中的技术属性后,文案内容不应包含绝对化的 100% 承诺
+ clean_text = re.sub(r'[\'\"a-zA-Z0-9_\-:]*\s*:\s*100%', '', self.all_text)
+ clean_text = re.sub(r'width\s*=\s*[\'\"]100%[\'\"]', '', clean_text)
+ clean_text = re.sub(r'height\s*=\s*[\'\"]100%[\'\"]', '', clean_text)
+
+ self.assertNotIn('准确率:
100%', clean_text, "分账准确率不得夸大承诺100%")
+ self.assertNotIn('自动对账率:
100%', clean_text, "对账率不得夸大承诺100%")
+ self.assertNotIn('100% 完整源码', clean_text, "应表述为完整工程源码交付,避免100%绝对词")
+ self.assertNotIn('100% 客户独占', clean_text, "应表述为客户专属独占")
+ self.assertNotIn('100% 覆盖', clean_text, "应表述为核心用例全覆盖")
+ self.assertNotIn('资产 100% 移交', clean_text, "应表述为全套数字资产合规移交")
+
+ def test_certifications_pragmatic_framing(self):
+ """资质宣传客观严谨,杜绝主观自我标榜'权威资质'"""
+ self.assertNotIn('权威资质背书', self.contents['single_pc'], "应替换为客观严谨的'法定资质认证'")
+ self.assertNotIn('权威资质与软著', self.contents['single_m'], "移动端应同步规范为法定资质与合规资产")
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/tests/test_natural_copywriting.py b/tests/test_natural_copywriting.py
new file mode 100644
index 0000000..fca5779
--- /dev/null
+++ b/tests/test_natural_copywriting.py
@@ -0,0 +1,78 @@
+# -*- coding: utf-8 -*-
+"""
+纯粹务实工程文案专项测试 (Natural Copywriting & No AI Buzzwords Test)
+测试驱动去 AI 化、去除泛化通用口号与翻译腔,强化大厂务实工程与业务场景语言。
+"""
+import os
+import unittest
+
+ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+
+class TestNaturalCopywriting(unittest.TestCase):
+
+ def setUp(self):
+ self.index_path = os.path.join(ROOT_DIR, 'addons/official/view/web/official_home/index.html')
+ self.services_path = os.path.join(ROOT_DIR, 'addons/official/view/web/official_product/service_page.html')
+ self.products_path = os.path.join(ROOT_DIR, 'addons/official/view/web/official_product/product_page.html')
+ self.cases_path = os.path.join(ROOT_DIR, 'addons/official/view/web/official_case_show/list.html')
+ self.about_path = os.path.join(ROOT_DIR, 'addons/official/view/web/official_home/single.html')
+ self.contact_path = os.path.join(ROOT_DIR, 'addons/official/view/web/official_online_message/list.html')
+
+ with open(self.index_path, 'r', encoding='utf-8') as f:
+ self.index_html = f.read()
+ with open(self.services_path, 'r', encoding='utf-8') as f:
+ self.services_html = f.read()
+ with open(self.products_path, 'r', encoding='utf-8') as f:
+ self.products_html = f.read()
+ with open(self.cases_path, 'r', encoding='utf-8') as f:
+ self.cases_html = f.read()
+ with open(self.about_path, 'r', encoding='utf-8') as f:
+ self.about_html = f.read()
+ with open(self.contact_path, 'r', encoding='utf-8') as f:
+ self.contact_html = f.read()
+
+ def test_forbid_ai_buzzwords_and_translationese(self):
+ """严格禁止典型 AI 假大空口号、翻译腔与泛化套话"""
+ ai_buzzwords = [
+ '准备好与资深技术架构师展开深度研讨了吗', # 翻译腔
+ '认知智能化”跃迁', # 虚浮AI词
+ '数字见证力量', # 泛化套话
+ '开启确定性数字化未来', # 泛化套话
+ '让您的企业也拥有经得起考验的', # AI祈使句
+ '开启您的企业数字化与智能化升级项目', # 泛化套话
+ '开启确定性数字化技术合作' # 虚词
+ ]
+ all_html = (
+ self.index_html + "\n" +
+ self.services_html + "\n" +
+ self.products_html + "\n" +
+ self.cases_html + "\n" +
+ self.about_html + "\n" +
+ self.contact_html
+ )
+ for buzzword in ai_buzzwords:
+ self.assertNotIn(buzzword, all_html, f"全站必须彻底剔除 AI 通用套话/翻译腔: '{buzzword}'")
+
+ def test_require_pragmatic_engineering_copy(self):
+ """必须包含具体务实的工程化、场景化语言"""
+ # 首页务实表达
+ self.assertIn('扎实的软件工程实践', self.index_html, "首页服务板块标题必须务实直接")
+ self.assertIn('四大成熟商用系统', self.index_html, "首页产品板块标题必须清晰明确")
+ self.assertIn('用生产环境数据说话', self.index_html, "首页案例板块必须务实接地气")
+ self.assertIn('受控的软件研发流程', self.index_html, "首页流程板块标题必须强调受控确定性")
+ self.assertIn('来自甲方的真实反馈', self.index_html, "首页评价板块标题必须务实")
+ self.assertIn('有具体的系统研发或产品选型需求?我们来落实', self.index_html, "首页CTA必须说人话、重落实")
+
+ # 服务页务实表达
+ self.assertIn('带着您的系统需求或技术难题,直接与架构师沟通', self.services_html, "服务页CTA必须杜绝翻译腔")
+
+ # 案例页务实表达
+ self.assertIn('累计交付数据 · 用上线运行指标说话', self.cases_html, "案例页指标墙标题必须务实")
+ self.assertIn('面临类似的业务系统瓶颈?我们可以提供针对性方案', self.cases_html, "案例页CTA必须直面业务痛点")
+
+ # 关于我们与联系我们
+ self.assertIn('找懂业务、讲规范的研发团队,让软件项目平稳落地', self.about_html, "关于我们CTA必须务实接地气")
+ self.assertIn('业务咨询与技术评估', self.contact_html, "联系我们标题必须清晰务实")
+
+if __name__ == '__main__':
+ unittest.main()