logo
0
0
WeChat Login

项目介绍

Nuxt SSG 静态单页应用

数据匹配工具

基于 Nuxt 4 和 FlexSearch 的数据匹配工具,支持大规模数据处理和人工匹配确认。

功能特点

  • 文件上传阶段

    • 上传并异步读取 all_names.json 数据文件(100000+量级)
    • 上传并异步读取 data_to_process.json 数据文件(1000+量级)
    • 使用 FlexSearch 对组织名称构建索引,支持快速搜索
    • 支持导入/导出处理进度(类似游戏存档功能)
  • 人工处理阶段

    • 列表展示待处理数据,支持点击编辑和导航切换
    • 实时搜索组织名称,快速匹配
    • 添加/删除已匹配的组织
    • 确认最终匹配结果
    • Canvas 位图进度条,可视化展示处理进度

数据结构

OrgName

export interface OrgName { org_name: string; org_key: string; patent_count: number; }

FuzzSecRawData

export interface FuzzSecRawData { sec_name: string; sec_key: string; prematched_orgs: { org_key: string; patent_count: number; algorithm: "simple" | "token_sort" | "token_set"; }[]; }

ProcessData

export interface ProcessData { sec_name: string; sec_key: string; manual_matched_orgs: { org_key: string; }[]; confirmed: boolean; }

使用说明

  1. 上传数据文件

    • 首先上传 all_names.json 文件,包含所有组织名称数据
    • 然后上传 data_to_process.json 文件,包含待处理的数据
    • 可选择导入之前导出的处理进度
  2. 处理数据

    • 在数据列表中选择要处理的项目
    • 使用搜索框查找匹配的组织名称
    • 点击搜索结果添加到匹配列表
    • 点击匹配列表中的组织可以删除
    • 确认匹配结果后,系统会自动跳转到下一项
  3. 进度管理

    • 可以随时导出当前处理进度
    • 位图进度条显示整体处理进度
    • 可以调整像素大小以适应不同规模的数据

示例数据

项目包含示例数据文件,可用于测试:

  • public/sample_all_names.json - 示例组织名称数据
  • public/sample_data_to_process.json - 示例待处理数据

技术栈

  • 前端框架: Nuxt 4 (SSG 纯客户端渲染模式)
  • UI 组件库: Nuxt UI (不引入额外图标和字体)
  • 搜索引擎: FlexSearch
  • 进度可视化: Canvas API

开发

# 安装依赖 pnpm install # 启动开发服务器 pnpm dev # 构建生产版本 pnpm build # 预览生产版本 pnpm preview

许可证

MIT

About

No description, topics, or website provided.
Language
Vue86.2%
TypeScript8%
CSS4.9%
JavaScript0.8%
Others0.1%