update 0.10.5
40
README.md
@ -25,6 +25,8 @@ Github:[releases](https://github.com/wanglin2/mind-map/releases)。百度云
|
||||
|
||||
> 客户端版本会落后于在线版本,尝试最新功能请优先使用在线版。
|
||||
|
||||
【云存储版本】如果你需要带后端的云存储版本,可以尝试我们开发的另一个项目[理想文档](https://github.com/wanglin2/lx-doc)。
|
||||
|
||||
# 特性
|
||||
|
||||
- [x] 插件化架构,除核心功能外,其他功能作为插件提供,按需使用,减小打包体积
|
||||
@ -35,7 +37,7 @@ Github:[releases](https://github.com/wanglin2/mind-map/releases)。百度云
|
||||
- [x] 支持画布拖动、缩放
|
||||
- [x] 支持鼠标按键拖动选择和 Ctrl+左键两种多选节点方式
|
||||
- [x] 支持导出为`json`、`png`、`svg`、`pdf`、`markdown`、`xmind`、`txt`,支持从`json`、`xmind`、`markdown`导入
|
||||
- [x] 支持快捷键、前进后退、关联线、搜索替换、小地图、水印、滚动条、手绘风格、彩虹线条
|
||||
- [x] 支持快捷键、前进后退、关联线、搜索替换、小地图、水印、滚动条、手绘风格、彩虹线条、标记、外框
|
||||
- [x] 提供丰富的配置,满足各种场景各种使用习惯
|
||||
- [x] 支持协同编辑
|
||||
- [x] 支持演示模式
|
||||
@ -101,7 +103,9 @@ const mindMap = new MindMap({
|
||||
|
||||
# 微信交流群
|
||||
|
||||
群聊人数较多,无法通过二维码入群,可以微信添加`wanglinguanfang`拉你入群。思维导图相关问题皆可在群里提问,不必私聊作者。
|
||||
一群已满,可以扫描如下二维码进入二群,如已过期,可以微信添加`wanglinguanfang`拉你入群。思维导图相关问题皆可在群里提问,不必私聊作者。
|
||||
|
||||
<img src="./qrcode.jpg" style="width: 300px" />
|
||||
|
||||
# star
|
||||
|
||||
@ -413,4 +417,36 @@ const mindMap = new MindMap({
|
||||
<img src="./web/src/assets/avatar/buddy.jpg" style="width: 50px;height: 50px;" />
|
||||
<span>buddy</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="./web/src/assets/avatar/default.png" style="width: 50px;height: 50px;" />
|
||||
<span>小川</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="./web/src/assets/avatar/Tobin.jpg" style="width: 50px;height: 50px;" />
|
||||
<span>Tobin</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="./web/src/assets/avatar/夏虫不语冰.jpg" style="width: 50px;height: 50px;" />
|
||||
<span>夏虫不语冰</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="./web/src/assets/avatar/晴空.jpg" style="width: 50px;height: 50px;" />
|
||||
<span>晴空</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="./web/src/assets/avatar/default.png" style="width: 50px;height: 50px;" />
|
||||
<span>黄泳</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="./web/src/assets/avatar/ccccs.jpg" style="width: 50px;height: 50px;" />
|
||||
<span>ccccs</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="./web/src/assets/avatar/。.png" style="width: 50px;height: 50px;" />
|
||||
<span>。</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="./web/src/assets/avatar/Jeffrey.jpg" style="width: 50px;height: 50px;" />
|
||||
<span>Jeffrey</span>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
BIN
dist/fonts/KaTeX_AMS-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_AMS-Regular.woff
vendored
BIN
dist/fonts/KaTeX_AMS-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Caligraphic-Bold.ttf
vendored
BIN
dist/fonts/KaTeX_Caligraphic-Bold.woff
vendored
BIN
dist/fonts/KaTeX_Caligraphic-Bold.woff2
vendored
BIN
dist/fonts/KaTeX_Caligraphic-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Caligraphic-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Caligraphic-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Fraktur-Bold.ttf
vendored
BIN
dist/fonts/KaTeX_Fraktur-Bold.woff
vendored
BIN
dist/fonts/KaTeX_Fraktur-Bold.woff2
vendored
BIN
dist/fonts/KaTeX_Fraktur-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Fraktur-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Fraktur-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Main-Bold.ttf
vendored
BIN
dist/fonts/KaTeX_Main-Bold.woff
vendored
BIN
dist/fonts/KaTeX_Main-Bold.woff2
vendored
BIN
dist/fonts/KaTeX_Main-BoldItalic.ttf
vendored
BIN
dist/fonts/KaTeX_Main-BoldItalic.woff
vendored
BIN
dist/fonts/KaTeX_Main-BoldItalic.woff2
vendored
BIN
dist/fonts/KaTeX_Main-Italic.ttf
vendored
BIN
dist/fonts/KaTeX_Main-Italic.woff
vendored
BIN
dist/fonts/KaTeX_Main-Italic.woff2
vendored
BIN
dist/fonts/KaTeX_Main-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Main-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Main-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Math-BoldItalic.ttf
vendored
BIN
dist/fonts/KaTeX_Math-BoldItalic.woff
vendored
BIN
dist/fonts/KaTeX_Math-BoldItalic.woff2
vendored
BIN
dist/fonts/KaTeX_Math-Italic.ttf
vendored
BIN
dist/fonts/KaTeX_Math-Italic.woff
vendored
BIN
dist/fonts/KaTeX_Math-Italic.woff2
vendored
BIN
dist/fonts/KaTeX_SansSerif-Bold.ttf
vendored
BIN
dist/fonts/KaTeX_SansSerif-Bold.woff
vendored
BIN
dist/fonts/KaTeX_SansSerif-Bold.woff2
vendored
BIN
dist/fonts/KaTeX_SansSerif-Italic.ttf
vendored
BIN
dist/fonts/KaTeX_SansSerif-Italic.woff
vendored
BIN
dist/fonts/KaTeX_SansSerif-Italic.woff2
vendored
BIN
dist/fonts/KaTeX_SansSerif-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_SansSerif-Regular.woff
vendored
BIN
dist/fonts/KaTeX_SansSerif-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Script-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Script-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Script-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Size1-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Size1-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Size1-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Size2-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Size2-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Size2-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Size3-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Size3-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Size4-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Size4-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Size4-Regular.woff2
vendored
BIN
dist/fonts/KaTeX_Typewriter-Regular.ttf
vendored
BIN
dist/fonts/KaTeX_Typewriter-Regular.woff
vendored
BIN
dist/fonts/KaTeX_Typewriter-Regular.woff2
vendored
BIN
dist/img/Jeffrey.jpg
vendored
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
dist/img/Tobin.jpg
vendored
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
dist/img/ccccs.jpg
vendored
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
dist/img/qrcode.jpg
vendored
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
dist/img/。.png
vendored
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
dist/img/夏虫不语冰.jpg
vendored
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
dist/img/晴空.jpg
vendored
Normal file
|
After Width: | Height: | Size: 34 KiB |
2
dist/js/app.js
vendored
1
dist/js/chunk-18bcf3fc.js
vendored
Normal file
2
dist/js/chunk-2d0ab10b.js
vendored
2
dist/js/chunk-2d0afe0d.js
vendored
2
dist/js/chunk-2d0b1c6f.js
vendored
2
dist/js/chunk-2d0c0a44.js
vendored
2
dist/js/chunk-2d0c191e.js
vendored
2
dist/js/chunk-2d0d5cb9.js
vendored
2
dist/js/chunk-2d0d9fbc.js
vendored
2
dist/js/chunk-2d0dad5f.js
vendored
2
dist/js/chunk-2d0e9802.js
vendored
2
dist/js/chunk-2d0f026c.js
vendored
2
dist/js/chunk-2d208ffa.js
vendored
1
dist/js/chunk-2d20f68f.js
vendored
@ -1 +0,0 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d20f68f"],{b407:function(n,u,t){"use strict";t.r(u);var c=function(){var n=this,u=n._self._c;return u("div")},e=[],l={},s=l,i=t("2877"),o=Object(i["a"])(s,c,e,!1,null,null,null);u["default"]=o.exports}}]);
|
||||
2
dist/js/chunk-2d216004.js
vendored
2
dist/js/chunk-2d2160a3.js
vendored
2
dist/js/chunk-2d21e399.js
vendored
2
dist/js/chunk-2d229d67.js
vendored
1
dist/js/chunk-3324bc8a.js
vendored
Normal file
76
dist/js/chunk-392e6b57.js
vendored
Normal file
1
dist/js/chunk-428b560e.js
vendored
1
dist/js/chunk-47ab6502.js
vendored
Normal file
76
dist/js/chunk-5b7dab2e.js
vendored
1
dist/js/chunk-63012c17.js
vendored
2
dist/js/chunk-68de956c.js
vendored
1
dist/js/chunk-6f12c8fe.js
vendored
Normal file
1
dist/js/chunk-6fd88c2d.js
vendored
16
index.html
@ -1,11 +1,15 @@
|
||||
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1"><link rel="icon" href="dist/logo.ico"><title>思绪思维导图</title><script>// 自定义静态资源的路径
|
||||
window.externalPublicPath = './dist/'
|
||||
// 接管应用
|
||||
window.takeOverApp = false</script><script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js"></script><script>LA.init({
|
||||
id: 'KRO0WxK8GT66tYCQ',
|
||||
ck: 'KRO0WxK8GT66tYCQ',
|
||||
autoTrack: false
|
||||
})</script><link href="dist/css/chunk-vendors.css?2446f7fb257c977cc9e7" rel="stylesheet"><link href="dist/css/app.css?2446f7fb257c977cc9e7" rel="stylesheet"></head><body><noscript><strong>We're sorry but thoughts doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script>const getDataFromBackend = () => {
|
||||
window.takeOverApp = false</script><script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js"></script><script>try {
|
||||
LA.init({
|
||||
id: 'KRO0WxK8GT66tYCQ',
|
||||
ck: 'KRO0WxK8GT66tYCQ',
|
||||
autoTrack: false
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}</script><link href="dist/css/chunk-vendors.css?23a496a1094c82432df0" rel="stylesheet"><link href="dist/css/app.css?23a496a1094c82432df0" rel="stylesheet"></head><body><noscript><strong>We're sorry but thoughts doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script>const getDataFromBackend = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
resolve({
|
||||
@ -70,4 +74,4 @@
|
||||
// 可以通过window.$bus.$on()来监听应用的一些事件
|
||||
// 实例化页面
|
||||
window.initApp()
|
||||
}</script><script src="dist/js/chunk-vendors.js?2446f7fb257c977cc9e7"></script><script src="dist/js/app.js?2446f7fb257c977cc9e7"></script></body></html>
|
||||
}</script><script src="dist/js/chunk-vendors.js?23a496a1094c82432df0"></script><script src="dist/js/app.js?23a496a1094c82432df0"></script></body></html>
|
||||
|
||||
BIN
qrcode.jpg
Normal file
|
After Width: | Height: | Size: 41 KiB |
@ -31,7 +31,7 @@ MindMap.iconList = icons.nodeIconList
|
||||
MindMap.constants = constants
|
||||
MindMap.themes = themes
|
||||
MindMap.defaultTheme = defaultTheme
|
||||
MindMap.version = '0.10.2-fix.1'
|
||||
MindMap.version = '0.10.5'
|
||||
|
||||
MindMap.usePlugin(MiniMap)
|
||||
.usePlugin(Watermark)
|
||||
|
||||
@ -194,7 +194,7 @@ class MindMap {
|
||||
this.renderer.reRender = true // 标记为重新渲染
|
||||
this.renderer.clearCache() // 清空节点缓存池
|
||||
this.clearDraw() // 清空画布
|
||||
this.render(callback, (source = ''))
|
||||
this.render(callback, source)
|
||||
}
|
||||
|
||||
// 获取或更新容器尺寸位置信息
|
||||
@ -208,8 +208,14 @@ class MindMap {
|
||||
|
||||
// 容器尺寸变化,调整尺寸
|
||||
resize() {
|
||||
const oldWidth = this.width
|
||||
const oldHeight = this.height
|
||||
this.getElRectInfo()
|
||||
this.svg.size(this.width, this.height)
|
||||
if (oldWidth !== this.width || oldHeight !== this.height) {
|
||||
// 如果画布宽高改变了需要触发一次渲染
|
||||
this.render()
|
||||
}
|
||||
this.emit('resize')
|
||||
}
|
||||
|
||||
@ -288,7 +294,9 @@ class MindMap {
|
||||
|
||||
// 更新配置
|
||||
updateConfig(opt = {}) {
|
||||
this.emit('before_update_config', this.opt)
|
||||
this.opt = this.handleOpt(merge.all([defaultOpt, this.opt, opt]))
|
||||
this.emit('after_update_config', this.opt)
|
||||
}
|
||||
|
||||
// 获取当前布局结构
|
||||
@ -379,6 +387,9 @@ class MindMap {
|
||||
// 导出
|
||||
async export(...args) {
|
||||
try {
|
||||
if (!this.doExport) {
|
||||
throw new Error('请注册Export插件!')
|
||||
}
|
||||
let result = await this.doExport.export(...args)
|
||||
return result
|
||||
} catch (error) {
|
||||
@ -416,6 +427,11 @@ class MindMap {
|
||||
addContentToFooter,
|
||||
node
|
||||
} = {}) {
|
||||
const { watermarkConfig, openPerformance } = this.opt
|
||||
// 如果开启了性能模式,那么需要先渲染所有节点
|
||||
if (openPerformance) {
|
||||
this.renderer.forceLoadNode(node)
|
||||
}
|
||||
const { cssTextList, header, headerHeight, footer, footerHeight } =
|
||||
handleGetSvgDataExtraContent({
|
||||
addContentToHeader,
|
||||
@ -459,7 +475,7 @@ class MindMap {
|
||||
if (!ignoreWatermark && hasWatermark) {
|
||||
this.watermark.isInExport = true
|
||||
// 是否是仅导出时需要水印
|
||||
const { onlyExport } = this.opt.watermarkConfig
|
||||
const { onlyExport } = watermarkConfig
|
||||
// 是否需要重新绘制水印
|
||||
const needReDrawWatermark =
|
||||
rect.width > origWidth || rect.height > origHeight
|
||||
|
||||