feat: 统一JWT密钥配置并修复签名验证问题

修复前端签名生成中bodyString硬编码问题
添加start-frontend.sh脚本启动前端服务
统一manage-app和gateway的JWT密钥配置
修复Repository扫描路径问题
更新测试配置和依赖
重构表名映射为sys_user和sys_role
完善用户实体类字段映射
添加集成测试配置和测试用例
This commit is contained in:
张翔
2026-04-02 12:28:49 +08:00
parent 6392c08560
commit b0f91d74f5
63 changed files with 3287 additions and 889 deletions
@@ -0,0 +1,86 @@
#!/usr/bin/env python3
"""
检查Repository层命名规范
"""
import os
import re
from pathlib import Path
def check_repository_naming():
"""检查Repository层命名规范"""
base_path = Path("/Users/zhangxiang/Codes/Novalon/novalon-manage-system/novalon-manage-api")
print("=" * 60)
print("Repository层命名规范检查")
print("=" * 60)
# 查找所有Repository接口
repository_interfaces = []
for java_file in base_path.rglob("*Repository.java"):
content = java_file.read_text()
if "interface" in content:
repository_interfaces.append(java_file)
print(f"\n找到 {len(repository_interfaces)} 个Repository接口:")
issues = []
for interface in sorted(repository_interfaces):
interface_name = interface.stem
content = interface.read_text()
# 检查命名规范
if interface_name.startswith('I'):
print(f"{interface_name}")
else:
print(f" ⚠️ {interface_name} (应该以I开头)")
issues.append((interface, interface_name, f"I{interface_name}"))
# 查找所有Repository实现类
repository_impls = []
for java_file in base_path.rglob("*Repository*.java"):
if "impl" in str(java_file) or "RepositoryImpl" in java_file.name:
content = java_file.read_text()
if "class" in content and "Repository" in content:
repository_impls.append(java_file)
print(f"\n找到 {len(repository_impls)} 个Repository实现类:")
for impl in sorted(repository_impls):
impl_name = impl.stem
content = impl.read_text()
# 检查是否实现了接口
implements_match = re.search(r'implements\s+(\w+)', content)
if implements_match:
interface_name = implements_match.group(1)
# 检查命名规范
if interface_name.startswith('I'):
expected_impl_name = interface_name[1:] # 移除I前缀
if impl_name == expected_impl_name:
print(f"{impl_name} implements {interface_name}")
else:
print(f" ⚠️ {impl_name} implements {interface_name}")
print(f" 建议重命名为: {expected_impl_name}")
issues.append((impl, impl_name, expected_impl_name))
else:
print(f" {impl_name} implements {interface_name} (非标准接口)")
else:
print(f"{impl_name} (未找到implements关键字)")
# 检查是否有不符合规范的命名
print("\n" + "=" * 60)
if issues:
print(f"发现 {len(issues)} 个命名不规范的问题:")
for file, current_name, expected_name in issues:
print(f" - {current_name} -> {expected_name}")
print(f" 文件: {file.relative_to(base_path)}")
else:
print("✅ 所有Repository命名都符合规范!")
print("=" * 60)
if __name__ == "__main__":
check_repository_naming()