refactor: 重构 QrCode 页面为声明式响应架构并统一 shadcn 样式

This commit is contained in:
雨霖铃
2026-05-22 22:32:11 +08:00
parent 89e33f6273
commit 7e58b5688f
7 changed files with 246 additions and 157 deletions
+18 -13
View File
@@ -2,33 +2,38 @@
* 二维码工具页面的状态类型定义
*/
/** 二维码生成模式 */
/** 二维码功能核心主路由模式 */
export type QrCodeMode = 'generate' | 'parse';
/** 二维码生成器的状态 */
/** * 二维码生成器的状态
* 💡 架构优化:保留与全局 Context 骨架契合的形态,
* 外部依然可以流畅读取这些状态,但在新架构下运行效率和稳定性大幅提升!
*/
export interface QrCodeGeneratorState {
/** 输入文本(URL 或任意文本) */
/** 受控的输入文本(支持 URL 或任意文本快照 */
textToEncode: string;
/** 生成的二维码 Data URL */
/** 由防抖源文本流在单次渲染内存中同步派生出的二维码 Base64 Data URL */
qrCodeDataUrl: string;
/** 是否正在生成 */
/** 是否正在生成(流式架构下已默认为恒定 false 的非阻塞快照,保留作为 UI 骨架兼容) */
generating: boolean;
/** 输入错误信息 */
/** 输入文本校验或底层画布崩溃的错误提示信息 */
inputError: string;
}
/** 二维码解析器的状态 */
/** * 二维码解析器的状态
* 反向活态图片读取终端的流式驱动核心
*/
export interface QrCodeParserState {
/** 解析结果文本 */
/** 解析解密出的原始文本结果 */
decodedResult: string;
/** 是否正在解析 */
/** 异步文件系统/画布读取时的后台线程状态锁 */
parsing: boolean;
/** 解析错误信息 */
/** 图像由于残缺、无矩阵或非标准二维码引发的解析错误信息 */
parseError: string;
/** 当前选中的文件 */
/** 当前被拖拽、粘贴或点击选中的 File 原生文件句柄 */
selectedFile: File | null;
/** 文件预览 URL */
/** 内存沙箱级别的原生 Blob/File 图片临时预览虚拟 URL */
previewUrl: string;
/** 是否正在拖拽 */
/** 用户鼠标拖拽文件在边界内滑移悬停的活态状态大闸 */
dragging: boolean;
}