Browse Source

doc:docs> 添加文档注释

shaun-sheep 4 years ago
parent
commit
128d5b2fad
48 changed files with 627 additions and 306 deletions
  1. 23 13
      docs/.vuepress/components/big/MapDemo.vue
  2. 8 4
      docs/.vuepress/components/big/items/column.vue
  3. 8 4
      docs/.vuepress/components/big/items/door.vue
  4. 7 3
      docs/.vuepress/components/big/items/space.vue
  5. 33 26
      docs/.vuepress/components/big/items/virtualWall.vue
  6. 33 26
      docs/.vuepress/components/big/items/wall.vue
  7. 7 3
      docs/.vuepress/components/big/items/window.vue
  8. 42 33
      docs/.vuepress/components/big/items/zone.vue
  9. 5 1
      docs/.vuepress/components/edit/items/editPolygon/editPolygon.vue
  10. 2 1
      docs/.vuepress/components/edit/items/editimage/editimage.vue
  11. 5 1
      docs/.vuepress/components/edit/items/editline/editline1.vue
  12. 5 1
      docs/.vuepress/components/edit/items/editline/editline1_copy.vue
  13. 5 1
      docs/.vuepress/components/edit/items/editpolyline/editpolyline.vue
  14. 9 0
      docs/.vuepress/components/edit/items/edittext/edittext.vue
  15. 7 3
      docs/.vuepress/components/edit/undo/undo.vue
  16. 22 5
      docs/.vuepress/components/engine/arrow.vue
  17. 23 8
      docs/.vuepress/components/engine/clip.vue
  18. 18 2
      docs/.vuepress/components/engine/composite.vue
  19. 1 1
      docs/.vuepress/components/engine/demo/elsfk.vue
  20. 18 1
      docs/.vuepress/components/engine/gradient/GradRect.ts
  21. 7 2
      docs/.vuepress/components/engine/gradient/gradient.vue
  22. 7 0
      docs/.vuepress/components/engine/selectContainer.vue
  23. 2 0
      docs/.vuepress/components/engine/shape/Circle1.vue
  24. 2 2
      docs/.vuepress/components/engine/shape/DrawLine1.vue
  25. 3 3
      docs/.vuepress/components/engine/shape/DrawLine2.vue
  26. 2 1
      docs/.vuepress/components/engine/shape/DrawPolyline1.vue
  27. 2 0
      docs/.vuepress/components/engine/shape/DrawRect1.vue
  28. 4 0
      docs/.vuepress/components/engine/shape/path.vue
  29. 13 5
      docs/.vuepress/components/engine/style/shadow.vue
  30. 19 1
      docs/.vuepress/components/scene/Align.vue
  31. 93 28
      docs/.vuepress/components/scene/Undo1.vue
  32. 1 1
      docs/.vuepress/components/scene/items/ClockItem.vue
  33. 6 0
      docs/.vuepress/components/scene/items/ImageItem.vue
  34. 39 30
      docs/.vuepress/components/scene/items/PolylineItem.vue
  35. 12 7
      docs/.vuepress/components/scene/items/SEditLine.vue
  36. 8 7
      docs/.vuepress/components/scene/items/SEditPolygon.vue
  37. 9 1
      docs/.vuepress/components/scene/items/SImgTextItem.vue
  38. 4 0
      docs/.vuepress/components/scene/items/TextItem.vue
  39. 55 46
      docs/.vuepress/components/scene/items/area.vue
  40. 9 0
      docs/.vuepress/components/scene/items/polygon.vue
  41. 9 3
      docs/.vuepress/components/scene/items/rect.vue
  42. 5 0
      docs/.vuepress/components/scene/items/svg.vue
  43. 7 7
      docs/guides/edit/items/src/EditLineItem.ts
  44. 5 5
      docs/guides/edit/items/src/EditPolygonItem.ts
  45. 11 8
      docs/guides/edit/items/src/EditPolylineItem.ts
  46. 3 3
      docs/guides/edit/items/src/EditText.ts
  47. 1 1
      docs/guides/standard/git.md
  48. 8 8
      docs/setup/server/nginx.md

+ 23 - 13
docs/.vuepress/components/big/MapDemo.vue

@@ -13,9 +13,13 @@ import { Component, Vue } from "vue-property-decorator";
 
 
 @Component
 @Component
 export default class MapDemoCanvas extends Vue {
 export default class MapDemoCanvas extends Vue {
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
+    /** 命令所属的场景类 */
     scene: SGraphScene | undefined;
     scene: SGraphScene | undefined;
+    /** json 文件 1 */
     map1 = require('../../../public/assets/map/1.json');
     map1 = require('../../../public/assets/map/1.json');
+    /** json 文件 2 */
     map2 = require('../../../public/assets/map/2.json');
     map2 = require('../../../public/assets/map/2.json');
 
 
     /**
     /**
@@ -25,31 +29,37 @@ export default class MapDemoCanvas extends Vue {
         this.view = new SGraphView("mapDemo");
         this.view = new SGraphView("mapDemo");
         this.init()
         this.init()
     };
     };
-
+    /**
+     * 初始化加载
+     */
     init() {
     init() {
         this.showMap('1');
         this.showMap('1');
     };
     };
 
 
+    /**
+     * 绘制地图
+     * @param id    图 Id
+     */
     showMap(id: string) {
     showMap(id: string) {
         const scene = new SGraphScene();
         const scene = new SGraphScene();
         this.view!!.scene = scene;
         this.view!!.scene = scene;
-            let parser = new SFloorParser();
-            // @ts-ignore
-            parser.parseData(JSON.parse(JSON.stringify(this[`map${id}`].EntityList[0].Elements)));
-            parser.spaceList.forEach(t => scene.addItem(t));
-            parser.wallList.forEach(t => scene.addItem(t));
-            parser.virtualWallList.forEach(t => scene.addItem(t));
-            parser.doorList.forEach(t => scene.addItem(t));
-            parser.columnList.forEach(t => scene.addItem(t));
-            parser.casementList.forEach(t => scene.addItem(t));
-            this.view!!.fitSceneToView();
-        }
+        let parser = new SFloorParser();
+        // @ts-ignore
+        parser.parseData(JSON.parse(JSON.stringify(this[`map${id}`].EntityList[0].Elements)));
+        parser.spaceList.forEach(t => scene.addItem(t));
+        parser.wallList.forEach(t => scene.addItem(t));
+        parser.virtualWallList.forEach(t => scene.addItem(t));
+        parser.doorList.forEach(t => scene.addItem(t));
+        parser.columnList.forEach(t => scene.addItem(t));
+        parser.casementList.forEach(t => scene.addItem(t));
+        this.view!!.fitSceneToView();
     }
     }
+}
 </script>
 </script>
 
 
 
 
 <style scoped>
 <style scoped>
-    canvas{
+    canvas {
         border: 1px solid #eeeeee;
         border: 1px solid #eeeeee;
         outline: none;
         outline: none;
     }
     }

+ 8 - 4
docs/.vuepress/components/big/items/column.vue

@@ -11,6 +11,7 @@ import { Component, Vue } from "vue-property-decorator";
 
 
 @Component
 @Component
 export default class ColumnCanvas extends Vue {
 export default class ColumnCanvas extends Vue {
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
     // 图中靠上位置的黑色矩形轮廓
     // 图中靠上位置的黑色矩形轮廓
     outline1 = [[{X: 120, Y: 10}, {X: 120, Y: 30}, {X: 10, Y: 30}, {X: 10, Y: 10}]];
     outline1 = [[{X: 120, Y: 10}, {X: 120, Y: 30}, {X: 10, Y: 30}, {X: 10, Y: 10}]];
@@ -27,16 +28,19 @@ export default class ColumnCanvas extends Vue {
         this.init();
         this.init();
     };
     };
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         this.view = new SGraphView('wall');
         this.view = new SGraphView('wall');
         const scene = new SGraphScene();
         const scene = new SGraphScene();
         this.view.scene = scene;
         this.view.scene = scene;
         // 只模拟了轮廓数据
         // 只模拟了轮廓数据
         const item = new SColumnItem(null, {OutLine: this.outline1});
         const item = new SColumnItem(null, {OutLine: this.outline1});
-            scene.addItem(item);
-            // 只模拟了轮廓数据
-            const item2 = new SColumnItem(null, {OutLine: this.outline2});
-            scene.addItem(item2);
+        scene.addItem(item);
+        // 只模拟了轮廓数据
+        const item2 = new SColumnItem(null, {OutLine: this.outline2});
+        scene.addItem(item2);
             this.view.fitSceneToView();
             this.view.fitSceneToView();
             this.view.scalable = false;
             this.view.scalable = false;
         }
         }

+ 8 - 4
docs/.vuepress/components/big/items/door.vue

