yinji/docs/task_plan_phase2.md
wenpai 9587cd8ef4 feat: Sprint 1-3 安全修复、状态管理重构、性能优化
Sprint 1 - 安全基线修复(5项):
- 修复 DOM XSS 漏洞(seal-library.js, batch-processing.js)
- 修复 settings 导入 schema 注入
- CDN 锁版本 + SRI 完整性校验
- 外链添加 rel="noopener noreferrer"
- 替换 confirm/prompt 为自定义对话框

Sprint 2 - 状态管理重构(4项):
- 新建 state.js 单例模式管理全局状态
- 解耦 window.* 全局变量
- 修复印章库状态同步 bug
- localStorage 添加错误处理

Sprint 3 - 性能优化(4项):
- 删除死代码(loadScript, cleanupDistantCanvases 等)
- 实现缩略图懒加载(前3页+可视区)
- 添加文件大小限制(PDF 50MB / 图片 5MB)
- 完善 Canvas 内存清理

修复总计: 13项(3 P0 + 3 P1 + 6 P2 + 1 P3)

[CC] [CX]
2026-03-28 13:45:52 +08:00

2.9 KiB

Task Plan: PDF Stamper Phase 2 - Advanced Features

Project: PDF Stamper v1.2.0 Phase: Phase 2 (Week 3-4) Start Date: 2026-01-08 Target Completion: 2026-01-22 (14 days)


🎯 Goal

Add advanced features to improve user productivity and workflow efficiency.


📋 Tasks

Week 3: Core Advanced Features

  • Day 11-12: Undo/Redo functionality

    • Design undo/redo system architecture
    • Implement history stack
    • Add undo/redo buttons to UI
    • Integrate with all operations (add, move, resize, rotate, delete)
    • Add keyboard shortcuts (Ctrl+Z, Ctrl+Y)
    • Test undo/redo with complex operations
  • Day 13-14: Keyboard shortcuts system

    • Create keyboard shortcuts module
    • Implement common shortcuts (Ctrl+Z, Ctrl+Y, Delete, Ctrl+S, etc.)
    • Add shortcuts help panel
    • Test shortcuts across browsers
  • Day 15: Seal library management

    • Design seal library UI
    • Implement localStorage for seal storage
    • Add save/load/delete seal functions
    • Add seal preview in library

Week 4: Batch Processing & Settings

  • Day 16-17: Batch processing

    • Design batch processing UI
    • Implement multi-file upload
    • Add batch seal application
    • Add batch export functionality
    • Add progress tracking for batch operations
  • Day 18: Settings panel

    • Create settings UI
    • Add user preferences (default seal size, rotation, etc.)
    • Implement settings persistence
    • Add export/import settings
  • Day 19-20: Testing and bug fixes

    • Full functionality test
    • Performance test
    • Cross-browser testing
    • Bug fixes
    • Release v1.2.0

📊 Current Status

Phase: Phase 2 - Week 3 Day 13-14 COMPLETED Current Task: Day 13-14 完成,准备开始 Day 15 Progress: 2/6 tasks completed (33%)


🎯 Success Metrics

  • Undo/Redo works for all operations
  • At least 10 keyboard shortcuts implemented
  • Seal library can store 20+ seals
  • Batch processing handles 10+ files
  • Settings persist across sessions
  • No performance degradation
  • All tests pass

📝 Notes

Technical Decisions

  • Undo/Redo: Command pattern with history stack
  • Keyboard Shortcuts: Event delegation with key combinations
  • Seal Library: localStorage with base64 encoding
  • Batch Processing: Queue-based processing with progress tracking
  • Settings: JSON in localStorage

Priorities

  1. Undo/Redo (most requested feature)
  2. Keyboard shortcuts (productivity boost)
  3. Seal library (convenience)
  4. Batch processing (power users)
  5. Settings (customization)

🔄 Daily Updates

2026-01-08 (Day 11) - Starting Phase 2

Status: Phase 2 开始 Next: Implement Undo/Redo functionality


Last Updated: 2026-01-08T15:45:00Z