{"id":26452955,"url":"https://github.com/zyascend/zmindmap","last_synced_at":"2026-03-04T21:02:17.561Z","repository":{"id":42772973,"uuid":"378436172","full_name":"zyascend/ZMindMap","owner":"zyascend","description":"仿幕布(mubu.com)风格思维导图，Vue3+SVG实现。","archived":false,"fork":false,"pushed_at":"2023-01-13T07:32:50.000Z","size":2653,"stargazers_count":82,"open_issues_count":2,"forks_count":21,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-07-30T20:08:38.910Z","etag":null,"topics":["cropperjs","d3js","element-ui","jwt","mindmap","pinia","qrcode","sentry","svg","vue3","xss"],"latest_commit_sha":null,"homepage":"https://map.kimjisoo.cn","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zyascend.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-19T14:50:00.000Z","updated_at":"2024-07-24T02:43:41.000Z","dependencies_parsed_at":"2023-02-09T15:01:57.113Z","dependency_job_id":null,"html_url":"https://github.com/zyascend/ZMindMap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zyascend%2FZMindMap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zyascend%2FZMindMap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zyascend%2FZMindMap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zyascend%2FZMindMap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zyascend","download_url":"https://codeload.github.com/zyascend/ZMindMap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244282969,"owners_count":20428103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cropperjs","d3js","element-ui","jwt","mindmap","pinia","qrcode","sentry","svg","vue3","xss"],"created_at":"2025-03-18T18:40:27.448Z","updated_at":"2026-03-04T21:02:17.512Z","avatar_url":"https://github.com/zyascend.png","language":"Vue","readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://cdn.kimjisoo.cn/pic/logo.png\" align=\"center\" width=\"176\" height=\"56\"/\u003e\n\u003c/div\u003e  \n\u003cp align=\"center\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./LICENSE\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/license/zyascend/ZMindMap\" alt=\"MIT License\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://v3.cn.vuejs.org/\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/vue.js-3.2-green\" alt=\"Vue3.2\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://map.kimjisoo.cn\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/🚀-open--in--browser-blueviolet\" alt=\"Live Demo\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## 简介\n**仿[幕布](https://mubu.com)思维导图网站。支持导图编辑、大纲编辑、图片导出、扫码登录。**  \n\n## 项目地址：\n项目总结：[ZMindMap-Wiki](https://github.com/zyascend/ZMindMap/wiki)  \n\n预览地址：[ZMind思维导图](https://map.kimjisoo.cn)\n\n移动端地址: [ZMindMap-Mobile](https://github.com/zyascend/ZMindMap-Mobile)  \n\nNode端地址：[mind-map-node](https://github.com/zyascend/mind-map-node)  \n\n## 下载\u0026安装\n\n- 下载\n\n  ```bash\n  git clone --depth=1 https://github.com/zyascend/ZMindMap.git\n  ```\n\n- 进入项目目录\n  ```bash\n  cd ZmindMap\n  ```\n- 安装依赖\n\n  ```bash\n  npm install\n  ```\n\n- 运行\n  ```bash\n  npm run serve\n  ```\n## 效果图\n\n| \u003cimg src=\"https://github.com/zyascend/ZMindMap/blob/main/assets/export07.png?raw=true\" style=\"zoom:20%;\" /\u003e | \u003cimg src=\"https://github.com/zyascend/ZMindMap/blob/main/assets/export02.png?raw=true\" style=\"zoom:20%;\" /\u003e |\n| :------------------------------------------------------------------------------: | -------------------------------------------------------------------------------- |\n| \u003cimg src=\"https://github.com/zyascend/ZMindMap/blob/main/assets/export03.png?raw=true\" style=\"zoom:20%;\" /\u003e | \u003cimg src=\"https://github.com/zyascend/ZMindMap/blob/main/assets/export04.png?raw=true\" style=\"zoom:20%;\" /\u003e |\n| \u003cimg src=\"https://github.com/zyascend/ZMindMap/blob/main/assets/export05.png?raw=true\" style=\"zoom:20%;\" /\u003e | \u003cimg src=\"https://github.com/zyascend/ZMindMap/blob/main/assets/export06.png?raw=true\" style=\"zoom:20%;\" /\u003e |\n\n视频版：[点击播放](https://cdn.kimjisoo.cn/videos%2Fpresentation_v1.0.mp4)\n\n## Features\n- Vue3 CompositionApi\n- Pinia状态管理\n- VueRouter路由控制\n- SVG画图\n  - 类幕布思维导图的文档构建方式实现\n    - 数据驱动UI的思路\n  - svg导出为png图片 \n- Element-plus\n  - splitChunks单独打包\n- 基于七牛云的CDN加速\n- JWT \u0026 二维码扫码登录\n- 夜间模式\n- 前端监控\n  - 使用Sentry收集错误信息\n  - 百度统计\n\n## TODOs\n- [x] 基于vue响应式，通过数据驱动svg子元素更新\n- [x] 对于大纲编辑，如何不通过递归查找的方式在源数据中定位到待更新的节点\n  - [x] key-value形式构建map\n- [x] Vuex切换为pinia\n  - [x] store分模块维护\n- [x] 支持撤回操作\n  - [x] bug fix\n- [x] 导图风格切换\n- [x] 支持导出\n  - [x] 导出为图片\n    - [x] 图片不显示 bug fix\n  - [ ] 导出为其他格式\n- [x] 二维码扫码登录\n  - [x] 轮询接口查状态 =\u003e websocket\n- [x] 大纲编辑页相关优化\n  - [x] 防止XSS攻击\n- [x] 支持添加图片\n- [x] 重写节点宽高计算逻辑\n- [x] 全面重写MindMap组件\n  - [x] 代码臃肿：分离UI渲染部分和数据部分\n  - [x] 可拓展性：提取各种样式导图的公共dom结构 方便切换导图风格\n  - [x] 公共逻辑抽取 方便随时切换颜色样式\n  - [x] 导图计算：抽取公共逻辑  + 继承封装\n  - [x] map store 逻辑优化\n- [ ] 页面的loading 和 错误处理\n- [ ] 监听全局异常 error boundary\n- [ ] 使用自定义的loader处理svg图标\n  - [ ] 将svg icon处理为SFC\n  - [ ] 封装SFC为Icon组件：绑定属性 灵活使用\n- [x] 所有配置项由`window.CFG`注入\n\n\n\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzyascend%2Fzmindmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzyascend%2Fzmindmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzyascend%2Fzmindmap/lists"}