Compare commits
11 Commits
c1138766c8
...
d89a0b6922
| Author | SHA1 | Date | |
|---|---|---|---|
| d89a0b6922 | |||
|
|
b8ac079009 | ||
|
|
040ce6601b | ||
|
|
77dd62477e | ||
|
|
b831d95063 | ||
|
|
bff6024e2e | ||
|
|
919b1517d9 | ||
|
|
2cbd08c532 | ||
|
|
5e300c0320 | ||
|
|
714567a733 | ||
|
|
28d6bb7d90 |
53
README.md
53
README.md
@ -29,7 +29,9 @@
|
|||||||
>
|
>
|
||||||
> 可直接在`uTools`插件应用市场中搜索`思绪`进行安装,也可以直接访问该地址:[主页](https://www.u-tools.cn/plugins/detail/%E6%80%9D%E7%BB%AA%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE/),点击右侧的【启动】按钮进行安装。
|
> 可直接在`uTools`插件应用市场中搜索`思绪`进行安装,也可以直接访问该地址:[主页](https://www.u-tools.cn/plugins/detail/%E6%80%9D%E7%BB%AA%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE/),点击右侧的【启动】按钮进行安装。
|
||||||
|
|
||||||
> 3.`obsidian`插件,正在开发中,敬请期待~
|
> 3.`obsidian`插件,首个版本现已发布:
|
||||||
|
>
|
||||||
|
> 下载地址:[https://github.com/wanglin2/obsidian-simplemindmap/releases](https://github.com/wanglin2/obsidian-simplemindmap/releases)
|
||||||
|
|
||||||
- 云存储版本,如果你需要带后端的云存储版本,可以尝试我们开发的另一个项目[理想文档](https://github.com/wanglin2/lx-doc)。
|
- 云存储版本,如果你需要带后端的云存储版本,可以尝试我们开发的另一个项目[理想文档](https://github.com/wanglin2/lx-doc)。
|
||||||
|
|
||||||
@ -57,9 +59,6 @@
|
|||||||
| TouchEvent(移动端触摸事件支持插件) | NodeImgAdjust(拖拽调整节点图片大小插件) | Search(搜索插件) | Painter(节点格式刷插件) |
|
| TouchEvent(移动端触摸事件支持插件) | NodeImgAdjust(拖拽调整节点图片大小插件) | Search(搜索插件) | Painter(节点格式刷插件) |
|
||||||
| Scrollbar(滚动条插件) | Formula(数学公式插件) | Cooperate(协同编辑插件) | RainbowLines(彩虹线条插件) |
|
| Scrollbar(滚动条插件) | Formula(数学公式插件) | Cooperate(协同编辑插件) | RainbowLines(彩虹线条插件) |
|
||||||
| Demonstrate(演示模式插件) | OuterFrame(外框插件) | MindMapLayoutPro(思维导图布局插件) | |
|
| Demonstrate(演示模式插件) | OuterFrame(外框插件) | MindMapLayoutPro(思维导图布局插件) | |
|
||||||
| HandDrawnLikeStyle(手绘风格插件) | Notation(节点标记插件) | Numbers(节点编号插件) | Freemind(Freemind格式导入导出插件) |
|
|
||||||
| Excel(Excel格式导入导出插件) | Checkbox(待办插件) | Lineflow(节点连线流动插件) | Momentum(动量效果插件) |
|
|
||||||
| RightFishbone(向右鱼骨图插件) | NodeLink(节点链接插件) | | |
|
|
||||||
|
|
||||||
|
|
||||||
本项目不会实现的特性:
|
本项目不会实现的特性:
|
||||||
@ -113,11 +112,15 @@ const mindMap = new MindMap({
|
|||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
[MIT](./LICENSE)。保留`mind-map`版权声明和注明来源的情况下可随意商用,如有疑问或不想保留可联系作者通过付费的方式去除。
|
[MIT](./LICENSE)。保留`simple-mind-map`版权声明和注明来源的情况下可随意商用,如有疑问或不想保留可联系作者(微信:wanglinguanfang)通过付费的方式去除。
|
||||||
|
|
||||||
# 微信交流群
|
> 示例:可以在你应用中的关于页面、帮助页面、文档页面、开源声明等任何页面添加以下内容:
|
||||||
|
>
|
||||||
|
> 本产品思维导图基于SimpleMindMap项目开发,版权归源项目所有,[开源协议](https://github.com/wanglin2/mind-map/blob/main/LICENSE)。
|
||||||
|
|
||||||
微信添加`wanglinguanfang`拉你入群。根据过往的经验,大部分问题都可以通过查看issue列表或文档解决,所以提问前请确保你已经阅读完了所有文档,文档里没有的可在群里提问,不必私聊作者,如果你一定要私聊,请先赞助本项目(¥150+)。
|
# 开发帮助/技术支持/咨询等
|
||||||
|
|
||||||
|
因精力有限,及重心转变,暂不提供任何开发支持(包括有偿),请见谅!
|
||||||
|
|
||||||
# star
|
# star
|
||||||
|
|
||||||
@ -143,20 +146,7 @@ const mindMap = new MindMap({
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
# 请作者喝杯咖啡
|
# 感谢赞赏过本项目的人
|
||||||
|
|
||||||
开源不易,如果本项目有帮助到你的话,可以考虑请作者喝杯咖啡~你的赞助对项目的可持续发展非常重要,是作者持续维护的最大动力。
|
|
||||||
|
|
||||||
> 推荐使用支付宝,微信获取不到头像。转账请备注【思维导图】。
|
|
||||||
>
|
|
||||||
> 也可以通过购买付费插件来支持我们:[付费插件](https://wanglin2.github.io/mind-map-docs/plugins/about.html)。
|
|
||||||
>
|
|
||||||
> 赞助等级:最强王者(¥500+)、星耀赞助(¥300+)、钻石赞助(¥150+)、黄金赞助(¥50+)、青铜赞助
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<img src="./web/src/assets/img/alipay.jpg" style="width: 300px" />
|
|
||||||
<img src="./web/src/assets/img/wechat.jpg" style="width: 300px" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
## 最强王者
|
## 最强王者
|
||||||
|
|
||||||
@ -190,6 +180,13 @@ const mindMap = new MindMap({
|
|||||||
<sub style="font-size:14px"><b>沨沄</b></sub>
|
<sub style="font-size:14px"><b>沨沄</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td align="center" style="word-wrap: break-word; width: 75.0; height: 75.0">
|
||||||
|
<a href="#">
|
||||||
|
<img src="./web/src/assets/avatar/行.jpg" width="50;" style="border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px"/>
|
||||||
|
<br />
|
||||||
|
<sub style="font-size:14px"><b>行</b></sub>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -369,6 +366,13 @@ const mindMap = new MindMap({
|
|||||||
<sub style="font-size:14px"><b>LSHM</b></sub>
|
<sub style="font-size:14px"><b>LSHM</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td align="center" style="word-wrap: break-word; width: 75.0; height: 75.0">
|
||||||
|
<a href="#">
|
||||||
|
<img src="./web/src/assets/avatar/default.png" width="50;" style="border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px"/>
|
||||||
|
<br />
|
||||||
|
<sub style="font-size:14px"><b>newplayer</b></sub>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -1008,5 +1012,12 @@ const mindMap = new MindMap({
|
|||||||
<sub style="font-size:14px"><b>Towards the future</b></sub>
|
<sub style="font-size:14px"><b>Towards the future</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td align="center" style="word-wrap: break-word; width: 75.0; height: 75.0">
|
||||||
|
<a href="#">
|
||||||
|
<img src="./web/src/assets/avatar/default.png" width="50;" style="border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px"/>
|
||||||
|
<br />
|
||||||
|
<sub style="font-size:14px"><b>安嘉</b></sub>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -1,4 +1,4 @@
|
|||||||
.imgUploadContainer[data-v-6399710d]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:hsla(0,0%,100%,.9);z-index:1000}.imgUploadContainer .imgUploadPanel[data-v-6399710d]{position:relative;width:100%;font-size:22px;white-space:nowrap;color:#909090;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.imgUploadContainer .imgUploadPanel .title[data-v-6399710d]{margin-bottom:15px;font-size:22px;font-weight:700;color:hsla(218,9%,51%,.8)}.imgUploadContainer .imgUploadPanel .closeBtn[data-v-6399710d]{position:absolute;right:25px;top:32px;cursor:pointer}.imgUploadContainer .imgUploadPanel .imgUploadInputArea[data-v-6399710d]{display:block;width:100%;height:200px;font-size:20px;color:rgba(51,51,51,.4);background-color:hsla(0,0%,87%,.6);border:none;outline:none;cursor:pointer;text-align:center;display:flex;justify-content:center;align-items:center;white-space:normal;padding:10px}.imgUploadContainer .imgUploadPanel #imgUploadInput[data-v-6399710d]{display:none}.imgUploadContainer .imgUploadPanel .uploadInfoBox[data-v-6399710d]{position:relative;width:100%;height:200px;background-color:hsla(0,0%,87%,.6)}.imgUploadContainer .imgUploadPanel .uploadInfoBox .previewBox[data-v-6399710d]{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}.imgUploadContainer .imgUploadPanel .uploadInfoBox .delBtn[data-v-6399710d]{position:absolute;right:0;top:0;cursor:pointer;width:20px;height:20px;background-color:#fff}.nodeImageDialog .title[data-v-8ebe4db2]{font-size:18px;margin-bottom:12px}.nodeImageDialog .inputBox[data-v-8ebe4db2]{display:flex;align-items:center;margin-bottom:10px}.nodeImageDialog .inputBox .label[data-v-8ebe4db2]{width:150px}.nodeHyperlinkDialog .item[data-v-187bf89f]{display:flex;align-items:center;margin-bottom:10px}.nodeHyperlinkDialog .item .name[data-v-187bf89f]{display:block;width:50px}.nodeIconDialog[data-v-41bec544] .el-dialog__body{padding:0 20px}.nodeIconDialog .deleteBtn[data-v-41bec544]{margin-bottom:20px}.nodeIconDialog .item[data-v-41bec544]{margin-bottom:20px;font-weight:700}.nodeIconDialog .item .title[data-v-41bec544]{margin-bottom:10px}.nodeIconDialog .item .list[data-v-41bec544]{display:flex;flex-wrap:wrap}.nodeIconDialog .item .list .icon[data-v-41bec544]{width:24px;height:24px;margin-right:10px;margin-bottom:10px;cursor:pointer;position:relative}.nodeIconDialog .item .list .icon[data-v-41bec544] img,.nodeIconDialog .item .list .icon[data-v-41bec544] svg{width:100%;height:100%}.nodeIconDialog .item .list .icon.selected[data-v-41bec544]:after{content:"";position:absolute;left:-4px;top:-4px;width:28px;height:28px;border-radius:50%;border:2px solid #409eff}
|
.imgUploadContainer[data-v-6399710d]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:hsla(0,0%,100%,.9);z-index:1000}.imgUploadContainer .imgUploadPanel[data-v-6399710d]{position:relative;width:100%;font-size:22px;white-space:nowrap;color:#909090;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.imgUploadContainer .imgUploadPanel .title[data-v-6399710d]{margin-bottom:15px;font-size:22px;font-weight:700;color:hsla(218,9%,51%,.8)}.imgUploadContainer .imgUploadPanel .closeBtn[data-v-6399710d]{position:absolute;right:25px;top:32px;cursor:pointer}.imgUploadContainer .imgUploadPanel .imgUploadInputArea[data-v-6399710d]{display:block;width:100%;height:200px;font-size:20px;color:rgba(51,51,51,.4);background-color:hsla(0,0%,87%,.6);border:none;outline:none;cursor:pointer;text-align:center;display:flex;justify-content:center;align-items:center;white-space:normal;padding:10px}.imgUploadContainer .imgUploadPanel #imgUploadInput[data-v-6399710d]{display:none}.imgUploadContainer .imgUploadPanel .uploadInfoBox[data-v-6399710d]{position:relative;width:100%;height:200px;background-color:hsla(0,0%,87%,.6)}.imgUploadContainer .imgUploadPanel .uploadInfoBox .previewBox[data-v-6399710d]{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}.imgUploadContainer .imgUploadPanel .uploadInfoBox .delBtn[data-v-6399710d]{position:absolute;right:0;top:0;cursor:pointer;width:20px;height:20px;background-color:#fff}.nodeImageDialog .title[data-v-4b797c30]{font-size:18px;margin-bottom:12px}.nodeImageDialog .inputBox[data-v-4b797c30]{display:flex;align-items:center;margin-bottom:10px}.nodeImageDialog .inputBox .label[data-v-4b797c30]{width:150px}.nodeHyperlinkDialog .item[data-v-187bf89f]{display:flex;align-items:center;margin-bottom:10px}.nodeHyperlinkDialog .item .name[data-v-187bf89f]{display:block;width:50px}.nodeIconDialog[data-v-41bec544] .el-dialog__body{padding:0 20px}.nodeIconDialog .deleteBtn[data-v-41bec544]{margin-bottom:20px}.nodeIconDialog .item[data-v-41bec544]{margin-bottom:20px;font-weight:700}.nodeIconDialog .item .title[data-v-41bec544]{margin-bottom:10px}.nodeIconDialog .item .list[data-v-41bec544]{display:flex;flex-wrap:wrap}.nodeIconDialog .item .list .icon[data-v-41bec544]{width:24px;height:24px;margin-right:10px;margin-bottom:10px;cursor:pointer;position:relative}.nodeIconDialog .item .list .icon[data-v-41bec544] img,.nodeIconDialog .item .list .icon[data-v-41bec544] svg{width:100%;height:100%}.nodeIconDialog .item .list .icon.selected[data-v-41bec544]:after{content:"";position:absolute;left:-4px;top:-4px;width:28px;height:28px;border-radius:50%;border:2px solid #409eff}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @toast-ui/editor
|
* @toast-ui/editor
|
||||||
2
dist/js/app.js
vendored
2
dist/js/app.js
vendored
File diff suppressed because one or more lines are too long
65
dist/js/chunk-183b683c.js
vendored
Normal file
65
dist/js/chunk-183b683c.js
vendored
Normal file
File diff suppressed because one or more lines are too long
65
dist/js/chunk-c8ebd342.js
vendored
65
dist/js/chunk-c8ebd342.js
vendored
File diff suppressed because one or more lines are too long
51
dist/js/chunk-vendors.js
vendored
Normal file
51
dist/js/chunk-vendors.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -9,7 +9,7 @@
|
|||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
}</script><link href="dist/css/chunk-vendors.css?685589f1058f5fbca0d2" rel="stylesheet"><link href="dist/css/app.css?685589f1058f5fbca0d2" 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 = () => {
|
}</script><link href="dist/css/chunk-vendors.css?227f61428db154a5d9bc" rel="stylesheet"><link href="dist/css/app.css?227f61428db154a5d9bc" 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) => {
|
return new Promise((resolve, reject) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
resolve({
|
resolve({
|
||||||
@ -83,4 +83,4 @@
|
|||||||
// 可以通过window.$bus.$on()来监听应用的一些事件
|
// 可以通过window.$bus.$on()来监听应用的一些事件
|
||||||
// 实例化页面
|
// 实例化页面
|
||||||
window.initApp()
|
window.initApp()
|
||||||
}</script><script src="dist/js/chunk-vendors.js?685589f1058f5fbca0d2"></script><script src="dist/js/app.js?685589f1058f5fbca0d2"></script></body></html>
|
}</script><script src="dist/js/chunk-vendors.js?227f61428db154a5d9bc"></script><script src="dist/js/app.js?227f61428db154a5d9bc"></script></body></html>
|
||||||
@ -32,9 +32,16 @@ const defaultTagStyle = {
|
|||||||
//width: 30 // 标签矩形的宽度,如果不设置,默认以文字的宽度+paddingX*2为宽度
|
//width: 30 // 标签矩形的宽度,如果不设置,默认以文字的宽度+paddingX*2为宽度
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取图片的真实url
|
||||||
|
// 因为如果注册了NodeBase64ImageStorage插件,那么节点图片字段保存的实际是一个id,所以如果要获取图片真实的url可以通过该方法
|
||||||
|
function getImageUrl() {
|
||||||
|
const img = this.getData('image')
|
||||||
|
return (this.mindMap.renderer.renderTree.data.imgMap || {})[img] || img
|
||||||
|
}
|
||||||
|
|
||||||
// 创建图片节点
|
// 创建图片节点
|
||||||
function createImgNode() {
|
function createImgNode() {
|
||||||
let img = this.getData('image')
|
const img = this.getImageUrl()
|
||||||
if (!img) {
|
if (!img) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -570,6 +577,7 @@ function isUseCustomNodeContent() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
getImageUrl,
|
||||||
createImgNode,
|
createImgNode,
|
||||||
getImgShowSize,
|
getImgShowSize,
|
||||||
createIconNode,
|
createIconNode,
|
||||||
|
|||||||
BIN
web/src/assets/avatar/行.jpg
Normal file
BIN
web/src/assets/avatar/行.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
BIN
web/src/assets/img/gzh.jpeg
Normal file
BIN
web/src/assets/img/gzh.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
@ -72,7 +72,7 @@ export default {
|
|||||||
this.reset()
|
this.reset()
|
||||||
if (this.activeNodes.length > 0) {
|
if (this.activeNodes.length > 0) {
|
||||||
let firstNode = this.activeNodes[0]
|
let firstNode = this.activeNodes[0]
|
||||||
let img = firstNode.getData('image') || ''
|
let img = firstNode.getImageUrl() || ''
|
||||||
if (img) {
|
if (img) {
|
||||||
if (/^https?:\/\//.test(img)) {
|
if (/^https?:\/\//.test(img)) {
|
||||||
this.imgUrl = img
|
this.imgUrl = img
|
||||||
|
|||||||
@ -29,7 +29,7 @@ export default {
|
|||||||
onNodeTmgDblclick(node, e) {
|
onNodeTmgDblclick(node, e) {
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
this.images = [node.nodeData.data.image]
|
this.images = [node.getImageUrl()]
|
||||||
this.$viewerApi({
|
this.$viewerApi({
|
||||||
images: this.images
|
images: this.images
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user