40 lines
1.5 KiB
TypeScript
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;
|
|
}
|