@@ -11,6 +11,7 @@ import { Component, Vue } from "vue-property-decorator";
 
 
 @Component
 @Component
 export default class WallCanvas extends Vue {
 export default class WallCanvas extends Vue {
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
     outline1 = [[{X: 12000, Y: 10000}, {X: 12000, Y: 30000}]];
     outline1 = [[{X: 12000, Y: 10000}, {X: 12000, Y: 30000}]];
 
 
@@ -21,16 +22,19 @@ export default class WallCanvas extends Vue {
         this.init();
         this.init();
     };
     };
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         this.view = new SGraphView('wall');
         this.view = new SGraphView('wall');
         const scene = new SGraphScene();
         const scene = new SGraphScene();
         this.view.scene = scene;
         this.view.scene = scene;
         // 只模拟了轮廓数据
         // 只模拟了轮廓数据
         // @ts-ignore
         // @ts-ignore
-            const item = new SDoorItem(null,
-                // @ts-ignore
-                {
-                    OutLine: this.outline1,
+        const item = new SDoorItem(null,
+            // @ts-ignore
+            {
+                OutLine: this.outline1,
                     FaceDirection: {X: 0, Y: -1, Z: 0},
                     FaceDirection: {X: 0, Y: -1, Z: 0},
                     HandDirection: {X: 1, Y: 0, Z: 0}
                     HandDirection: {X: 1, Y: 0, Z: 0}
                 }
                 }

+ 7 - 3
docs/.vuepress/components/big/items/space.vue

@@ -11,6 +11,7 @@ import { Component, Vue } from "vue-property-decorator";
 
 
 @Component
 @Component
 export default class SpaceCanvas extends Vue {
 export default class SpaceCanvas extends Vue {
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
     // 图中靠上位置的黑色矩形轮廓
     // 图中靠上位置的黑色矩形轮廓
     outline1 = [[{X: 120, Y: 10}, {X: 120, Y: 30}, {X: 10, Y: 30}, {X: 10, Y: 10}]];
     outline1 = [[{X: 120, Y: 10}, {X: 120, Y: 30}, {X: 10, Y: 30}, {X: 10, Y: 10}]];
@@ -27,6 +28,9 @@ export default class SpaceCanvas extends Vue {
         this.init();
         this.init();
     };
     };
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         this.view = new SGraphView('wall');
         this.view = new SGraphView('wall');
         const scene = new SGraphScene();
         const scene = new SGraphScene();
@@ -34,9 +38,9 @@ export default class SpaceCanvas extends Vue {
         // 只模拟了轮廓数据
         // 只模拟了轮廓数据
         // @ts-ignore
         // @ts-ignore
         const item = new SSpaceItem(null, {OutLine: this.outline1, Name: '测试', Location: {Points: [{X: 65, Y: 20}]}});
         const item = new SSpaceItem(null, {OutLine: this.outline1, Name: '测试', Location: {Points: [{X: 65, Y: 20}]}});
-            scene.addItem(item);
-            // 只模拟了轮廓数据
-            // @ts-ignore
+        scene.addItem(item);
+        // 只模拟了轮廓数据
+        // @ts-ignore
             const item2 = new SSpaceItem(null,{OutLine:this.outline2});
             const item2 = new SSpaceItem(null,{OutLine:this.outline2});
             scene.addItem(item2);
             scene.addItem(item2);
             this.view.fitSceneToView();
             this.view.fitSceneToView();

+ 33 - 26
docs/.vuepress/components/big/items/virtualWall.vue

@@ -5,35 +5,42 @@
 </template>
 </template>
 
 
 <script lang="ts">
 <script lang="ts">
-    import {SGraphScene, SGraphView} from "@persagy-web/graph/";
-    import {SVirtualWallItem} from "@persagy-web/big/lib/items/floor/SVirtualWallItem";
-    import {Component, Vue} from "vue-property-decorator";
+import { SGraphScene, SGraphView } from "@persagy-web/graph/";
+import { SVirtualWallItem } from "@persagy-web/big/lib/items/floor/SVirtualWallItem";
+import { Component, Vue } from "vue-property-decorator";
 
 
-    @Component
-    export default class VirtualWallCanvas extends Vue {
-        view: SGraphView | undefined;
-        // 图中靠上位置的黑色矩形轮廓
-        outline1 = [[{X: 12000, Y: 1000}, {X: 12000, Y: 3000}, {X: 1000, Y: 3000}, {X: 1000, Y: 1000}]];
-        // 图中靠下位置的,中间掏洞
-        outline2 = [
-            [{X: 12000, Y: -3000}, {X: 12000, Y: -5000}, {X: 1000, Y: -5000}, {X: 10, Y: -3000}],
-            [{X: 2000, Y: -4000}, {X: 2000, Y: -4500}, {X: 10000, Y: -4500}, {X: 10000, Y: -4000}]
-        ];
+@Component
+export default class VirtualWallCanvas extends Vue {
+    /** 实例化 view */
+    view: SGraphView | undefined;
+    // 图中靠上位置的黑色矩形轮廓
+    outline1 = [[{X: 12000, Y: 1000}, {X: 12000, Y: 3000}, {X: 1000, Y: 3000}, {X: 1000, Y: 1000}]];
+    // 图中靠下位置的,中间掏洞
+    outline2 = [
+        [{X: 12000, Y: -3000}, {X: 12000, Y: -5000}, {X: 1000, Y: -5000}, {X: 10, Y: -3000}],
+        [{X: 2000, Y: -4000}, {X: 2000, Y: -4500}, {X: 10000, Y: -4500}, {X: 10000, Y: -4000}]
+    ];
 
 
-        mounted() {
-            this.init();
-        };
+    /**
+     * 页面挂载
+     */
+    mounted() {
+        this.init();
+    };
 
 
-        init() {
-            this.view = new SGraphView('wall');
-            const scene = new SGraphScene();
-            this.view.scene = scene;
-            // 只模拟了轮廓数据
-            const item = new SVirtualWallItem(null, {OutLine: this.outline1});
-            scene.addItem(item);
-            // 只模拟了轮廓数据
-            const item2 = new SVirtualWallItem(null, {OutLine: this.outline2});
-            scene.addItem(item2);
+    /**
+     * 初始化加载
+     */
+    init() {
+        this.view = new SGraphView('wall');
+        const scene = new SGraphScene();
+        this.view.scene = scene;
+        // 只模拟了轮廓数据
+        const item = new SVirtualWallItem(null, {OutLine: this.outline1});
+        scene.addItem(item);
+        // 只模拟了轮廓数据
+        const item2 = new SVirtualWallItem(null, {OutLine: this.outline2});
+        scene.addItem(item2);
             this.view.fitSceneToView();
             this.view.fitSceneToView();
             this.view.scalable = false;
             this.view.scalable = false;
         }
         }

+ 33 - 26
docs/.vuepress/components/big/items/wall.vue

@@ -5,35 +5,42 @@
 </template>
 </template>
 
 
 <script lang="ts">
 <script lang="ts">
-    import {SGraphScene, SGraphView} from "@persagy-web/graph/";
-    import {SWallItem} from "@persagy-web/big/lib/items/floor/SWallItem";
-    import {Component, Vue} from "vue-property-decorator";
+import { SGraphScene, SGraphView } from "@persagy-web/graph/";
+import { SWallItem } from "@persagy-web/big/lib/items/floor/SWallItem";
+import { Component, Vue } from "vue-property-decorator";
 
 
-    @Component
-    export default class WallCanvas extends Vue {
-        view: SGraphView | undefined;
-        // 图中靠上位置的黑色矩形轮廓
-        outline1 = [[{X: 120, Y: 10}, {X: 120, Y: 30}, {X: 10, Y: 30}, {X: 10, Y: 10}]];
-        // 图中靠下位置的,中间掏洞
-        outline2 = [
-            [{X: 120, Y: -30}, {X: 120, Y: -50}, {X: 10, Y: -50}, {X: 10, Y: -30}],
-            [{X: 20, Y: -40}, {X: 20, Y: -45}, {X: 100, Y: -45}, {X: 100, Y: -40}]
-        ];
+@Component
+export default class WallCanvas extends Vue {
+    /** 实例化 view */
+    view: SGraphView | undefined;
+    // 图中靠上位置的黑色矩形轮廓
+    outline1 = [[{X: 120, Y: 10}, {X: 120, Y: 30}, {X: 10, Y: 30}, {X: 10, Y: 10}]];
+    // 图中靠下位置的,中间掏洞
+    outline2 = [
+        [{X: 120, Y: -30}, {X: 120, Y: -50}, {X: 10, Y: -50}, {X: 10, Y: -30}],
+        [{X: 20, Y: -40}, {X: 20, Y: -45}, {X: 100, Y: -45}, {X: 100, Y: -40}]
+    ];
 
 
-        mounted() {
-            this.init();
-        };
+    /**
+     * 页面挂载
+     */
+    mounted() {
+        this.init();
+    };
 
 
-        init() {
-            this.view = new SGraphView('wall');
-            const scene = new SGraphScene();
-            this.view.scene = scene;
-            // 只模拟了轮廓数据
-            const item = new SWallItem(null, {OutLine: this.outline1});
-            scene.addItem(item);
-            // 只模拟了轮廓数据
-            const item2 = new SWallItem(null, {OutLine: this.outline2});
-            scene.addItem(item2);
+    /**
+     * 初始化加载
+     */
+    init() {
+        this.view = new SGraphView('wall');
+        const scene = new SGraphScene();
+        this.view.scene = scene;
+        // 只模拟了轮廓数据
+        const item = new SWallItem(null, {OutLine: this.outline1});
+        scene.addItem(item);
+        // 只模拟了轮廓数据
+        const item2 = new SWallItem(null, {OutLine: this.outline2});
+        scene.addItem(item2);
             this.view.fitSceneToView();
             this.view.fitSceneToView();
             this.view.scalable = false;
             this.view.scalable = false;
         }
         }

+ 7 - 3
docs/.vuepress/components/big/items/window.vue

@@ -11,6 +11,7 @@ import { Component, Vue } from "vue-property-decorator";
 
 
 @Component
 @Component
 export default class WindowCanvas extends Vue {
 export default class WindowCanvas extends Vue {
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
     outline1 = [[{X: 120, Y: -30}, {X: 120, Y: -50}, {X: 10, Y: -50}, {X: 10, Y: -30}]];
     outline1 = [[{X: 120, Y: -30}, {X: 120, Y: -50}, {X: 10, Y: -50}, {X: 10, Y: -30}]];
 
 
@@ -21,6 +22,9 @@ export default class WindowCanvas extends Vue {
         this.init();
         this.init();
     }
     }
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         this.view = new SGraphView('wall');
         this.view = new SGraphView('wall');
         const scene = new SGraphScene();
         const scene = new SGraphScene();
@@ -28,9 +32,9 @@ export default class WindowCanvas extends Vue {
         // 只模拟了轮廓数据
         // 只模拟了轮廓数据
         // @ts-ignore
         // @ts-ignore
         const item = new SWindowItem(null, {OutLine: this.outline1});
         const item = new SWindowItem(null, {OutLine: this.outline1});
-            scene.addItem(item);
-            this.view.fitSceneToView();
-            this.view.scalable = false;
+        scene.addItem(item);
+        this.view.fitSceneToView();
+        this.view.scalable = false;
         }
         }
     }
     }
 </script>
 </script>

+ 42 - 33
docs/.vuepress/components/big/items/zone.vue

@@ -5,19 +5,19 @@
 </template>
 </template>
 
 
 <script lang="ts">
 <script lang="ts">
-    import {SGraphScene, SGraphView} from "@persagy-web/graph/";
-    import {SZoneItem} from "@persagy-web/big/lib/items/floor/ZoneItem";
-    import {Component, Vue} from "vue-property-decorator";
+import { SGraphScene, SGraphView } from "@persagy-web/graph/";
+import { SZoneItem } from "@persagy-web/big/lib/items/floor/ZoneItem";
+import { Component, Vue } from "vue-property-decorator";
 
 
-    @Component
-    export default class ZoneCanvas extends Vue {
-        outline = [
+@Component
+export default class ZoneCanvas extends Vue {
+    outline = [
+        [
+            // 未掏洞的空间
             [
             [
-                // 未掏洞的空间
-                [
-                    {"X":30150.15,"Y":82300.04,"Z":59400.0},
-                    {"X":30150.15,"Y":81400.04,"Z":59400.0},
-                    {"X":33400.15,"Y":82300.04,"Z":59400.0},
+                {"X": 30150.15, "Y": 82300.04, "Z": 59400.0},
+                {"X": 30150.15, "Y": 81400.04, "Z": 59400.0},
+                {"X": 33400.15, "Y": 82300.04, "Z": 59400.0},
                     {"X":30150.15,"Y":82300.04,"Z":59400.0}
                     {"X":30150.15,"Y":82300.04,"Z":59400.0}
                 ],
                 ],
             ],
             ],
@@ -31,30 +31,39 @@
                     {"X":25500.15,"Y":77100.04,"Z":59400.0}
                     {"X":25500.15,"Y":77100.04,"Z":59400.0}
                 ],
                 ],
                 [
                 [
-                    {"X":25900.15,"Y":80300.04,"Z":59400.0},
-                    {"X":27200.15,"Y":80300.04,"Z":59400.0},
-                    {"X":27200.15,"Y":77900.04,"Z":59400.0},
-                    {"X":25900.15,"Y":77900.04,"Z":59400.0},
+                    {"X": 25900.15, "Y": 80300.04, "Z": 59400.0},
+                    {"X": 27200.15, "Y": 80300.04, "Z": 59400.0},
+                    {"X": 27200.15, "Y": 77900.04, "Z": 59400.0},
+                    {"X": 25900.15, "Y": 77900.04, "Z": 59400.0},
                 ]
                 ]
             ]
             ]
-        ];
-        view: SGraphView | undefined;
-        mounted() {
-            this.init();
-        };
-        init(){
-            this.view = new SGraphView('wall');
-            const scene = new SGraphScene();
-            this.view.scene = scene;
-            // 只模拟了轮廓数据
-            // @ts-ignore
-            const item = new SZoneItem(null,{OutLine:this.outline});
-            item.selectable = true;
-            scene.addItem(item);
-            this.view.fitSceneToView();
-            console.log(this.view)
-            this.view.scalable = false;
-        }
+    ];
+    /** 实例化 view */
+    view: SGraphView | undefined;
+
+    /**
+     * 页面挂载
+     */
+    mounted() {
+        this.init();
+    };
+
+    /**
+     * 初始化加载
+     */
+    init() {
+        this.view = new SGraphView('wall');
+        const scene = new SGraphScene();
+        this.view.scene = scene;
+        // 只模拟了轮廓数据
+        // @ts-ignore
+        const item = new SZoneItem(null, {OutLine: this.outline});
+        item.selectable = true;
+        scene.addItem(item);
+        this.view.fitSceneToView();
+        console.log(this.view)
+        this.view.scalable = false;
+    }
     }
     }
 </script>
 </script>
 
 

+ 5 - 1
docs/.vuepress/components/edit/items/editPolygon/editPolygon.vue

@@ -94,7 +94,8 @@
         name: "editpolygon",
         name: "editpolygon",
         data() {
         data() {
             return {
             return {
-                scene: null,       //场景
+                /** 命令所属的场景类 */
+                scene: null,
                 view: null,        //view实例
                 view: null,        //view实例
                 isCreated: false,  //是否创建完成
                 isCreated: false,  //是否创建完成
                 cmdStatus: "",     //选中状态
                 cmdStatus: "",     //选中状态
@@ -119,6 +120,9 @@
                 ]
                 ]
             };
             };
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             this.view = new SGraphView("edit_polygon");
             this.view = new SGraphView("edit_polygon");
             this.scene = new SGraphScene();
             this.scene = new SGraphScene();

+ 2 - 1
docs/.vuepress/components/edit/items/editimage/editimage.vue

@@ -115,7 +115,8 @@ export default {
     name: "EditPolylineItem",
     name: "EditPolylineItem",
     data() {
     data() {
         return {
         return {
-            scene: null, //场景
+            /** 命令所属的场景类 */
+            scene: null,
             view: null, //view实例
             view: null, //view实例
             isCreated: false, //是否创建完成
             isCreated: false, //是否创建完成
             cmdStatus: "", //选中状态
             cmdStatus: "", //选中状态

+ 5 - 1
docs/.vuepress/components/edit/items/editline/editline1.vue

@@ -77,8 +77,9 @@ import { hexify } from "./../../../../public/until/rgbaUtil";
         name: "editLine",
         name: "editLine",
         data() {
         data() {
             return {
             return {
+                /** 命令所属的场景类 */
                 scene: null,
                 scene: null,
-                view: null,
+                view: null, // 实例化 view
                 isCreated: false, //是否创建完成
                 isCreated: false, //是否创建完成
                 cmdStatus: "", //选中状态
                 cmdStatus: "", //选中状态
                 lineItem: null, //存放创建的Item
                 lineItem: null, //存放创建的Item
@@ -101,6 +102,9 @@ import { hexify } from "./../../../../public/until/rgbaUtil";
                 ]
                 ]
             };
             };
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             this.view = new SGraphView("edit_line");
             this.view = new SGraphView("edit_line");
             this.scene = new SGraphScene();
             this.scene = new SGraphScene();

+ 5 - 1
docs/.vuepress/components/edit/items/editline/editline1_copy.vue

@@ -44,13 +44,17 @@
         name: "line",
         name: "line",
         data() {
         data() {
             return {
             return {
+                /** 命令所属的场景类 */
                 scene: null,
                 scene: null,
-                view: null,
+                view: null, // 实例化 view
                 isCreated: false, //是否创建完成
                 isCreated: false, //是否创建完成
                 cmdStatus: 'choice'      //选中状态
                 cmdStatus: 'choice'      //选中状态
 
 
             };
             };
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             this.view = new SGraphView("edit_line");
             this.view = new SGraphView("edit_line");
             this.scene = new SGraphScene();
             this.scene = new SGraphScene();

+ 5 - 1
docs/.vuepress/components/edit/items/editpolyline/editpolyline.vue

@@ -94,7 +94,8 @@
         name: "EditPolylineItem",
         name: "EditPolylineItem",
         data() {
         data() {
             return {
             return {
-                scene: null,       //场景
+                /** 命令所属的场景类 */
+                scene: null,
                 view: null,        //view实例
                 view: null,        //view实例
                 isCreated: false,  //是否创建完成
                 isCreated: false,  //是否创建完成
                 cmdStatus: "",     //选中状态
                 cmdStatus: "",     //选中状态
@@ -119,6 +120,9 @@
                 ]
                 ]
             };
             };
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             this.view = new SGraphView("edit_polygon");
             this.view = new SGraphView("edit_polygon");
             this.scene = new SGraphScene();
             this.scene = new SGraphScene();

+ 9 - 0
docs/.vuepress/components/edit/items/edittext/edittext.vue

@@ -115,12 +115,16 @@ class TestView extends SGraphView {
         name: "edittext",
         name: "edittext",
         data() {
         data() {
             return {
             return {
+                /** 命令所属的场景类 */
                 scene: new SScene(),
                 scene: new SScene(),
                 text: "测试文本",
                 text: "测试文本",
                 size: 20,
                 size: 20,
                 color: "#333333"
                 color: "#333333"
             };
             };
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             let view = new TestView();
             let view = new TestView();
             this.scene.updateText(this.text);
             this.scene.updateText(this.text);
@@ -249,6 +253,11 @@ class TestView extends SGraphView {
                     left: l
                     left: l
                 };
                 };
             },
             },
+            /**
+             * 鼠标抬起事件
+             *
+             * @param    event   事件参数
+             */
             onMouseUp(event) {
             onMouseUp(event) {
                 const dom = "<textarea autofocus ref='textarea' class='text'></textarea>";
                 const dom = "<textarea autofocus ref='textarea' class='text'></textarea>";
                 let parentDom = document.getElementById("left");
                 let parentDom = document.getElementById("left");

+ 7 - 3
docs/.vuepress/components/edit/undo/undo.vue

@@ -190,12 +190,16 @@
         name: "editLine",
         name: "editLine",
         data() {
         data() {
             return {
             return {
+                /** 命令所属的场景类 */
                 scene: null,
                 scene: null,
-                view: null,
-                isCreated: false, //是否创建完成
-                cmdStatus: "", //选中状态
+                view: null, // 实例化 view
+                isCreated: false, // 是否创建完成
+                cmdStatus: "", // 选中状态
             };
             };
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             console.log(SGraphAddCommand);
             console.log(SGraphAddCommand);
             this.view = new SGraphView("edit_line");
             this.view = new SGraphView("edit_line");

+ 22 - 5
docs/.vuepress/components/engine/arrow.vue

@@ -36,24 +36,24 @@ class Polyline extends SGraphItem {
     _begin = SArrowStyleType.Basic;
     _begin = SArrowStyleType.Basic;
     get begin(): SArrowStyleType {
     get begin(): SArrowStyleType {
         return this._begin;
         return this._begin;
-    }
+    } // Get begin
 
 
     set begin(v: SArrowStyleType) {
     set begin(v: SArrowStyleType) {
         this._begin = v;
         this._begin = v;
         this.update();
         this.update();
-    }
+    } // Set begin
 
 
     /** 结束点样式 */
     /** 结束点样式 */
     _end = SArrowStyleType.Basic;
     _end = SArrowStyleType.Basic;
     get end(): SArrowStyleType {
     get end(): SArrowStyleType {
         return this._end;
         return this._end;
-    }
+    } // Get end
 
 
     set end(v: SArrowStyleType) {
     set end(v: SArrowStyleType) {
         this._end = v;
         this._end = v;
         this.update();
         this.update();
-    }
-
+    } // Set end
+    /** 绘制多边形数组 */
     pointList: SPoint[] = [
     pointList: SPoint[] = [
         new SPoint(0, 0),
         new SPoint(0, 0),
         new SPoint(1000, 1000),
         new SPoint(1000, 1000),
@@ -63,6 +63,11 @@ class Polyline extends SGraphItem {
         // new SPoint(0, 0)
         // new SPoint(0, 0)
     ];
     ];
 
 
+    /**
+     * 矩形数据类型绘制
+     *
+     * @return  边界区域
+     */
     boundingRect(): SRect {
     boundingRect(): SRect {
         return new SRect(0, 0, 2000, 1800);
         return new SRect(0, 0, 2000, 1800);
     }
     }
@@ -88,7 +93,9 @@ class Polyline extends SGraphItem {
 
 
 @Component
 @Component
 export default class ShadowCanvas extends Vue {
 export default class ShadowCanvas extends Vue {
+    /** 图 id */
     id: string = uuid();
     id: string = uuid();
+    /** 箭头列表 */
     options = [
     options = [
         {
         {
             value: SArrowStyleType.None,
             value: SArrowStyleType.None,
@@ -110,8 +117,11 @@ export default class ShadowCanvas extends Vue {
             label: 'Circle'
             label: 'Circle'
         }
         }
     ];
     ];
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
+    /** 实例化 */
     item: Polyline | undefined;
     item: Polyline | undefined;
+    /** 参考列表 */
     tableData = [
     tableData = [
         {
         {
             val: 'None',
             val: 'None',
@@ -137,7 +147,9 @@ export default class ShadowCanvas extends Vue {
             desc: '圆形箭头'
             desc: '圆形箭头'
         },
         },
     ];
     ];
+    /** 起点 */
     begin: SArrowStyleType = SArrowStyleType.Basic;
     begin: SArrowStyleType = SArrowStyleType.Basic;
+    /** 终点 */
     end: SArrowStyleType = SArrowStyleType.Basic;
     end: SArrowStyleType = SArrowStyleType.Basic;
 
 
     /**
     /**
@@ -147,6 +159,9 @@ export default class ShadowCanvas extends Vue {
         this.init()
         this.init()
     };
     };
 
 
+    /**
+     * 初始化加载
+     */
     init() {
     init() {
         this.view = new SGraphView(this.id);
         this.view = new SGraphView(this.id);
         const scene = new SGraphScene();
         const scene = new SGraphScene();
@@ -157,10 +172,12 @@ export default class ShadowCanvas extends Vue {
         this.view.scalable = false;
         this.view.scalable = false;
     };
     };
 
 
+    /** 起点事件 */
     changeStart(val: SArrowStyleType): void {
     changeStart(val: SArrowStyleType): void {
         this.item!!.begin = val
         this.item!!.begin = val
     };
     };
 
 
+    /** 终点事件 */
     changeEnd(val: SArrowStyleType): void {
     changeEnd(val: SArrowStyleType): void {
         this.item!!.end = val
         this.item!!.end = val
     }
     }

+ 23 - 8
docs/.vuepress/components/engine/clip.vue

@@ -15,13 +15,19 @@ import { SCanvasView, SColor, SPainter, SPath } from "@persagy-web/draw/lib";
  * @author 郝洁 <haojie@persagy.com>
  * @author 郝洁 <haojie@persagy.com>
  */
  */
 class ClipView extends SCanvasView {
 class ClipView extends SCanvasView {
+    /** 图片的路径 */
     img: CanvasImageSource;
     img: CanvasImageSource;
+    /** 圆心 x 坐标*/
     arcX = 100;
     arcX = 100;
+    /** 圆心 y 坐标*/
     arcY = 100;
     arcY = 100;
+    /** 圆心移动 x 坐标*/
     stepX = 6;
     stepX = 6;
+    /** 圆心移动 y 坐标*/
     stepY = 8;
     stepY = 8;
+    /** 定时器 */
     timer: any;
     timer: any;
-
+    /** 图片的url */
     _url: string = '';
     _url: string = '';
     set url(v: string) {
     set url(v: string) {
         if (this._url == v) {
         if (this._url == v) {
@@ -31,16 +37,16 @@ class ClipView extends SCanvasView {
         // @ts-ignore
         // @ts-ignore
         this.img.src = v;
         this.img.src = v;
     } // Set url
     } // Set url
-
     get url(): string {
     get url(): string {
         return this._url;
         return this._url;
     } // Get url
     } // Get url
 
 
+    /** 绘制完成指令 */
     isLoadOver: boolean = false;
     isLoadOver: boolean = false;
 
 
     /**
     /**
      * 构造函数
      * 构造函数
-     * @param id
+     * @param id    图 Id
      */
      */
     constructor(id: string) {
     constructor(id: string) {
         super(id);
         super(id);
@@ -79,7 +85,7 @@ class ClipView extends SCanvasView {
             //绘制路径
             //绘制路径
             painter.drawPath(path);
             painter.drawPath(path);
             // console.log('------->');
             // console.log('------->');
-            if (this.isLoadOver) {
+            if (this.isLoadOver) { // 绘制指令完成时
                 //绘制图片
                 //绘制图片
                 painter.drawImage(this.img, 0, 0, 800, 400);
                 painter.drawImage(this.img, 0, 0, 800, 400);
             }
             }
@@ -87,19 +93,19 @@ class ClipView extends SCanvasView {
             // @ts-ignore
             // @ts-ignore
             painter.engine._canvas.restore();
             painter.engine._canvas.restore();
             this.timer = setTimeout(() => {
             this.timer = setTimeout(() => {
-                if (this.arcX + 100 >= 800) {
+                if (this.arcX + 100 >= 800) { // 左移
                     this.stepX *= -1;
                     this.stepX *= -1;
                 }
                 }
 
 
-                if (this.arcX - 100 < 0) {
+                if (this.arcX - 100 < 0) { // 右移
                     this.stepX *= -1;
                     this.stepX *= -1;
                 }
                 }
 
 
-                if (this.arcY + 100 >= 400) {
+                if (this.arcY + 100 >= 400) { // 下移
                     this.stepY *= -1;
                     this.stepY *= -1;
                 }
                 }
 
 
-                if (this.arcY - 100 < 0) {
+                if (this.arcY - 100 < 0) { // 上移
                     this.stepY *= -1;
                     this.stepY *= -1;
                 }
                 }
 
 
@@ -112,8 +118,11 @@ class ClipView extends SCanvasView {
 
 
     @Component
     @Component
     export default class SelectContainerCanvas extends Vue {
     export default class SelectContainerCanvas extends Vue {
+        /** 图 Id */
         id: string = uuid();
         id: string = uuid();
+        /** 实例化 view */
         view: ClipView | undefined;
         view: ClipView | undefined;
+        /** 图片 */
         img = require('../../public/assets/img/2.jpg');
         img = require('../../public/assets/img/2.jpg');
 
 
         /**
         /**
@@ -123,11 +132,17 @@ class ClipView extends SCanvasView {
             this.init();
             this.init();
         };
         };
 
 
+        /**
+         * 初始化加载
+         */
         init(): void {
         init(): void {
             this.view = new ClipView(this.id);
             this.view = new ClipView(this.id);
             this.view.url = this.img;
             this.view.url = this.img;
         };
         };
 
 
+        /**
+         * 页面销毁前
+         */
         beforeDestroy(): void {
         beforeDestroy(): void {
             clearTimeout(this.view!!.timer);
             clearTimeout(this.view!!.timer);
         }
         }

+ 18 - 2
docs/.vuepress/components/engine/composite.vue

@@ -26,12 +26,12 @@ class Circle extends SGraphItem {
     _composite = SCompositeType.SourceOver;
     _composite = SCompositeType.SourceOver;
     get composite(): SCompositeType {
     get composite(): SCompositeType {
         return this._composite;
         return this._composite;
-    }
+    } // Get composite
 
 
     set composite(v: SCompositeType) {
     set composite(v: SCompositeType) {
         this._composite = v;
         this._composite = v;
         this.update();
         this.update();
-    }
+    } // Set composite
 
 
     /**
     /**
      * 构造函数
      * 构造函数
@@ -46,6 +46,8 @@ class Circle extends SGraphItem {
 
 
     /**
     /**
      * 矩形数据类型绘制
      * 矩形数据类型绘制
+     *
+     * @return  边界区域
      */
      */
     boundingRect(): SRect {
     boundingRect(): SRect {
         return new SRect(-500, -500, 1500, 1500);
         return new SRect(-500, -500, 1500, 1500);
@@ -70,9 +72,13 @@ class Circle extends SGraphItem {
 
 
 @Component
 @Component
 export default class CompositeCanvas extends Vue {
 export default class CompositeCanvas extends Vue {
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
+    /** 图 id */
     id: string = uuid();
     id: string = uuid();
+    /** 融合方式 */
     value: SCompositeType = SCompositeType.SourceOver;
     value: SCompositeType = SCompositeType.SourceOver;
+    /** 融合方式列表 */
     options = [{
     options = [{
         value: SCompositeType.DestinationAtop,
         value: SCompositeType.DestinationAtop,
         label: 'DestinationAtop'
         label: 'DestinationAtop'
@@ -107,7 +113,9 @@ export default class CompositeCanvas extends Vue {
         value: SCompositeType.Copy,
         value: SCompositeType.Copy,
         label: 'Copy'
         label: 'Copy'
     }];
     }];
+    /** 实例化 */
     circle: Circle | undefined;
     circle: Circle | undefined;
+    /** 参考表格 */
     tableData = [{
     tableData = [{
         val: 'source-over',
         val: 'source-over',
         desc: '默认。在目标图像上显示源图像。'
         desc: '默认。在目标图像上显示源图像。'
@@ -160,6 +168,9 @@ export default class CompositeCanvas extends Vue {
         this.init()
         this.init()
     };
     };
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         this.view = new SGraphView(this.id);
         this.view = new SGraphView(this.id);
         const scene = new SGraphScene();
         const scene = new SGraphScene();
@@ -170,6 +181,11 @@ export default class CompositeCanvas extends Vue {
         this.view.scalable = false;
         this.view.scalable = false;
     };
     };
 
 
+    /**
+     * 融合事件触发
+     *
+     * @param val   事件
+     */
     changeCom(val: SCompositeType): void {
     changeCom(val: SCompositeType): void {
         if (this.circle) {
         if (this.circle) {
             this.circle.composite = val;
             this.circle.composite = val;

+ 1 - 1
docs/.vuepress/components/engine/demo/elsfk.vue

@@ -346,7 +346,7 @@ class TestView extends SCanvasView {
     private fullMap() {
     private fullMap() {
         for (let row = 0; row < 4; row++) { // 遍历图形的行数
         for (let row = 0; row < 4; row++) { // 遍历图形的行数
             for (let col = 0; col < 4; col++) { // 遍历图形的列数
             for (let col = 0; col < 4; col++) { // 遍历图形的列数
-                if (this.fk[this.fkType * 4 + this.dir][row][col] == 1) {
+                if (this.fk[this.fkType * 4 + this.dir][row][col] == 1) { // 判断是否重合
                     this.map[this.y + row][this.x + col] = 1;
                     this.map[this.y + row][this.x + col] = 1;
                 }
                 }
             }
             }

+ 18 - 1
docs/.vuepress/components/engine/gradient/GradRect.ts

@@ -7,12 +7,23 @@ import { SColor, SLinearGradient, SPainter, SRadialGradient, SRect } from "@pers
  * @author 郝洁 <haojie@persagy.com>
  * @author 郝洁 <haojie@persagy.com>
  */
  */
 export class GradRect extends SGraphItem {
 export class GradRect extends SGraphItem {
+    /** X 坐标最小值  */
     minX = 0;
     minX = 0;
+    /** Y 坐标最小值  */
     minY = 0;
     minY = 0;
+    /** Y 坐标最大值  */
     maxY = 1000;
     maxY = 1000;
+    /** X 坐标最大值  */
     maxX = 1000;
     maxX = 1000;
+    /** 实例化  */
     gradient: SRadialGradient | SLinearGradient | null = null;
     gradient: SRadialGradient | SLinearGradient | null = null;
 
 
+    /**
+     * 构造函数
+     *
+     * @param parent     Item 图像引擎
+     * @param grad      渐变类
+     */
     constructor(parent: SGraphItem | null, grad: SRadialGradient | SLinearGradient) {
     constructor(parent: SGraphItem | null, grad: SRadialGradient | SLinearGradient) {
         super(parent);
         super(parent);
         this.gradient = grad;
         this.gradient = grad;
@@ -23,6 +34,8 @@ export class GradRect extends SGraphItem {
 
 
     /**
     /**
      * 矩形数据类型绘制
      * 矩形数据类型绘制
+     *
+     * @return  边界区域
      */
      */
     boundingRect() {
     boundingRect() {
         return new SRect(
         return new SRect(
@@ -33,11 +46,15 @@ export class GradRect extends SGraphItem {
         );
         );
     }
     }
 
 
+    /**
+     * Item 绘制操作
+     * @param painter   绘制对象
+     */
     onDraw(painter: SPainter) {
     onDraw(painter: SPainter) {
         painter.pen.color = SColor.Black;
         painter.pen.color = SColor.Black;
         painter.brush.gradient = this.gradient;
         painter.brush.gradient = this.gradient;
         painter.drawRect(0, 0, 1000, 1000);
         painter.drawRect(0, 0, 1000, 1000);
-        if (this.gradient instanceof SRadialGradient) {
+        if (this.gradient instanceof SRadialGradient) { //实例在 SRadialGradient 构造函数中
             painter.brush.color = SColor.Transparent;
             painter.brush.color = SColor.Transparent;
             painter.drawCircle(this.gradient.x1, this.gradient.y1, this.gradient.r1);
             painter.drawCircle(this.gradient.x1, this.gradient.y1, this.gradient.r1);
             painter.drawCircle(this.gradient.x2, this.gradient.y2, this.gradient.r2);
             painter.drawCircle(this.gradient.x2, this.gradient.y2, this.gradient.r2);

+ 7 - 2
docs/.vuepress/components/engine/gradient/gradient.vue

@@ -19,7 +19,9 @@ import { Component, Prop, Vue } from "vue-property-decorator";
 @Component
 @Component
 export default class GradientCanvas extends Vue {
 export default class GradientCanvas extends Vue {
     @Prop() private arg!: string;
     @Prop() private arg!: string;
+    /** 图 id */
     id: string = uuid();
     id: string = uuid();
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
 
 
     /**
     /**
@@ -29,16 +31,19 @@ export default class GradientCanvas extends Vue {
         this.init();
         this.init();
     };
     };
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         const arr = this.arg.split(',');
         const arr = this.arg.split(',');
         this.view = new SGraphView(this.id);
         this.view = new SGraphView(this.id);
         const scene = new SGraphScene();
         const scene = new SGraphScene();
         let grad: SGradient;
         let grad: SGradient;
         try {
         try {
-            if (arr.length > 4) {
+            if (arr.length > 4) { // 扩散渐变
                 // @ts-ignore
                 // @ts-ignore
                 grad = new SRadialGradient(...arr);
                 grad = new SRadialGradient(...arr);
-            } else {
+            } else { // 线性渐变
                 // @ts-ignore
                 // @ts-ignore
                 grad = new SLinearGradient(...arr);
                 grad = new SLinearGradient(...arr);
             }
             }

+ 7 - 0
docs/.vuepress/components/engine/selectContainer.vue

@@ -13,6 +13,7 @@ import { SRect } from "@persagy-web/draw/lib";
 /**
 /**
  * 选择容器
  * 选择容器
  *
  *
+ *
  * @author 郝洁 <haojie@persagy.com>
  * @author 郝洁 <haojie@persagy.com>
  */
  */
 class ResizeRect extends SGraphRectItem {
 class ResizeRect extends SGraphRectItem {
@@ -24,8 +25,11 @@ class ResizeRect extends SGraphRectItem {
 
 
 @Component
 @Component
 export default class SelectContainerCanvas extends Vue {
 export default class SelectContainerCanvas extends Vue {
+    /** 图 id */
     id: string = uuid();
     id: string = uuid();
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
+    /** 矩形数据 */
     rectData = {
     rectData = {
         x: 0,
         x: 0,
         y: 0,
         y: 0,
@@ -61,6 +65,9 @@ export default class SelectContainerCanvas extends Vue {
         this.init()
         this.init()
     };
     };
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         this.view = new SGraphView(this.id);
         this.view = new SGraphView(this.id);
         const scene = new SGraphScene();
         const scene = new SGraphScene();

+ 2 - 0
docs/.vuepress/components/engine/shape/Circle1.vue

@@ -48,6 +48,7 @@ class TestView extends SCanvasView {
         canvas.drawCircle(315, 100, 15);
         canvas.drawCircle(315, 100, 15);
 
 
         canvas.pen.color = SColor.Red;
         canvas.pen.color = SColor.Red;
+        // 长度为 360 ,以10递增绘制一条线段
         for (let i = 0; i < 360; i += 10) {
         for (let i = 0; i < 360; i += 10) {
             let q1 = i * Math.PI / 180;
             let q1 = i * Math.PI / 180;
             let q2 = (i + 120) * Math.PI / 180;
             let q2 = (i + 120) * Math.PI / 180;
@@ -59,6 +60,7 @@ class TestView extends SCanvasView {
         }
         }
 
 
         canvas.pen.color = SColor.Blue;
         canvas.pen.color = SColor.Blue;
+        // 长度为 360 ,以10递增绘制直线
         for (let i = 0; i < 360; i += 10) {
         for (let i = 0; i < 360; i += 10) {
             let q = i * Math.PI / 180;
             let q = i * Math.PI / 180;
             canvas.drawLine(
             canvas.drawLine(

+ 2 - 2
docs/.vuepress/components/engine/shape/DrawLine1.vue

@@ -31,7 +31,7 @@ class TestView extends SCanvasView {
         canvas.drawLine(0, 0, 100, 100);
         canvas.drawLine(0, 0, 100, 100);
         canvas.pen.lineWidth = 1;
         canvas.pen.lineWidth = 1;
         canvas.pen.color = SColor.Blue;
         canvas.pen.color = SColor.Blue;
-
+            // 长度为 360 ,以10递增绘制一条线段
         for (let i = 0; i < 360; i += 10) {
         for (let i = 0; i < 360; i += 10) {
             let q = i * Math.PI / 180;
             let q = i * Math.PI / 180;
             // 绘制一条线段
             // 绘制一条线段
@@ -43,7 +43,7 @@ class TestView extends SCanvasView {
         }
         }
 
 
         canvas.pen.color = SColor.Red;
         canvas.pen.color = SColor.Red;
-
+        // 长度为 360 ,以10递增绘制一条线段
         for (let i = 0; i < 360; i += 10) {
         for (let i = 0; i < 360; i += 10) {
             let q1 = i * Math.PI / 180;
             let q1 = i * Math.PI / 180;
             let q2 = (i + 120) * Math.PI / 180;
             let q2 = (i + 120) * Math.PI / 180;

+ 3 - 3
docs/.vuepress/components/engine/shape/DrawLine2.vue

@@ -16,14 +16,14 @@ class TestView extends SCanvasView {
 
 
     /**
     /**
      * Item 绘制操作
      * Item 绘制操作
-     * @param painter   绘制对象
+     * @param canvas   绘制对象
      */
      */
     onDraw(canvas: SPainter): void {
     onDraw(canvas: SPainter): void {
         // 在此编写绘制操作相关命令
         // 在此编写绘制操作相关命令
         canvas.drawLine(0, 0, 100, 100);
         canvas.drawLine(0, 0, 100, 100);
         canvas.pen.lineWidth = 1;
         canvas.pen.lineWidth = 1;
         canvas.pen.color = SColor.Blue;
         canvas.pen.color = SColor.Blue;
-
+        // 长度为 360 ,以10递增绘制一条线段
         for (let i = 0; i < 360; i += 10) {
         for (let i = 0; i < 360; i += 10) {
             let q = i * Math.PI / 180;
             let q = i * Math.PI / 180;
             // 绘制一条线段
             // 绘制一条线段
@@ -35,7 +35,7 @@ class TestView extends SCanvasView {
         }
         }
 
 
         canvas.pen.color = SColor.Red;
         canvas.pen.color = SColor.Red;
-
+        // 长度为 360 ,以10递增绘制一条线段
         for (let i = 0; i < 360; i += 10) {
         for (let i = 0; i < 360; i += 10) {
             let q1 = i * Math.PI / 180;
             let q1 = i * Math.PI / 180;
             let q2 = (i + 120) * Math.PI / 180;
             let q2 = (i + 120) * Math.PI / 180;

+ 2 - 1
docs/.vuepress/components/engine/shape/DrawPolyline1.vue

@@ -12,6 +12,7 @@ import { Component, Vue } from "vue-property-decorator";
  * @author 郝洁 <haojie@persagy.com>
  * @author 郝洁 <haojie@persagy.com>
  */
  */
 class TestView extends SCanvasView {
 class TestView extends SCanvasView {
+    /** 绘制数组 */
     arr: SPoint[] = [new SPoint(10, 10), new SPoint(10, 40), new SPoint(30, 30)];
     arr: SPoint[] = [new SPoint(10, 10), new SPoint(10, 40), new SPoint(30, 30)];
 
 
     /**
     /**
@@ -23,7 +24,7 @@ class TestView extends SCanvasView {
 
 
     /**
     /**
      * Item 绘制操作
      * Item 绘制操作
-     * @param painter   绘制对象
+     * @param canvas   绘制对象
      */
      */
     onDraw(canvas: SPainter): void {
     onDraw(canvas: SPainter): void {
         // 绘制折线
         // 绘制折线

+ 2 - 0
docs/.vuepress/components/engine/shape/DrawRect1.vue

@@ -45,6 +45,7 @@ class TestView extends SCanvasView {
         canvas.pen.lineWidth = 1;
         canvas.pen.lineWidth = 1;
         canvas.pen.color = SColor.Blue;
         canvas.pen.color = SColor.Blue;
         canvas.brush.color = SColor.Transparent;
         canvas.brush.color = SColor.Transparent;
+        // 长度为 360 ,以10递增绘制矩形
         for (let i = 1; i < 100; i += 10) {
         for (let i = 1; i < 100; i += 10) {
             //绘制矩形
             //绘制矩形
             canvas.drawRect(310 + i, i, 80, 80);
             canvas.drawRect(310 + i, i, 80, 80);
@@ -54,6 +55,7 @@ class TestView extends SCanvasView {
         canvas.pen.color = SColor.Blue;
         canvas.pen.color = SColor.Blue;
         canvas.brush.color = SColor.Red;
         canvas.brush.color = SColor.Red;
         let k = new Date().getTime() / 100 % 10;
         let k = new Date().getTime() / 100 % 10;
+        // 长度随机 ,以10递增绘制矩形
         for (let i = 1; i < k * 10; i += 10) {
         for (let i = 1; i < k * 10; i += 10) {
             canvas.drawRect(510 + i, i, 80, 80);
             canvas.drawRect(510 + i, i, 80, 80);
         }
         }

+ 4 - 0
docs/.vuepress/components/engine/shape/path.vue

@@ -28,6 +28,10 @@ class TestView222 extends SCanvasView {
         // this.path.polygon([{x:200,y:200},{x:100,y:200},{x:100,y:100}]);
         // this.path.polygon([{x:200,y:200},{x:100,y:200},{x:100,y:100}]);
     }
     }
 
 
+    /**
+     * Item 绘制操作
+     * @param painter   绘制对象
+     */
     onDraw(painter: SPainter) {
     onDraw(painter: SPainter) {
         //绘制路径
         //绘制路径
         painter.drawPath(this.path)
         painter.drawPath(this.path)

+ 13 - 5
docs/.vuepress/components/engine/style/shadow.vue

@@ -36,7 +36,7 @@ class shadowView extends SGraphView {
 
 
     /**
     /**
      * 构造函数
      * 构造函数
-     * @param id
+     * @param id    图 Id
      */
      */
     constructor(id: string) {
     constructor(id: string) {
         super(id);
         super(id);
@@ -69,36 +69,44 @@ class shadowView extends SGraphView {
 
 
 @Component
 @Component
 export default class ShadowCanvas extends Vue {
 export default class ShadowCanvas extends Vue {
+    /** 图 id */
     id: string = uuid();
     id: string = uuid();
+    /** 实例化 view */
     view: shadowView | undefined;
     view: shadowView | undefined;
+    /** 阴影 */
     blurl: number = 10;
     blurl: number = 10;
+    /** x 轴 */
     X: number = 10;
     X: number = 10;
+    /** y 轴 */
     Y: number = 10;
     Y: number = 10;
     color: string = "#cccccc";
     color: string = "#cccccc";
 
 
+    /**
+     * 页面挂载
+     */
     mounted() {
     mounted() {
         this.view = new shadowView(this.id);
         this.view = new shadowView(this.id);
     }
     }
 
 
-    // 修改扩散距离
+    /** 修改扩散距离 */
     changeblur(v: number): void {
     changeblur(v: number): void {
         this.view!!.shadowBlur = v;
         this.view!!.shadowBlur = v;
         this.view!!.update()
         this.view!!.update()
     };
     };
 
 
-    // x轴偏移量
+    /** x 轴偏移量 */
     changeX(v: number) {
     changeX(v: number) {
         this.view!!.shadowOffsetX = v;
         this.view!!.shadowOffsetX = v;
         this.view!!.update()
         this.view!!.update()
     };
     };
 
 
-    // y轴偏移量
+    /** y 轴偏移量 */
     changeY(v: number) {
     changeY(v: number) {
         this.view!!.shadowOffsetY = v;
         this.view!!.shadowOffsetY = v;
         this.view!!.update()
         this.view!!.update()
     };
     };
 
 
-    // 修改颜色
+    /** 修改颜色 */
     changeColor(v: string) {
     changeColor(v: string) {
         this.view!!.shadowColor = new SColor(v);
         this.view!!.shadowColor = new SColor(v);
         this.view!!.update()
         this.view!!.update()

+ 19 - 1
docs/.vuepress/components/scene/Align.vue

@@ -32,6 +32,8 @@ class RectItem extends SGraphItem {
 
 
     /**
     /**
      * 矩形数据类型绘制
      * 矩形数据类型绘制
+     *
+     * @return  边界区域
      */
      */
     boundingRect() {
     boundingRect() {
         return new SRect(0, 0, this.width, this.height);
         return new SRect(0, 0, this.width, this.height);
@@ -71,6 +73,8 @@ class CircleItem extends SGraphItem {
 
 
     /**
     /**
      * 矩形数据类型绘制
      * 矩形数据类型绘制
+     *
+     * @return  边界区域
      */
      */
     boundingRect() {
     boundingRect() {
         return new SRect(0, 0, this.r * 2, this.r * 2);
         return new SRect(0, 0, this.r * 2, this.r * 2);
@@ -103,7 +107,12 @@ class SScene extends SGraphScene {
         super();
         super();
     }
     }
 
 
-
+    /**
+     * 鼠标抬起事件
+     *
+     * @param    event   事件参数
+     * @return    是否处理
+     */
     onMouseUp(event) {
     onMouseUp(event) {
         switch (this.cmd) {
         switch (this.cmd) {
             case 1:
             case 1:
@@ -119,6 +128,11 @@ class SScene extends SGraphScene {
         return false
         return false
     }
     }
 
 
+    /**
+     * 添加圆形
+     * @param x     x轴
+     * @param y     y轴
+     */
     addCircle(x, y) {
     addCircle(x, y) {
         let item = new CircleItem(null);
         let item = new CircleItem(null);
         item.moveTo(x - 50, y - 50);
         item.moveTo(x - 50, y - 50);
@@ -144,6 +158,7 @@ class TestView extends SGraphView {
     export default {
     export default {
         data() {
         data() {
             return {
             return {
+                /** 命令所属的场景类 */
                 scene: new SScene(),
                 scene: new SScene(),
                 value: -1,
                 value: -1,
                 options: [
                 options: [
@@ -182,6 +197,9 @@ class TestView extends SGraphView {
                 ]
                 ]
             }
             }
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             let view = new TestView();
             let view = new TestView();
             view.scene = this.scene;//new SScene(); //this.data.scene;
             view.scene = this.scene;//new SScene(); //this.data.scene;

+ 93 - 28
docs/.vuepress/components/scene/Undo1.vue

@@ -26,6 +26,11 @@ class RectItem extends SGraphItem {
     height = 100;
     height = 100;
     id = new Date().getTime() + '';
     id = new Date().getTime() + '';
 
 
+    /**
+     * 构造函数
+     *
+     * @param parent     Item 图像引擎
+     */
     constructor(parent: SGraphItem | null) {
     constructor(parent: SGraphItem | null) {
         super(parent);
         super(parent);
         this.moveable = true;
         this.moveable = true;
@@ -35,6 +40,11 @@ class RectItem extends SGraphItem {
         this.rotate = 60;
         this.rotate = 60;
     }
     }
 
 
+    /**
+     * 矩形数据类型绘制
+     *
+     * @return  边界区域
+     */
     boundingRect(): SRect {
     boundingRect(): SRect {
         return new SRect(0, 0, this.width, this.height);
         return new SRect(0, 0, this.width, this.height);
     }
     }
@@ -51,34 +61,45 @@ class RectItem extends SGraphItem {
     }
     }
 }
 }
 
 
-    class CircleItem extends SGraphItem {
-        r = 50;
-        id = new Date().getTime() + ""
+class CircleItem extends SGraphItem {
+    /** 半径 */
+    r = 50;
+    /** 图 Id */
+    id = new Date().getTime() + ""
 
 
-        constructor(parent: SGraphItem | null) {
-            super(parent);
-            this.moveable = true;
-            this.selectable = true;
-            this.isTransform = false;
-        }
+    /**
+     * 构造函数
+     *
+     * @param parent     Item 图像引擎
+     */
+    constructor(parent: SGraphItem | null) {
+        super(parent);
+        this.moveable = true;
+        this.selectable = true;
+        this.isTransform = false;
+    }
 
 
-        boundingRect(): SRect {
-            return new SRect(0, 0, this.r * 2, this.r * 2);
-        }
+    /**
+     * 矩形数据类型绘制
+     */
+    boundingRect(): SRect {
+        return new SRect(0, 0, this.r * 2, this.r * 2);
+    }
 
 
-        /**
-         * Item 绘制操作
-         * @param canvas    绘制对象
-         */
-        onDraw(canvas: SPainter): void {
-            canvas.pen.color = SColor.Blue;
-            canvas.pen.lineWidth = 5;
-            canvas.brush.color = this.selected ? SColor.Red : SColor.Green;
-            canvas.drawCircle(this.r, this.r, this.r);
-        }
+    /**
+     * Item 绘制操作
+     * @param canvas    绘制对象
+     */
+    onDraw(canvas: SPainter): void {
+        canvas.pen.color = SColor.Blue;
+        canvas.pen.lineWidth = 5;
+        canvas.brush.color = this.selected ? SColor.Red : SColor.Green;
+        canvas.drawCircle(this.r, this.r, this.r);
     }
     }
+}
 
 
 class SScene extends SGraphScene {
 class SScene extends SGraphScene {
+    /** 实例化 */
     undoStack = new SUndoStack();
     undoStack = new SUndoStack();
     /** 定义命令 */
     /** 定义命令 */
     cmd = 0;
     cmd = 0;
@@ -90,7 +111,12 @@ class SScene extends SGraphScene {
         super();
         super();
     }
     }
 
 
-
+    /**
+     * 鼠标抬起事件
+     *
+     * @param    event   事件参数
+     * @return    是否处理
+     */
     onMouseUp(event: SMouseEvent): boolean {
     onMouseUp(event: SMouseEvent): boolean {
         switch (this.cmd) {
         switch (this.cmd) {
             case 1:
             case 1:
@@ -106,6 +132,11 @@ class SScene extends SGraphScene {
         return false
         return false
     }
     }
 
 
+    /**
+     * 添加圆形
+     * @param x     x轴
+     * @param y     y轴
+     */
     private addCircle(x: number, y: number): void {
     private addCircle(x: number, y: number): void {
         let item = new CircleItem(null);
         let item = new CircleItem(null);
         item.moveTo(x - 50, y - 50);
         item.moveTo(x - 50, y - 50);
@@ -114,6 +145,11 @@ class SScene extends SGraphScene {
         item.connect("onMove", this, this.onItemMove.bind(this));
         item.connect("onMove", this, this.onItemMove.bind(this));
     }
     }
 
 
+    /**
+     * 添加矩形
+     * @param x     x轴
+     * @param y     y轴
+     */
     private addRect(x: number, y: number): void {
     private addRect(x: number, y: number): void {
         let item = new RectItem(null);
         let item = new RectItem(null);
         item.moveTo(x - 50, y - 50);
         item.moveTo(x - 50, y - 50);
@@ -122,20 +158,31 @@ class SScene extends SGraphScene {
         item.connect("onMove", this, this.onItemMove.bind(this));
         item.connect("onMove", this, this.onItemMove.bind(this));
     }
     }
 
 
+    /**
+     * 移动操作
+     * @param item     图像引擎
+     * @param arg      数组
+     */
     onItemMove(item: SGraphItem, ...arg: any): void {
     onItemMove(item: SGraphItem, ...arg: any): void {
         this.undoStack.push(new SGraphMoveCommand(this, item, arg[0][0] as SPoint, arg[0][1] as SPoint));
         this.undoStack.push(new SGraphMoveCommand(this, item, arg[0][0] as SPoint, arg[0][1] as SPoint));
     }
     }
 }
 }
 
 
-    class TestView extends SGraphView {
-        constructor(undoFrame) {
-            super(undoFrame);
-        }
+class TestView extends SGraphView {
+    /**
+     * 构造函数
+     *
+     * @param undoFrame     绘制引擎
+     */
+    constructor(undoFrame) {
+        super(undoFrame);
     }
     }
+}
 
 
     export default {
     export default {
         data() {
         data() {
             return {
             return {
+                /** 命令所属的场景类 */
                 scene: new SScene(),
                 scene: new SScene(),
             }
             }
         },
         },
@@ -147,21 +194,39 @@ class SScene extends SGraphScene {
             view.scene = this.scene;//new SScene(); //this.data.scene;
             view.scene = this.scene;//new SScene(); //this.data.scene;
         },
         },
         methods: {
         methods: {
+            /**
+             * 定义圆形命令
+             */
             addCircle() {
             addCircle() {
                 this.scene.cmd = 1;
                 this.scene.cmd = 1;
             },
             },
+            /**
+             * 定义矩形命令
+             */
             addRect() {
             addRect() {
                 this.scene.cmd = 2;
                 this.scene.cmd = 2;
             },
             },
+            /**
+             * 删除操作
+             */
             deleteItem() {
             deleteItem() {
-
+            // do something ...
             },
             },
+            /**
+             * 取消操作
+             */
             undo() {
             undo() {
                 this.scene.undoStack.undo();
                 this.scene.undoStack.undo();
             },
             },
+            /**
+             * 重做操作
+             */
             redo() {
             redo() {
                 this.scene.undoStack.redo();
                 this.scene.undoStack.redo();
             },
             },
+            /**
+             * 将命令堆栈转为日志(命令数组)
+             */
             log() {
             log() {
                 let str = this.scene.undoStack.toLog();
                 let str = this.scene.undoStack.toLog();
                 console.log(str)
                 console.log(str)

+ 1 - 1
docs/.vuepress/components/scene/items/ClockItem.vue

@@ -68,7 +68,7 @@ class SGraphClockItem extends SGraphItem {
             height?: number
             height?: number
         ) {
         ) {
             super(parent);
             super(parent);
-            if (width instanceof SSize) {
+            if (width instanceof SSize) { // 实例在 SSize 对象中
                 this.size = new SSize(width.width, width.height);
                 this.size = new SSize(width.width, width.height);
             } else {
             } else {
                 this.size = new SSize(width as number, height as number);
                 this.size = new SSize(width as number, height as number);

+ 6 - 0
docs/.vuepress/components/scene/items/ImageItem.vue

@@ -15,6 +15,7 @@ import { SGraphSvgItem } from "@persagy-web/graph/lib";
 import { Component, Vue } from "vue-property-decorator";
 import { Component, Vue } from "vue-property-decorator";
 import { SSize } from "@persagy-web/draw/lib";
 import { SSize } from "@persagy-web/draw/lib";
 import { v1 as uuid } from "uuid";
 import { v1 as uuid } from "uuid";
+
 /**
 /**
  * 图片实例
  * 图片实例
  *
  *
@@ -29,9 +30,14 @@ class Img extends SGraphSvgItem {
 
 
     @Component
     @Component
     export default class imageCanvas extends Vue {
     export default class imageCanvas extends Vue {
+        /** 图 id */
         id: string = uuid();
         id: string = uuid();
+        /** 图片地址 */
         url: string = require('./1.jpg');
         url: string = require('./1.jpg');
 
 
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             const view = new SGraphView(this.id);
             const view = new SGraphView(this.id);
             const scene = new SGraphScene();
             const scene = new SGraphScene();

+ 39 - 30
docs/.vuepress/components/scene/items/PolylineItem.vue

@@ -10,47 +10,56 @@
 <script>
 <script>
 import { SGraphScene, SGraphView } from "@persagy-web/graph/lib";
 import { SGraphScene, SGraphView } from "@persagy-web/graph/lib";
 import { SItemStatus, SPolylineItem } from "@persagy-web/big/lib";
 import { SItemStatus, SPolylineItem } from "@persagy-web/big/lib";
+
 /**
 /**
  * 可编辑折线示例
  * 可编辑折线示例
  *
  *
  * @author 郝洁 <haojie@persagy.com>
  * @author 郝洁 <haojie@persagy.com>
  */
  */
 export default {
 export default {
-        name: "editPolyline",
-        data() {
-            return {
-                scene: null,
-                view: null,
-                item: null,
-            };
+    name: "editPolyline",
+    data() {
+        return {
+            /** 命令所属的场景类 */
+            scene: null,
+            /** 实例化 view */
+            view: null,
+            item: null,
+        };
+    },
+    /**
+     * 页面挂载
+     */
+    mounted() {
+        this.view = new SGraphView("editPolyline");
+        this.scene = new SGraphScene();
+        this.view.scene = this.scene;
+        this.init()
+    },
+    methods: {
+        /**
+         * 初始化加载
+         */
+        init() {
+            this.scene.root.children = [];
+            this.item = new SPolylineItem(null, []);
+            this.item.status = SItemStatus.Create;
+            this.scene.addItem(this.item);
+            this.scene.grabItem = this.item;
+            this.view.update();
         },
         },
-        mounted() {
-            this.view = new SGraphView("editPolyline");
-            this.scene = new SGraphScene();
-            this.view.scene = this.scene;
-            this.init()
+        undo() {
+            if (this.scene.grabItem) {
+                this.scene.grabItem.undo()
+            }
         },
         },
-        methods: {
-            init() {
-                this.scene.root.children = [];
-                this.item = new SPolylineItem(null, []);
-                this.item.status = SItemStatus.Create;
-                this.scene.addItem(this.item);
-                this.scene.grabItem = this.item;
-                this.view.update();
-            },
-            undo() {
-                if (this.scene.grabItem) {
-                    this.scene.grabItem.undo()
-                }
-            },
-            redo() {
-                if (this.scene.grabItem) {
-                    this.scene.grabItem.redo()
-                }
+        redo() {
+            if (this.scene.grabItem) {
+                this.scene.grabItem.redo()
             }
             }
         }
         }
     }
     }
+}
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>

+ 12 - 7
docs/.vuepress/components/scene/items/SEditLine.vue

@@ -19,20 +19,25 @@ import { SLineItem } from "@persagy-web/big/lib";
 export default {
 export default {
     data() {
     data() {
         return {
         return {
+            /** 命令所属的场景类 */
             scene: null,
             scene: null,
+            /** 实例化 view */
             view: null
             view: null
         };
         };
     },
     },
+    /**
+     * 页面挂载
+     */
     mounted() {
     mounted() {
         this.view = new SGraphView("editLine");
         this.view = new SGraphView("editLine");
         this.scene = new SGraphScene();
         this.scene = new SGraphScene();
         this.view.scene = this.scene;
         this.view.scene = this.scene;
-        },
-        methods: {
-            create() {
-                this.scene.root.children = [];
-                const lineItem = new SLineItem(null, []);
-                lineItem.status = SItemStatus.Create;
+    },
+    methods: {
+        create() {
+            this.scene.root.children = [];
+            const lineItem = new SLineItem(null, []);
+            lineItem.status = SItemStatus.Create;
                 this.scene.addItem(lineItem);
                 this.scene.addItem(lineItem);
                 this.scene.grabItem = lineItem;
                 this.scene.grabItem = lineItem;
                 this.view.fitSceneToView();
                 this.view.fitSceneToView();
@@ -49,4 +54,4 @@ export default {
             }
             }
         }
         }
     };
     };
-</script>
+</script>

+ 8 - 7
docs/.vuepress/components/scene/items/SEditPolygon.vue

@@ -21,7 +21,9 @@ import { SMathUtil } from "@persagy-web/big/lib/utils/SMathUtil";
 export default {
 export default {
     data() {
     data() {
         return {
         return {
+            /** 命令所属的场景类 */
             scene: null,
             scene: null,
+            /** 实例化 view */
             view: null
             view: null
         };
         };
     },
     },
@@ -255,7 +257,7 @@ export default {
         /**
         /**
          * 展示状态 --绘制多边形数组
          * 展示状态 --绘制多边形数组
          * @param painter    绘制类
          * @param painter    绘制类
-         * @param pointList    绘制多边形数组
+         * @param pointList  绘制多边形数组
          *
          *
          */
          */
 
 
@@ -270,8 +272,8 @@ export default {
         /**
         /**
          *
          *
          * 创建状态 --绘制多边形数组
          * 创建状态 --绘制多边形数组
-         * @param painter    绘制类
-         * @param pointList    绘制多边形数组
+         * @param painter       绘制类
+         * @param pointList     绘制多边形数组
          *
          *
          */
          */
 
 
@@ -513,10 +515,9 @@ export default {
         /**
         /**
          * 鼠标抬起事件
          * 鼠标抬起事件
          *
          *
-         * @param    event         事件参数
-         * @return    boolean
+         * @param    event   事件参数
+         * @return    是否处理
          */
          */
-
         onMouseUp(event: SMouseEvent): boolean {
         onMouseUp(event: SMouseEvent): boolean {
             if (this._status == SRelationState.Edit) {
             if (this._status == SRelationState.Edit) {
                 this.curIndex = -1;
                 this.curIndex = -1;
@@ -538,7 +539,7 @@ export default {
         /**
         /**
          * Item对象边界区域
          * Item对象边界区域
          *
          *
-         * @return SRect
+         * @return  边界区域
          */
          */
         boundingRect(): SRect {
         boundingRect(): SRect {
             return new SRect(
             return new SRect(

+ 9 - 1
docs/.vuepress/components/scene/items/SImgTextItem.vue

@@ -169,7 +169,7 @@ class SImgTextItem extends SObjectItem {
         /**
         /**
          * 宽高发发生变化
          * 宽高发发生变化
          *
          *
-         * @return  SRect   所有子对象的并集
+         * @return  所有子对象的并集
          */
          */
         boundingRect(): SRect {
         boundingRect(): SRect {
             let rect = this.img.boundingRect().adjusted(this.img.pos.x, this.img.pos.y, 0, 0);
             let rect = this.img.boundingRect().adjusted(this.img.pos.x, this.img.pos.y, 0, 0);
@@ -200,11 +200,16 @@ class SImgTextItem extends SObjectItem {
         name: "ImgTextItem",
         name: "ImgTextItem",
         data() {
         data() {
             return {
             return {
+                /** 命令所属的场景类 */
                 scene: null,
                 scene: null,
+                /** 实例化 view */
                 view: null,
                 view: null,
                 input: '',
                 input: '',
             };
             };
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             console.log(22222222222222222)
             console.log(22222222222222222)
             // @ts-ignore
             // @ts-ignore
@@ -217,6 +222,9 @@ class SImgTextItem extends SObjectItem {
             this.init()
             this.init()
         },
         },
         methods: {
         methods: {
+            /**
+             * 初始化加载
+             */
             init() {
             init() {
                 // @ts-ignore
                 // @ts-ignore
                 this.item = new SImgTextItem(null);
                 this.item = new SImgTextItem(null);

+ 4 - 0
docs/.vuepress/components/scene/items/TextItem.vue

@@ -98,12 +98,16 @@ class TestView extends SGraphView {
     export default {
     export default {
         data() {
         data() {
             return {
             return {
+                /** 命令所属的场景类 */
                 scene: new SScene(),
                 scene: new SScene(),
                 text: "测试文本",
                 text: "测试文本",
                 size: 20,
                 size: 20,
                 color: "#333333"
                 color: "#333333"
             };
             };
         },
         },
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             let view = new TestView();
             let view = new TestView();
             this.scene.updateText(this.text);
             this.scene.updateText(this.text);

+ 55 - 46
docs/.vuepress/components/scene/items/area.vue

@@ -8,6 +8,7 @@
 import { SGraphAreaGroupItem, SGraphScene, SGraphView } from "@persagy-web/graph/lib";
 import { SGraphAreaGroupItem, SGraphScene, SGraphView } from "@persagy-web/graph/lib";
 import { Component, Vue } from "vue-property-decorator";
 import { Component, Vue } from "vue-property-decorator";
 import { v1 as uuid } from "uuid";
 import { v1 as uuid } from "uuid";
+
 /**
 /**
  * 区域组
  * 区域组
  *
  *
@@ -15,56 +16,64 @@ import { v1 as uuid } from "uuid";
  */
  */
 @Component
 @Component
     export default class AreaCanvas extends Vue {
     export default class AreaCanvas extends Vue {
-        id: string = uuid();
-        view: SGraphView | undefined;
-        areaData = {
-            outline: [
-                [
-                    [{x: 0, y: 0}, {x: 0, y: 1000}, {x: 1000, y: 1000}, {x: 1000, y: 0}],
-                    [{x: 200, y: 200}, {x: 800, y: 200}, {x: 800, y: 800}, {x: 200, y: 800}]
-                ],
-                [
-                    [{x: 1000, y: 1000}, {x: 1200, y: 1000}, {x: 1200, y: 1200}, {x: 1000, y: 1200}]
-                ]
+    /** 图 id */
+    id: string = uuid();
+    /** 实例化 view */
+    view: SGraphView | undefined;
+    areaData = {
+        outline: [
+            [
+                [{x: 0, y: 0}, {x: 0, y: 1000}, {x: 1000, y: 1000}, {x: 1000, y: 0}],
+                [{x: 200, y: 200}, {x: 800, y: 200}, {x: 800, y: 800}, {x: 200, y: 800}]
             ],
             ],
-            style: {
-                "default": {
-                    "stroke": "#cccccc",
-                    "fill": "SLinearGradient{0,0;0,1200;0,#ff483bff;0.5,#04ff00ff;1,#3d4effff;}",
-                    "lineWidth": 2,
-                    "effect": {}
-                },
-                "selected": {
-                    "stroke": "#66ff66",
-                    "fill": "SRadialGradient{500,500,50;500,500,800;0,#ff483bff;0.5,#04ff00ff;1,#3d4effff;}",
-                    "lineWidth": 3,
-                    "effect": {}
-                },
-                "disabled": {
-                    "stroke": "#333333",
-                    "fill": "#afafaf",
-                    "lineWidth": 1,
-                    "effect": {}
-                },
-            }
-        };
+            [
+                [{x: 1000, y: 1000}, {x: 1200, y: 1000}, {x: 1200, y: 1200}, {x: 1000, y: 1200}]
+            ]
+        ],
+        style: {
+            "default": {
+                "stroke": "#cccccc",
+                "fill": "SLinearGradient{0,0;0,1200;0,#ff483bff;0.5,#04ff00ff;1,#3d4effff;}",
+                "lineWidth": 2,
+                "effect": {}
+            },
+            "selected": {
+                "stroke": "#66ff66",
+                "fill": "SRadialGradient{500,500,50;500,500,800;0,#ff483bff;0.5,#04ff00ff;1,#3d4effff;}",
+                "lineWidth": 3,
+                "effect": {}
+            },
+            "disabled": {
+                "stroke": "#333333",
+                "fill": "#afafaf",
+                "lineWidth": 1,
+                "effect": {}
+            },
+        }
+    };
 
 
-        mounted() {
-            this.init();
-        };
+    /**
+     * 页面挂载
+     */
+    mounted() {
+        this.init();
+    };
 
 
-        init() {
-            this.view = new SGraphView(this.id);
-            const scene = new SGraphScene();
-            const item = new SGraphAreaGroupItem(null, this.areaData);
-            item.selectable = true;
-            item._resizeable = false;
-            scene.addItem(item);
-            this.view.scene = scene;
-            this.view.fitSceneToView();
-            this.view.scalable = false;
-        }
+    /**
+     * 初始化加载
+     */
+    init() {
+        this.view = new SGraphView(this.id);
+        const scene = new SGraphScene();
+        const item = new SGraphAreaGroupItem(null, this.areaData);
+        item.selectable = true;
+        item._resizeable = false;
+        scene.addItem(item);
+        this.view.scene = scene;
+        this.view.fitSceneToView();
+        this.view.scalable = false;
     }
     }
+}
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>

+ 9 - 0
docs/.vuepress/components/scene/items/polygon.vue

@@ -11,6 +11,7 @@ import { SGraphPolyGroupItem, SGraphScene, SGraphView } from "@persagy-web/graph
 import { SSize } from "@persagy-web/draw/lib";
 import { SSize } from "@persagy-web/draw/lib";
 import { Component, Vue } from "vue-property-decorator";
 import { Component, Vue } from "vue-property-decorator";
 import { v1 as uuid } from "uuid";
 import { v1 as uuid } from "uuid";
+
 /**
 /**
  * 多边形组
  * 多边形组
  *
  *
@@ -36,8 +37,10 @@ class Expolygon extends SGraphPolyGroupItem {
 
 
     @Component
     @Component
     export default class ZoneCanvas extends Vue {
     export default class ZoneCanvas extends Vue {
+        /** 实例化 view */
         view: SGraphView | undefined;
         view: SGraphView | undefined;
         item: Expolygon | undefined;
         item: Expolygon | undefined;
+        /** 图 id */
         id: string = uuid();
         id: string = uuid();
         rectData = {
         rectData = {
             outline: [
             outline: [
@@ -66,10 +69,16 @@ class Expolygon extends SGraphPolyGroupItem {
             }
             }
         };
         };
 
 
+        /**
+         * 页面挂载
+         */
         mounted() {
         mounted() {
             this.init();
             this.init();
         };
         };
 
 
+        /**
+         * 初始化加载
+         */
         init() {
         init() {
             this.view = new SGraphView(this.id);
             this.view = new SGraphView(this.id);
             const scene = new SGraphScene();
             const scene = new SGraphScene();

+ 9 - 3
docs/.vuepress/components/scene/items/rect.vue

@@ -11,6 +11,7 @@
 
 
 import { SGraphRectItem, SGraphScene, SGraphView } from "@persagy-web/graph/lib";
 import { SGraphRectItem, SGraphScene, SGraphView } from "@persagy-web/graph/lib";
 import { Component, Vue } from "vue-property-decorator";
 import { Component, Vue } from "vue-property-decorator";
+
 /**
 /**
  * 矩形&圆角矩形
  * 矩形&圆角矩形
  *
  *
@@ -18,7 +19,9 @@ import { Component, Vue } from "vue-property-decorator";
  */
  */
 @Component
 @Component
 export default class RectCanvas extends Vue {
 export default class RectCanvas extends Vue {
+    /** 图 id */
     id: string = 'rect' + Date.now();
     id: string = 'rect' + Date.now();
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
     item: SGraphRectItem | undefined;
     item: SGraphRectItem | undefined;
     item2: SGraphRectItem | undefined;
     item2: SGraphRectItem | undefined;
@@ -85,16 +88,19 @@ export default class RectCanvas extends Vue {
         this.init();
         this.init();
     }
     }
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         this.view = new SGraphView(this.id);
         this.view = new SGraphView(this.id);
         const scene = new SGraphScene();
         const scene = new SGraphScene();
         this.item = new SGraphRectItem(null, this.rectData);
         this.item = new SGraphRectItem(null, this.rectData);
         this.item.selectable = true;
         this.item.selectable = true;
         this.item._resizeable = false;
         this.item._resizeable = false;
-            scene.addItem(this.item);
+        scene.addItem(this.item);
 
 
-            this.item2 = new SGraphRectItem(null, this.rectData2);
-            this.item2.selectable = true;
+        this.item2 = new SGraphRectItem(null, this.rectData2);
+        this.item2.selectable = true;
             this.item2._resizeable = false;
             this.item2._resizeable = false;
             scene.addItem(this.item2);
             scene.addItem(this.item2);
 
 

+ 5 - 0
docs/.vuepress/components/scene/items/svg.vue

@@ -16,7 +16,9 @@ import { v1 as uuid } from "uuid";
  */
  */
 @Component
 @Component
 export default class SvgCanvas extends Vue {
 export default class SvgCanvas extends Vue {
+    /** 图 id */
     id: string = uuid();
     id: string = uuid();
+    /** 实例化 view */
     view: SGraphView | undefined;
     view: SGraphView | undefined;
     svgData = {
     svgData = {
         // https://desk-fd.zol-img.com.cn/t_s2560x1600c5/g6/M00/0B/0E/ChMkKV9N5U2IfX_aAA-zeHRQZW8AABvcADsv-0AD7OQ688.jpg
         // https://desk-fd.zol-img.com.cn/t_s2560x1600c5/g6/M00/0B/0E/ChMkKV9N5U2IfX_aAA-zeHRQZW8AABvcADsv-0AD7OQ688.jpg
@@ -35,6 +37,9 @@ export default class SvgCanvas extends Vue {
         this.init()
         this.init()
     };
     };
 
 
+    /**
+     * 初始化加载
+     */
     init(): void {
     init(): void {
         this.view = new SGraphView(this.id);
         this.view = new SGraphView(this.id);
         const scene = new SGraphScene();
         const scene = new SGraphScene();

+ 7 - 7
docs/guides/edit/items/src/EditLineItem.ts

@@ -153,7 +153,7 @@ export class EditLineItem extends SGraphItem {
     constructor(parent: SGraphItem | null, l?: SPoint | SPoint[]) {
     constructor(parent: SGraphItem | null, l?: SPoint | SPoint[]) {
         super(parent);
         super(parent);
         if (l) {
         if (l) {
-            if (l instanceof SPoint) {
+            if (l instanceof SPoint) { // 实例在 SPainter 绘制对象中
                 this.line.push(l);
                 this.line.push(l);
             } else {
             } else {
                 this.line = l;
                 this.line = l;
@@ -229,8 +229,8 @@ export class EditLineItem extends SGraphItem {
     /**
     /**
      * 鼠标抬起事件
      * 鼠标抬起事件
      *
      *
-     * @param	event         事件参数
-     * @return	boolean
+     * @param	event   事件参数
+     * @return	是否处理
      */
      */
     onMouseUp(event: SMouseEvent): boolean {
     onMouseUp(event: SMouseEvent): boolean {
         if (this.status == SItemStatus.Edit) {
         if (this.status == SItemStatus.Edit) {
@@ -266,7 +266,7 @@ export class EditLineItem extends SGraphItem {
             event = this.compare(event);
             event = this.compare(event);
         }
         }
         if (this.status == SItemStatus.Create) {
         if (this.status == SItemStatus.Create) {
-            if (this.line[0] instanceof SPoint) {
+            if (this.line[0] instanceof SPoint) { // 实例在 SPoint 对象中
                 this.line[1] = new SPoint(event.x, event.y);
                 this.line[1] = new SPoint(event.x, event.y);
             }
             }
         } else if (this.status == SItemStatus.Edit) {
         } else if (this.status == SItemStatus.Edit) {
@@ -415,9 +415,9 @@ export class EditLineItem extends SGraphItem {
     } // Function cancelOperate()
     } // Function cancelOperate()
 
 
     /**
     /**
-     * Item对象边界区域
+     * Item 对象边界区域
      *
      *
-     * @return	SRect
+     * @return  边界区域
      */
      */
     boundingRect(): SRect {
     boundingRect(): SRect {
         if (this.line.length) {
         if (this.line.length) {
@@ -509,4 +509,4 @@ export class EditLineItem extends SGraphItem {
             }
             }
         }
         }
     } // Function onDraw()
     } // Function onDraw()
-} // Class SLineItem
+} // Class SLineItem

+ 5 - 5
docs/guides/edit/items/src/EditPolygonItem.ts

@@ -669,8 +669,8 @@ export class EditPolygonItem extends SGraphItem {
     /**
     /**
      * 鼠标抬起事件
      * 鼠标抬起事件
      *
      *
-     * @param	event         事件参数
-     * @return	boolean
+     * @param    event   事件参数
+     * @return    是否处理
      */
      */
     onMouseUp(event: SMouseEvent): boolean {
     onMouseUp(event: SMouseEvent): boolean {
         if (this.status == SItemStatus.Edit) {
         if (this.status == SItemStatus.Edit) {
@@ -737,9 +737,9 @@ export class EditPolygonItem extends SGraphItem {
     } // Function cancelOperate()
     } // Function cancelOperate()
 
 
     /**
     /**
-     * Item对象边界区域
+     * Item 对象边界区域
      *
      *
-     * @return SRect
+     * @return  边界区域
      */
      */
     boundingRect(): SRect {
     boundingRect(): SRect {
         if (this.pointList.length) {
         if (this.pointList.length) {
@@ -805,4 +805,4 @@ export class EditPolygonItem extends SGraphItem {
             this.drawEditPolygon(painter, this.pointList);
             this.drawEditPolygon(painter, this.pointList);
         }
         }
     } // Function onDraw()
     } // Function onDraw()
-}
+}

+ 11 - 8
docs/guides/edit/items/src/EditPolylineItem.ts

@@ -1,7 +1,7 @@
 import { SColor, SLine, SPainter, SPoint, SRect } from "@persagy-web/draw";
 import { SColor, SLine, SPainter, SPoint, SRect } from "@persagy-web/draw";
 import { SKeyCode, SMouseEvent, SUndoStack } from "@persagy-web/base";
 import { SKeyCode, SMouseEvent, SUndoStack } from "@persagy-web/base";
-import { SItemStatus } from "@persagy-web/big";;
-import { SMathUtil } from "@persagy-web/big/lib/utils/SMathUtil";;
+import { SItemStatus } from "@persagy-web/big";
+import { SMathUtil } from "@persagy-web/big/lib/utils/SMathUtil";
 import {
 import {
     SGraphItem,
     SGraphItem,
     SGraphPointListDelete,
     SGraphPointListDelete,
@@ -10,6 +10,9 @@ import {
     SLineStyle
     SLineStyle
 } from "@persagy-web/graph/lib";
 } from "@persagy-web/graph/lib";
 
 
+;
+;
+
 /**
 /**
  * 直线item
  * 直线item
  *
  *
@@ -118,7 +121,7 @@ export class EditPolylineItem extends SGraphItem {
      */
      */
     constructor(parent: null | SGraphItem, list: SPoint | SPoint[]) {
     constructor(parent: null | SGraphItem, list: SPoint | SPoint[]) {
         super(parent);
         super(parent);
-        if (list instanceof SPoint) {
+        if (list instanceof SPoint) { // 实例在 SPoint 对象中
             this.pointList.push(list);
             this.pointList.push(list);
         } else {
         } else {
             this.pointList = list;
             this.pointList = list;
@@ -249,10 +252,10 @@ export class EditPolylineItem extends SGraphItem {
     } // Function onMouseMove()
     } // Function onMouseMove()
 
 
     /**
     /**
-     * 鼠标移动事件
+     * 鼠标抬起事件
      *
      *
-     * @param   event   鼠标事件
-     * @return  boolean 是否处理事件
+     * @param    event   事件参数
+     * @return    是否处理
      */
      */
     onMouseUp(event: SMouseEvent): boolean {
     onMouseUp(event: SMouseEvent): boolean {
         if (this.status == SItemStatus.Edit) {
         if (this.status == SItemStatus.Edit) {
@@ -436,7 +439,7 @@ export class EditPolylineItem extends SGraphItem {
     /**
     /**
      * Item对象边界区域
      * Item对象边界区域
      *
      *
-     * @return  SRect   外接矩阵
+     * @return  边界区域
      */
      */
     boundingRect(): SRect {
     boundingRect(): SRect {
         if (this.pointList.length) {
         if (this.pointList.length) {
@@ -598,4 +601,4 @@ export class EditPolylineItem extends SGraphItem {
             this.drawBaseLine(painter);
             this.drawBaseLine(painter);
         }
         }
     } // Function onDraw()
     } // Function onDraw()
-} // Class SPolylineItem
+} // Class SPolylineItem

+ 3 - 3
docs/guides/edit/items/src/EditText.ts

@@ -179,7 +179,7 @@ export class EditText extends SObjectItem {
      *
      *
      */
      */
     protected drawFormatText(): void {
     protected drawFormatText(): void {
-        if (this._painter instanceof SPainter) {
+        if (this._painter instanceof SPainter) { // 实例在 SPainter 绘制对象中
             this._painter.save();
             this._painter.save();
             this._painter.font = this.font;
             this._painter.font = this.font;
             let textMaxWidth = 0;
             let textMaxWidth = 0;
@@ -209,10 +209,10 @@ export class EditText extends SObjectItem {
      * @param   painter      绘画类
      * @param   painter      绘画类
      */
      */
     onDraw(painter: SPainter): void {
     onDraw(painter: SPainter): void {
-        if (!(this._painter instanceof SPainter)) {
+        if (!(this._painter instanceof SPainter)) { // 实例在 SPainter 绘制对象中
             this._painter = painter;
             this._painter = painter;
             this.drawFormatText();
             this.drawFormatText();
         }
         }
         this.drawShowText(painter);
         this.drawShowText(painter);
     } // Function onDraw()
     } // Function onDraw()
-} // Class STextItem
+} // Class STextItem

+ 1 - 1
docs/guides/standard/git.md

@@ -87,4 +87,4 @@ pnpm-debug.log*
 ## 约定
 ## 约定
 * 少修改,多提交。尽可能每改一个要点就提交一次,这样提交说明也能容易描述。也便于出问题时代码回退。“提交”的概念是具有独立的功能、修正等作用。 小可以小到只修改一行,大可以到改动很多文件, 但划分的标准不变,一个提交只解决一个问题的。
 * 少修改,多提交。尽可能每改一个要点就提交一次,这样提交说明也能容易描述。也便于出问题时代码回退。“提交”的概念是具有独立的功能、修正等作用。 小可以小到只修改一行,大可以到改动很多文件, 但划分的标准不变,一个提交只解决一个问题的。
 * 简明扼要,不要写的太详细,最好一行搞定,要一目了然,详细信息可以查看代码差异。
 * 简明扼要,不要写的太详细,最好一行搞定,要一目了然,详细信息可以查看代码差异。
-* 如果确实需要一些较长内容的说明,则第一行简明扼要,第二行空行,从第三行起开始详细说明。
+* 如果确实需要一些较长内容的说明,则第一行简明扼要,第二行空行,从第三行起开始详细说明。

+ 8 - 8
docs/setup/server/nginx.md

@@ -57,7 +57,7 @@ server {
     #charset koi8-r;
     #charset koi8-r;
 
 
     access_log  /opt/logs/host.access.log; #  main;
     access_log  /opt/logs/host.access.log; #  main;
-	
+
     root        /opt/nginx/ibms/dist;              #vue项目的打包后的dist
     root        /opt/nginx/ibms/dist;              #vue项目的打包后的dist
 
 
     location / {
     location / {
@@ -78,7 +78,7 @@ server {
        	proxy_connect_timeout   3;
        	proxy_connect_timeout   3;
        	proxy_send_timeout      3600;
        	proxy_send_timeout      3600;
        	proxy_read_timeout      3600;
        	proxy_read_timeout      3600;
-		
+
 	rewrite ^/admin/(.+?)$ /$1 break;
 	rewrite ^/admin/(.+?)$ /$1 break;
     }
     }
     location ^~ /api/ {
     location ^~ /api/ {
@@ -133,7 +133,7 @@ server {
        	proxy_connect_timeout   3;
        	proxy_connect_timeout   3;
        	proxy_send_timeout      3600;
        	proxy_send_timeout      3600;
        	proxy_read_timeout      3600;
        	proxy_read_timeout      3600;
-		
+
 	rewrite ^/business-space/(.+?)$ /business-space/$1 break;
 	rewrite ^/business-space/(.+?)$ /business-space/$1 break;
     }
     }
 	location ^~ /pointconfig/ {
 	location ^~ /pointconfig/ {
@@ -147,7 +147,7 @@ server {
        	proxy_connect_timeout   3;
        	proxy_connect_timeout   3;
        	proxy_send_timeout      3600;
        	proxy_send_timeout      3600;
        	proxy_read_timeout      3600;
        	proxy_read_timeout      3600;
-		
+
 	rewrite ^/pointconfig/(.+?)$ /pointconfig/$1 break;
 	rewrite ^/pointconfig/(.+?)$ /pointconfig/$1 break;
     }
     }
 	location ^~ /venders/ {
 	location ^~ /venders/ {
@@ -161,7 +161,7 @@ server {
        	proxy_connect_timeout   3;
        	proxy_connect_timeout   3;
        	proxy_send_timeout      3600;
        	proxy_send_timeout      3600;
        	proxy_read_timeout      3600;
        	proxy_read_timeout      3600;
-		
+
 	rewrite ^/venders/(.+?)$ /venders/$1 break;
 	rewrite ^/venders/(.+?)$ /venders/$1 break;
     }
     }
         location ^~ /venders-dp/ {
         location ^~ /venders-dp/ {
@@ -189,7 +189,7 @@ server {
        	proxy_connect_timeout   3;
        	proxy_connect_timeout   3;
        	proxy_send_timeout      3600;
        	proxy_send_timeout      3600;
        	proxy_read_timeout      3600;
        	proxy_read_timeout      3600;
-		
+
 	rewrite ^/ScanBuilding/(.+?)$ /ScanBuilding/$1 break;
 	rewrite ^/ScanBuilding/(.+?)$ /ScanBuilding/$1 break;
     }
     }
 	location ^~ /image-service/ {
 	location ^~ /image-service/ {
@@ -203,7 +203,7 @@ server {
        	proxy_connect_timeout   36000;
        	proxy_connect_timeout   36000;
        	proxy_send_timeout      36000;
        	proxy_send_timeout      36000;
        	proxy_read_timeout      36000;
        	proxy_read_timeout      36000;
-		
+
 	rewrite ^/image-service/(.+?)$ /image-service/$1 break;
 	rewrite ^/image-service/(.+?)$ /image-service/$1 break;
     }
     }
 	location ^~ /godhand/ {
 	location ^~ /godhand/ {
@@ -217,7 +217,7 @@ server {
        	proxy_connect_timeout   3;
        	proxy_connect_timeout   3;
        	proxy_send_timeout      3600;
        	proxy_send_timeout      3600;
        	proxy_read_timeout      3600;
        	proxy_read_timeout      3600;
-		
+
 	rewrite ^/godhand/(.+?)$ /godhand/$1 break;
 	rewrite ^/godhand/(.+?)$ /godhand/$1 break;
     }
     }
     error_page   500 502 503 504  /50x.html;
     error_page   500 502 503 504  /50x.html;