第十一周总结
一、Web大作业开发进展
用户认证模块完善
实现JWT令牌认证机制
增加密码加密存储(BCrypt)
添加验证码功能防止暴力破解
// JWT生成示例
public String generateToken(UserDetails userDetails) {
Map<String, Object> claims = new HashMap<>();
return Jwts.builder()
.setClaims(claims)
.setSubject(userDetails.getUsername())
.setIssuedAt(new Date())
.setExpiration(new Date(System.currentTimeMillis() + EXPIRATION_TIME))
.signWith(SignatureAlgorithm.HS512, SECRET_KEY)
.compact();
}
权限控制系统
基于角色的访问控制(RBAC)
实现Spring Security配置
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/").hasRole("ADMIN")
.antMatchers("/user/").hasAnyRole("USER", "ADMIN")
.anyRequest().permitAll()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/dashboard")
.and()
.logout()
.logoutSuccessUrl("/login");
}
}
前端改进
添加响应式布局
实现表单验证增强
<template #append>
<el-button @click="sendVerifyCode">发送验证码
二、Python图像处理进展
新增滤镜算法
实现卡通化效果
添加油画风格滤镜
def apply_cartoon(image):
"""卡通化效果"""
gray = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2GRAY)
gray = cv2.medianBlur(gray, 5)
edges = cv2.adaptiveThreshold(gray, 255,
cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY, 9, 9)
color = cv2.bilateralFilter(np.array(image), 9, 300, 300)
cartoon = cv2.bitwise_and(color, color, mask=edges)
return Image.fromarray(cartoon)
性能优化
添加多线程处理
实现图像缓存机制
from concurrent.futures import ThreadPoolExecutor
class ImageProcessor:
def init(self):
self.executor = ThreadPoolExecutor(max_workers=4)
def async_apply_filter(self, filter_name, callback):
"""异步应用滤镜"""
future = self.executor.submit(self.apply_filter, filter_name)
future.add_done_callback(callback)
UI增强
添加滤镜实时预览
实现撤销/重做功能栈
class EditHistory:
def init(self, max_steps=10):
self.history = []
self.current = -1
self.max_steps = max_steps
def push(self, image):
if len(self.history) >= self.max_steps:
self.history.pop(0)
self.history.append(image.copy())
self.current = len(self.history) - 1
def undo(self):
if self.current > 0:
self.current -= 1
return self.history[self.current]
return None
三、关键问题解决
跨域问题
// Spring Boot配置
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.allowedHeaders("")
.maxAge(3600);
}
}
图像处理内存泄漏
使用上下文管理器确保资源释放
with Image.open(path) as img:
processed = apply_filter(img)
processed.save(output_path)
响应式布局适配
/* 移动端适配 */
@media (max-width: 768px) {
.login-form {
width: 90%;
padding: 15px;
}
.el-form-item__content {
flex-direction: column;
}
}
四、下周开发计划
Web项目
实现文件上传服务
开发消息通知模块
添加数据可视化图表
图像处理
集成深度学习风格迁移
实现批量处理功能
添加EXIF信息编辑
质量保障
编写单元测试用例
添加性能监控
完善文档
五、代码质量报告
指标 Web项目 Python项目
测试覆盖率 65% 45%
代码重复率 8% 12%
技术债务指数 中等 较高
建议优先解决Python项目的测试覆盖问题,特别是滤镜算法的边界条件测试。

浙公网安备 33010602011771号