一个零依赖、纯前端的单页应用,用于管理两平台树状节点的映射关系,支持深色/浅色主题切换、导入导出、智能批量映射、未映射统计等功能。
- 零依赖:仅
HTML + CSS + JavaScript,无需构建或安装依赖 - 主题切换:深色/浅色一键切换并持久化
- 数据导入:支持 JSON/CSV 文件上传或粘贴
- 智能映射:基于编辑距离的相似度分析、批量勾选应用
- 未映射统计:与“可映射范围(叶子/全部)”设置实时联动
- 导出映射:JSON/CSV 两种格式
- 绑定记录:分页查看、支持撤回
- 本地预览(推荐):
- 在项目根目录运行:
python3 -m http.server 8000
- 打开:
http://localhost:8000/双平台关系映射.html
- 在项目根目录运行:
- 直接下载或克隆本仓库,双击
双平台关系映射.html可离线打开 - 如需跨域安全与文件读写兼容,请按“本地预览”方式启动静态服务
双平台关系映射.html:应用主文件(引用外部样式与脚本)css/style.css:样式文件js/script.js:脚本文件关系映射.html:旧版单文件(如存在,仅供参考)README.md:项目说明
- 主题切换
- 右上角“主题”图标按钮切换深/浅色;刷新后保持选择
- 参考代码:
/关系映射.html:1126-1147、/关系映射.html:3521-3527
- 数据导入
- 顶部“导入数据”,选择目标平台(A/B),支持文件上传或粘贴
- 拖拽/选择文件事件绑定:
/关系映射.html:1317-1344;处理函数:/关系映射.html:1351-1356
- 映射管理
- 在右侧树点击目标节点进行绑定;中间面板可查看绑定与移除
- 列表渲染:
/关系映射.html:2078-2113;移除:/关系映射.html:2233-2250
- 智能批量映射
- 顶部“智能映射”,设置相似度阈值,点击“开始分析”
- 匹配项支持名称/ID 搜索;列表显示
ID: 源ID → 目标ID - 主要逻辑:
- 分析:
/关系映射.html:3054-3064、/关系映射.html:3066-3088 - 相似度:
/关系映射.html:3100-3115、/关系映射.html:3117-3139 - 渲染与搜索:
/关系映射.html:3141-3196 - 批量应用:
/关系映射.html:3178-3225
- 分析:
- 未映射统计
- 底栏“未映射”,展示平台 A/B 未映射节点数量与列表
- 与“可映射范围(仅叶子/全部)”设置实时关联
- 计算与刷新:
/关系映射.html:3328-3354、/关系映射.html:3360-3397、/关系映射.html:3446-3455
- 导出映射
- 顶部“导出映射”,选择 JSON/CSV;
/关系映射.html:2418-2454、/关系映射.html:2394-2416
- 顶部“导出映射”,选择 JSON/CSV;
- 绑定记录
- 底栏“绑定记录”,分页查看;支持撤回:
/关系映射.html:2688-2752、/关系映射.html:2886-2913
- 底栏“绑定记录”,分页查看;支持撤回:
- 技术栈:
HTML + CSS + JavaScript;不依赖框架与后端 - 存储:浏览器
localStorage,键名knowledgeMappingState - 架构要点:
- 状态管理:
state(平台树、映射、UI、设置、搜索等)/关系映射.html:1282-1321 - 事件总线:
emit/on用于模块间通讯/关系映射.html:1131-1134 - 统计:覆盖率与未映射数
/关系映射.html:2336-2371、/关系映射.html:3360-3397
- 状态管理:
- 在 GitHub 创建公开仓库(例如
dual-platform-mapping-ui) - 在本地项目目录执行:
git initgit checkout -b maingit add 关系映射.html README.mdgit commit -m "chore: initial open source release"git remote add origin https://github.com/<你的用户名>/<仓库名>.gitgit push -u origin main
- 可选:开启 GitHub Pages(Settings → Pages),选择
main分支进行静态托管
- 提交 PR 前请确保:
- 不引入外部依赖;保持零依赖原则
- 遵循现有代码风格与模块划分
- UI 改动需同时考虑深/浅色适配
- 建议增加:
- 单元测试或最小可验证脚本(如相似度函数的用例)
- 文档中的代码引用路径与行号保持最新
- 使用 GitHub Issues 提交缺陷或需求建议
- 建议提供:浏览器版本、操作步骤、预期与实际结果、截图
- 建议使用 MIT 许可证;如需变更请在仓库根目录添加
LICENSE文件
- 应用内部版本:
version: "2.0"(/关系映射.html:2578) - 变更记录:建议在 PR/Release 中维护