@@ -120,23 +120,20 @@ define(function(require, exports, module) {
120120
121121 //svgUrl = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svgXml);
122122
123- var allNodes = minder . getAllNode ( ) ;
124123 var imagesInfo = [ ] ;
125124
126- for ( var i = 0 ; i < allNodes . length ; i ++ ) {
127- var nodeData = allNodes [ i ] . data ;
125+ // 遍历取出图片信息
126+ traverse ( minder . getRoot ( ) ) ;
128127
129- if ( nodeData . image && nodeData . expandState === 'expand' ) {
130- /*
131- * 导出之前渲染这个节点,否则取出的 contentBox 不对
132- * by zhangbobell
133- * */
134- minder . renderNode ( allNodes [ i ] ) ;
128+ function traverse ( node ) {
129+ var nodeData = node . data ;
130+
131+ if ( nodeData . image ) {
132+ minder . renderNode ( node ) ;
133+ var nodeData = node . data ;
135134 var imageUrl = nodeData . image ;
136135 var imageSize = nodeData . imageSize ;
137-
138- var imageRenderBox = allNodes [ i ] . getRenderBox ( 'ImageRenderer' , minder . getRenderContainer ( ) ) ;
139-
136+ var imageRenderBox = node . getRenderBox ( "ImageRenderer" , minder . getRenderContainer ( ) ) ;
140137 var imageInfo = {
141138 url : imageUrl ,
142139 width : imageSize . width ,
@@ -147,6 +144,16 @@ define(function(require, exports, module) {
147144
148145 imagesInfo . push ( imageInfo ) ;
149146 }
147+
148+ // 若节点折叠,则直接返回
149+ if ( nodeData . expandState === 'collapse' ) {
150+ return ;
151+ }
152+
153+ var children = node . getChildren ( ) ;
154+ for ( var i = 0 ; i < children . length ; i ++ ) {
155+ traverse ( children [ i ] ) ;
156+ }
150157 }
151158
152159 return {
0 commit comments