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

108 lines
2.9 KiB
Markdown

# 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
- [x] **Day 11-12**: Undo/Redo functionality
- [x] Design undo/redo system architecture
- [x] Implement history stack
- [x] Add undo/redo buttons to UI
- [x] Integrate with all operations (add, move, resize, rotate, delete)
- [x] Add keyboard shortcuts (Ctrl+Z, Ctrl+Y)
- [x] Test undo/redo with complex operations
- [x] **Day 13-14**: Keyboard shortcuts system
- [x] Create keyboard shortcuts module
- [x] Implement common shortcuts (Ctrl+Z, Ctrl+Y, Delete, Ctrl+S, etc.)
- [x] Add shortcuts help panel
- [x] 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