Files
testing-tool/pages/QrCode/types.ts

40 lines
1.5 KiB
TypeScript

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