Browse Source

Merge remote-tracking branch 'origin/master'

jxing 4 years ago
parent
commit
cafe8e458f
74 changed files with 778 additions and 47 deletions
  1. 32 0
      docs/.vuepress/components/example/web/graph/DrawLine1.vue
  2. 48 0
      docs/.vuepress/components/example/web/graph/DrawLine2.vue
  3. 24 0
      docs/.vuepress/components/example/web/graph/DrawPolyline1.vue
  4. 48 0
      docs/.vuepress/components/example/web/graph/DrawRect1.vue
  5. 15 4
      docs/.vuepress/config.js
  6. 14 0
      docs/.vuepress/enhanceApp.js
  7. 5 0
      docs/.vuepress/shims-vue.d.ts
  8. 1 1
      docs/dev/data-center/relations/topology/sys_block.md
  9. 2 0
      docs/dev/saga-big/README.md
  10. 1 5
      docs/dev/saga-graphy/README.md
  11. 3 0
      docs/dev/saga-graphy/feng-map/typeIdMap.md
  12. 29 2
      docs/dev/saga-graphy/graphy-engine/README.md
  13. 142 9
      docs/dev/saga-graphy/graphy-engine/arrow.md
  14. 4 0
      docs/dev/saga-graphy/graphy-engine/clip.md
  15. 4 0
      docs/dev/saga-graphy/graphy-engine/custom-engine.md
  16. 37 7
      docs/dev/saga-graphy/graphy-engine/draw.md
  17. 4 0
      docs/dev/saga-graphy/graphy-engine/gradient.md
  18. 2 0
      docs/dev/saga-graphy/graphy-engine/image.md
  19. BIN
      docs/dev/saga-graphy/graphy-engine/img/basic-jisuan.png
  20. BIN
      docs/dev/saga-graphy/graphy-engine/img/circle-jisuan.png
  21. BIN
      docs/dev/saga-graphy/graphy-engine/img/diamond-jisuan.jpg
  22. BIN
      docs/dev/saga-graphy/graphy-engine/img/draw-engine.png
  23. BIN
      docs/dev/saga-graphy/graphy-engine/img/huabishixian.png
  24. BIN
      docs/dev/saga-graphy/graphy-engine/img/huashuajiegou.png
  25. BIN
      docs/dev/saga-graphy/graphy-engine/img/huizhijiegou.png
  26. BIN
      docs/dev/saga-graphy/graphy-engine/img/jianbianjiegou.png
  27. BIN
      docs/dev/saga-graphy/graphy-engine/img/mutli-engine.png
  28. BIN
      docs/dev/saga-graphy/graphy-engine/img/square-jisuan.png
  29. BIN
      docs/dev/saga-graphy/graphy-engine/img/wenbenshixian.png
  30. 5 0
      docs/dev/saga-graphy/graphy-engine/style.md
  31. 3 0
      docs/dev/saga-graphy/graphy-engine/text.md
  32. 4 0
      docs/dev/saga-graphy/graphy-engine/transform.md
  33. 6 0
      docs/dev/saga-graphy/index.js
  34. 7 0
      docs/dev/saga-graphy/system-diagram/README.md
  35. BIN
      docs/dev/saga-graphy/system-diagram/img/factoryAndParser.png
  36. BIN
      docs/dev/saga-graphy/system-diagram/img/systemdiagram.png
  37. BIN
      docs/setup/centos/server/img/pg_0001.png
  38. BIN
      docs/setup/centos/server/img/pg_0002.png
  39. BIN
      docs/setup/centos/server/img/python3_0005.png
  40. BIN
      docs/setup/centos/server/img/python3_001.png
  41. BIN
      docs/setup/centos/server/img/python3_0010.png
  42. BIN
      docs/setup/centos/server/img/python3_0011.png
  43. BIN
      docs/setup/centos/server/img/python3_0012.png
  44. BIN
      docs/setup/centos/server/img/python3_0013.png
  45. BIN
      docs/setup/centos/server/img/python3_0014.png
  46. BIN
      docs/setup/centos/server/img/python3_0015.png
  47. BIN
      docs/setup/centos/server/img/python3_0016.png
  48. BIN
      docs/setup/centos/server/img/python3_002.png
  49. BIN
      docs/setup/centos/server/img/python3_003.png
  50. BIN
      docs/setup/centos/server/img/python3_004.png
  51. BIN
      docs/setup/centos/server/img/python3_006.png
  52. BIN
      docs/setup/centos/server/img/python3_007.png
  53. BIN
      docs/setup/centos/server/img/python3_008.png
  54. BIN
      docs/setup/centos/server/img/python3_009.png
  55. BIN
      docs/setup/centos/server/img/tomcat_setenv_001.png
  56. BIN
      docs/setup/centos/server/img/tomcat_setenv_002.png
  57. 6 0
      docs/setup/centos/server/jdk.md
  58. 71 4
      docs/setup/centos/server/postgresql.md
  59. 152 3
      docs/setup/centos/server/python.md
  60. 16 4
      docs/setup/centos/server/tomcat.md
  61. BIN
      docs/setup/windows/server/img/env-setting_001.jpg
  62. BIN
      docs/setup/windows/server/img/env-setting_002.jpg
  63. BIN
      docs/setup/windows/server/img/jdk-setting_001.jpg
  64. BIN
      docs/setup/windows/server/img/jdk-test_001.jpg
  65. BIN
      docs/setup/windows/server/img/jdk_001.jpg
  66. BIN
      docs/setup/windows/server/img/jdk_002.jpg
  67. BIN
      docs/setup/windows/server/img/jdk_003.jpg
  68. BIN
      docs/setup/windows/server/img/jdk_004.jpg
  69. BIN
      docs/setup/windows/server/img/jdk_005.jpg
  70. BIN
      docs/setup/windows/server/img/run-cmd.jpg
  71. 63 5
      docs/setup/windows/server/jdk.md
  72. 2 1
      docs/setup/windows/server/nginx.md
  73. 10 2
      package.json
  74. 18 0
      tsconfig.json

+ 32 - 0
docs/.vuepress/components/example/web/graph/DrawLine1.vue

@@ -0,0 +1,32 @@
+<template>
+    <canvas id="drawLine1" width="800" height="100" />
+</template>
+
+<script lang="ts">
+    import { SCanvasView, SColor, SPainter } from "@saga-web/draw/lib";
+
+    class TestView extends SCanvasView {
+
+        constructor() {
+            super("drawLine1")
+        }
+
+        onDraw(canvas: SPainter): void {
+            // 在此编写绘制操作相关命令
+            canvas.drawLine(0,0, 100, 100);
+
+            canvas.pen.lineWidth = 1;
+            canvas.pen.dashOffset += 10;
+            canvas.pen.lineDash = [25, 5, 10, 30];
+            canvas.drawLine(200, 50, 400, 50);
+
+            this.update();
+        }
+    }
+
+    export default {
+        mounted() {
+            new TestView();
+        }
+    }
+</script>

+ 48 - 0
docs/.vuepress/components/example/web/graph/DrawLine2.vue

@@ -0,0 +1,48 @@
+<template>
+    <canvas id="drawLine2" width="800" height="100" />
+</template>
+
+<script lang="ts">
+    import { SCanvasView, SColor, SPainter } from "@saga-web/draw/lib";
+
+    class TestView extends SCanvasView {
+
+        constructor() {
+            super("drawLine2")
+        }
+
+        onDraw(canvas: SPainter): void {
+            // 在此编写绘制操作相关命令
+            canvas.drawLine(0,0, 100, 100);
+
+            canvas.pen.lineWidth = 1;
+
+            canvas.pen.color = SColor.Blue;
+            for (let i = 0; i < 360; i += 10) {
+                let q = i * Math.PI / 180;
+                canvas.drawLine(
+                    200,
+                    50,
+                    200 + 50 * Math.cos(q),
+                    50 + 50 * Math.sin(q));
+            }
+
+            canvas.pen.color = SColor.Red;
+            for (let i = 0; i < 360; i += 10) {
+                let q1 = i * Math.PI / 180;
+                let q2 = (i + 120) * Math.PI / 180;
+                canvas.drawLine(
+                    350 + 50 * Math.cos(q1),
+                    50 + 50 * Math.sin(q1),
+                    350 + 50 * Math.cos(q2),
+                    50 + 50 * Math.sin(q2));
+            }
+        }
+    }
+
+    export default {
+        mounted() {
+            new TestView();
+        }
+    }
+</script>

+ 24 - 0
docs/.vuepress/components/example/web/graph/DrawPolyline1.vue

@@ -0,0 +1,24 @@
+<template>
+    <canvas id="drawPolyline1" width="800" height="100" />
+</template>
+
+<script lang="ts">
+    import {SCanvasView, SColor, SPainter, SPoint} from "@saga-web/draw/lib";
+
+    class TestView extends SCanvasView {
+        arr:SPoint[]=[new SPoint(10,10),new SPoint(10,40),new SPoint(30,30)]
+        constructor() {
+            super("drawPolyline1")
+        }
+
+        onDraw(canvas: SPainter): void {
+            canvas.drawPolyline(this.arr);
+        }
+    }
+
+    export default {
+        mounted() {
+            new TestView();
+        }
+    }
+</script>

+ 48 - 0
docs/.vuepress/components/example/web/graph/DrawRect1.vue

@@ -0,0 +1,48 @@
+<template>
+    <canvas id="drawRect1" width="800" height="180" />
+</template>
+
+<script lang="ts">
+    import { SCanvasView, SColor, SPainter, SPoint, SRect, SSize } from "@saga-web/draw/lib";
+
+    class TestView extends SCanvasView {
+
+        constructor() {
+            super("drawRect1")
+        }
+
+        onDraw(canvas: SPainter): void {
+            canvas.pen.color = SColor.Blue;
+            canvas.brush.color = SColor.Red;
+            canvas.drawRect(10, 10, 80, 80);
+
+            canvas.pen.color = SColor.Transparent;
+            canvas.brush.color = SColor.Red;
+            canvas.drawRect(new SPoint(110, 10), new SSize(80, 80));
+
+            canvas.pen.color = SColor.Blue;
+            canvas.brush.color = SColor.Transparent;
+            canvas.drawRect(new SRect(210, 10, 80, 80));
+
+            canvas.pen.lineWidth = 1;
+            canvas.pen.color = SColor.Blue;
+            canvas.brush.color = SColor.Transparent;
+            for (let i = 1; i < 100; i += 10) {
+                canvas.drawRect(310 + i, i, 80, 80);
+            }
+
+            canvas.pen.lineWidth = 2;
+            canvas.pen.color = SColor.Blue;
+            canvas.brush.color = SColor.Red;
+            for (let i = 1; i < 100; i += 10) {
+                canvas.drawRect(510 + i, i, 80, 80);
+            }
+        }
+    }
+
+    export default {
+        mounted() {
+            new TestView();
+        }
+    }
+</script>

+ 15 - 4
docs/.vuepress/config.js

@@ -10,8 +10,17 @@ module.exports = {
     title: "数字化交付开发文档",
     description: "上格云数字化交付开发文档",
     base: "/doc/",
-    // plugins: ["@vuepress/last-updated"],
-    plugins: ['@vuepress/back-to-top'],
+    plugins: [
+        "@vuepress/last-updated",
+        "plugin-back-to-top",
+        [
+            'vuepress-plugin-typescript',
+            {
+                tsLoaderOptions: {
+                },
+            },
+        ],
+    ],
     markdown: {
         lineNumbers: true
     },
@@ -41,7 +50,8 @@ module.exports = {
                     {
                         text: "Web开发",
                         items: [
-                            { text: "系统图引擎", link: "/dev/saga-graphy/" }
+                            { text: "图形引擎", link: "/dev/saga-graphy/" },
+                            { text: "建筑信息图", link: "/dev/saga-big/" }
                         ]
                     },
                     {
@@ -74,7 +84,8 @@ module.exports = {
                     {
                         text: "Web开发",
                         items: [
-                            { text: "图形引擎", link: "http://adm.sagacloud.cn:8080/api/web/graphy/" }
+                            { text: "图形引擎", link: "http://adm.sagacloud.cn:8080/api/web/graphy/" },
+                            { text: "建筑信息图", link: "http://adm.sagacloud.cn:8080/api/web/big/" }
                         ]
                     },
                     {

+ 14 - 0
docs/.vuepress/enhanceApp.js

@@ -0,0 +1,14 @@
+// .vuepress/enhanceApp.js
+// 全局注册 Element 组件库
+
+import Vue from 'vue'
+import Element from 'element-ui'
+import 'element-ui/lib/theme-chalk/index.css'
+
+export default ({
+        Vue,
+        options,
+        router
+    }) => {
+    Vue.use(Element)
+}

+ 5 - 0
docs/.vuepress/shims-vue.d.ts

@@ -0,0 +1,5 @@
+// .vuepress/shims-vue.d.ts
+declare module '*.vue' {
+    import Vue from 'vue'
+    export default Vue
+}

+ 1 - 1
docs/dev/data-center/relations/topology/sys_block.md

@@ -142,4 +142,4 @@ select public.sys_block('Pj1101010015','Bd11010100153c05821ed8fd11e9b8f2d79d0a5b
 ## 结果展示
 ![原模型图](img/1.png)
 ![抽象后的图](img/2.png)
-![确定完流向的图](img/3.png)
+![确定完流向的图](img/3.png)

+ 2 - 0
docs/dev/saga-big/README.md

@@ -0,0 +1,2 @@
+# 建筑信息图
+

+ 1 - 5
docs/dev/saga-graphy/README.md

@@ -1,5 +1 @@
-系统图引擎
-1,绘图引擎
-2,场景管理
-3,楼层平面图
-4,系统图
+# 图形引擎

+ 3 - 0
docs/dev/saga-graphy/feng-map/typeIdMap.md

@@ -0,0 +1,3 @@
+# 地图要素分类编码
+
+

+ 29 - 2
docs/dev/saga-graphy/graphy-engine/README.md

@@ -1,10 +1,37 @@
-绘图引擎
-
+# 绘图引擎
 
 1.引擎基本结构
+
+![绘图引擎结构](./img/draw-engine.png)
+
+多引擎结构
+
+![多引擎结构](./img/mutli-engine.png)
+
+绘制结构
+
+![绘制结构](./img/huizhijiegou.png)
+
 2.绘制操作,特殊说明:path/image/text;画笔/画刷;字体/字号/对齐方式;案例:线/圆/矩形/多边形/饼图(实现)/椭圆/圆角矩形;
+
+画刷实现结构
+
+![画刷实现结构](./img/huashuajiegou.png)
+
+画笔实现结构
+
+![画笔实现结构](./img/huabishixian.png)
+
+文本实现结构
+
+![文本实现结构](./img/wenbenshixian.png)
+
 3.颜色与过渡
+
 4.矩阵变换
+
 5.融合效果
+
 6.特效:投影/发光/倒影/a过渡/等
+
 7.实现自定义绘图引擎:如image绘图引擎

+ 142 - 9
docs/dev/saga-graphy/graphy-engine/arrow.md

@@ -2,6 +2,18 @@
 
 ## 函数入参
 
+传入线段和末端样式style{begin?:SArrowStyleType,end?:SArrowStyleType}
+
+drawArrowLine(line: SLine, style?: SArrow):void
+
+传入线段的两个点和末端样式
+
+drawArrowLine(p1: SPoint, p2: SPoint, style?: SArrow): void;
+
+传入线段的两个点的坐标值和末端样式
+
+drawArrowLine(x1: number,y1: number,x2: number,y2: number,style?: SArrow): void;
+
 ## 类型
 
 ### 无
@@ -16,15 +28,36 @@
 
 #### 画法描述
 
-1.将canvas坐标转换为数学坐标系坐标,将纵坐标取反即可;
-
-2.将坐标系平移至线段终点;
-
-3.计算出线段与x轴夹角,并将坐标系旋转至x轴与线段重合;
-
-4.设定箭头夹角为θ=π/3,末端三角形边长d=5,则箭头上下端与x轴夹角为π/6,根据此角度与边长计算上下端坐标;
-
-5.直接绘制原点与上下端连线即可
+1.将坐标系平移至线段终点;
+
+2.计算出线段与x轴夹角,并将坐标系旋转至x轴与线段重合;
+
+3.设定箭头夹角为θ=π/2,末端三角形边长d=5,则箭头上下端与x轴夹角为π/4,根据此角度与边长计算上下端坐标;
+
+4.直接绘制原点与上下端连线的折线图形即可;
+
+![标准箭头计算](./img/basic-jisuan.png)
+
+```
+// 定义箭头长度
+const d = 5;
+// 箭头横坐标
+const x1 = d * Math.cos(Math.PI / 4);
+// 箭头纵坐标
+const y1 = d * Math.sin(Math.PI / 4);
+// 线段与x轴夹角
+const fo = Math.atan(line.dy / line.dx);
+const ang = line.dx >= 0 ? fo : fo + Math.PI;
+this.save();
+this.translate(line.x2, line.y2);
+this.rotate(ang);
+this.engine.drawPolyline([
+    new SPoint(-x1, y1),
+    new SPoint(0, 0),
+    new SPoint(-x1, -y1)
+]);
+this.restore();
+```
 
 ### 三角形
 
@@ -32,20 +65,120 @@
 
 ![三角形箭头](./img/triangle-arrow.png)
 
+#### 画法描述
+
+坐标点位置计算与标准箭头类似,只是箭头夹角θ=π/6,且最后绘制图形为多边形
+
+```
+// 定义箭头长度
+const d = 5;
+// 箭头横坐标
+const x1 = d * Math.cos(Math.PI / 4);
+// 箭头纵坐标
+const y1 = d * Math.sin(Math.PI / 4);
+// 线段与x轴夹角
+const fo = Math.atan(line.dy / line.dx);
+const ang = line.dx >= 0 ? fo : fo + Math.PI;
+this.save();
+this.translate(line.x2, line.y2);
+this.rotate(ang);
+this.engine.drawPolygon([
+    new SPoint(-x1, y1),
+    new SPoint(0, 0),
+    new SPoint(-x1, -y1)
+]);
+this.restore();
+```
+
 ### 圆
 
 绘制如下类型箭头,通过画笔颜色和画刷颜色控制笔触颜色和填充颜色
 
 ![圆形箭头](./img/circle-arrow.png)
 
+#### 画法描述
+
+1.将坐标系平移至线段终点;
+
+2.设定圆半径r=5,计算圆心坐标为(-r,0),绘制圆形即可
+
+![圆形计算](./img/circle-jisuan.png)
+
+```
+// 定义箭头长度
+const d = 5;
+// 线段与x轴夹角
+const fo = Math.atan(line.dy / line.dx);
+const ang = line.dx >= 0 ? fo : fo + Math.PI;
+this.save();
+this.translate(line.x2, line.y2);
+this.rotate(ang);
+this.engine.drawCircle(-d / 2, 0, d / 2);
+this.restore();
+```
+
 ### 菱形
 
 绘制如下类型箭头,通过画笔颜色和画刷颜色控制笔触颜色和填充颜色
 
 ![菱形箭头](./img/diamond-arrow.png)
 
+#### 画法描述
+
+坐标点位置计算与标准箭头类似,只需多计算一个点,绘制图形为多边形
+
+![菱形计算](./img/diamond-jisuan.jpg)
+
+```
+// 定义箭头长度
+const d = 5;
+// 箭头横坐标
+const x1 = d * Math.cos(Math.PI / 4);
+// 箭头纵坐标
+const y1 = d * Math.sin(Math.PI / 4);
+// 线段与x轴夹角
+const fo = Math.atan(line.dy / line.dx);
+const ang = line.dx >= 0 ? fo : fo + Math.PI;
+this.save();
+this.translate(line.x2, line.y2);
+this.rotate(ang);
+this.engine.drawPolygon([
+    new SPoint(-x1, y1),
+    new SPoint(0, 0),
+    new SPoint(-x1, -y1),
+    new SPoint(-Math.sqrt(2) * d, 0)
+]);
+this.restore();
+```
+
 ### 方形
 
 绘制如下类型箭头,通过画笔颜色和画刷颜色控制笔触颜色和填充颜色
 
 ![方形箭头](./img/square-arrow.png)
+
+#### 画法描述
+
+1.将坐标系平移至线段终点;
+
+2.可以计算四个顶点坐标,绘制多边形;亦可移至计算出的原点,直接绘制矩形;
+
+![方形计算](./img/square-jisuan.png)
+
+```
+// 定义箭头长度
+const d = 5;
+// 线段与x轴夹角
+const fo = Math.atan(line.dy / line.dx);
+const ang = line.dx >= 0 ? fo : fo + Math.PI;
+this.save();
+this.translate(line.x2, line.y2);
+this.rotate(ang);
+this.engine.drawPolygon([
+    new SPoint(-d, d / 2),
+    new SPoint(0, d / 2),
+    new SPoint(0, -d / 2),
+    new SPoint(-d, -d / 2)
+]);
+this.restore();
+```

+ 4 - 0
docs/dev/saga-graphy/graphy-engine/clip.md

@@ -0,0 +1,4 @@
+# 裁剪
+::: details 目录
+[[toc]]
+:::

+ 4 - 0
docs/dev/saga-graphy/graphy-engine/custom-engine.md

@@ -0,0 +1,4 @@
+# 自定义引擎
+::: details 目录
+[[toc]]
+:::

+ 37 - 7
docs/dev/saga-graphy/graphy-engine/draw.md

@@ -1,13 +1,43 @@
-# 绘制
+# 绘制形状
+::: details 目录
+[[toc]]
+:::
 
-## 形状
+## 直线
 
-## 路径
+<example-web-graph-DrawLine1 /> 
 
-## 文本
+::: details 查看代码
 
-## 图像
+<<< @/docs/.vuepress/components/example/web/graph/DrawLine1.vue
 
-## 蒙版
+:::
 
- 顺时针/逆时针 挖洞实现 
+## 折线
+<example-web-graph-DrawPolyline1 /> 
+
+::: details 查看代码
+
+<<< @/docs/.vuepress/components/example/web/graph/DrawPolyline1.vue
+
+:::
+
+## 矩形
+
+<example-web-graph-DrawRect1 /> 
+
+::: details 查看代码
+
+<<< @/docs/.vuepress/components/example/web/graph/DrawRect1.vue
+
+:::
+
+## 圆
+
+
+
+## 椭圆
+
+## 多边形
+
+## 路径

+ 4 - 0
docs/dev/saga-graphy/graphy-engine/gradient.md

@@ -2,6 +2,10 @@
 
 渐变是一种有规律性的变化;引擎中分为线性渐变和放射性渐变
 
+渐变实现结构图
+
+![渐变结构](./img/jianbianjiegou.png)
+
 ## 线性渐变
 
 定义从上到下的渐变,作为矩形的填充样式:

+ 2 - 0
docs/dev/saga-graphy/graphy-engine/image.md

@@ -0,0 +1,2 @@
+# 绘制图片
+

BIN
docs/dev/saga-graphy/graphy-engine/img/basic-jisuan.png


BIN
docs/dev/saga-graphy/graphy-engine/img/circle-jisuan.png


BIN
docs/dev/saga-graphy/graphy-engine/img/diamond-jisuan.jpg


BIN
docs/dev/saga-graphy/graphy-engine/img/draw-engine.png


BIN
docs/dev/saga-graphy/graphy-engine/img/huabishixian.png


BIN
docs/dev/saga-graphy/graphy-engine/img/huashuajiegou.png


BIN
docs/dev/saga-graphy/graphy-engine/img/huizhijiegou.png


BIN
docs/dev/saga-graphy/graphy-engine/img/jianbianjiegou.png


BIN
docs/dev/saga-graphy/graphy-engine/img/mutli-engine.png


BIN
docs/dev/saga-graphy/graphy-engine/img/square-jisuan.png


BIN
docs/dev/saga-graphy/graphy-engine/img/wenbenshixian.png


+ 5 - 0
docs/dev/saga-graphy/graphy-engine/style.md

@@ -0,0 +1,5 @@
+# 颜色与样式
+::: details 目录
+[[toc]]
+:::
+

+ 3 - 0
docs/dev/saga-graphy/graphy-engine/text.md

@@ -0,0 +1,3 @@
+# 绘制文字
+
+

+ 4 - 0
docs/dev/saga-graphy/graphy-engine/transform.md

@@ -0,0 +1,4 @@
+# 变形
+::: details 目录
+[[toc]]
+:::

+ 6 - 0
docs/dev/saga-graphy/index.js

@@ -3,8 +3,14 @@ const content = [
         title: "绘图引擎",
         path: "/dev/saga-graphy/graphy-engine/",
         children: [
+            ["/dev/saga-graphy/graphy-engine/draw", "绘制形状"],
+            ["/dev/saga-graphy/graphy-engine/style", "颜色与样式"],
+            ["/dev/saga-graphy/graphy-engine/text", "绘制文字"],
+            ["/dev/saga-graphy/graphy-engine/image", "绘制图片"],
             ["/dev/saga-graphy/graphy-engine/gradient", "渐变"],
             ["/dev/saga-graphy/graphy-engine/composite", "融合"],
+            ["/dev/saga-graphy/graphy-engine/transform", "变型"],
+            ["/dev/saga-graphy/graphy-engine/clip", "裁剪"],
             ["/dev/saga-graphy/graphy-engine/arrow", "绘图指令-绘制带有箭头的线段"],
         ]
     },

+ 7 - 0
docs/dev/saga-graphy/system-diagram/README.md

@@ -1,4 +1,11 @@
 系统图
 
+系统图item继承关系
+
+![系统图实现结构](./img/systemdiagram.png)
+
+数据解析器与类的创建工厂
+
+![数据解析器与类的创建工厂](./img/factoryAndParser.png)
 
 数据格式

BIN
docs/dev/saga-graphy/system-diagram/img/factoryAndParser.png


BIN
docs/dev/saga-graphy/system-diagram/img/systemdiagram.png


BIN
docs/setup/centos/server/img/pg_0001.png


BIN
docs/setup/centos/server/img/pg_0002.png


BIN
docs/setup/centos/server/img/python3_0005.png


BIN
docs/setup/centos/server/img/python3_001.png


BIN
docs/setup/centos/server/img/python3_0010.png


BIN
docs/setup/centos/server/img/python3_0011.png


BIN
docs/setup/centos/server/img/python3_0012.png


BIN
docs/setup/centos/server/img/python3_0013.png


BIN
docs/setup/centos/server/img/python3_0014.png


BIN
docs/setup/centos/server/img/python3_0015.png


BIN
docs/setup/centos/server/img/python3_0016.png


BIN
docs/setup/centos/server/img/python3_002.png


BIN
docs/setup/centos/server/img/python3_003.png


BIN
docs/setup/centos/server/img/python3_004.png


BIN
docs/setup/centos/server/img/python3_006.png


BIN
docs/setup/centos/server/img/python3_007.png


BIN
docs/setup/centos/server/img/python3_008.png


BIN
docs/setup/centos/server/img/python3_009.png


BIN
docs/setup/centos/server/img/tomcat_setenv_001.png


BIN
docs/setup/centos/server/img/tomcat_setenv_002.png


+ 6 - 0
docs/setup/centos/server/jdk.md

@@ -1,5 +1,6 @@
 # JDK
 ## 下载
+### 官方网站下载
 官网地址:[https://www.oracle.com](https://www.oracle.com)
 
 下载页面:[https://www.oracle.com/technetwork/java/javase/downloads/index.html](https://www.oracle.com/technetwork/java/javase/downloads/index.html)
@@ -12,6 +13,11 @@
 [root@localhost ~] wget https://download.oracle.com/otn/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm
 ```
 
+### 百度网盘下载:
+链接:[https://pan.baidu.com/s/13yU3tCqLERR9yhQ-nDzKoA](https://pan.baidu.com/s/13yU3tCqLERR9yhQ-nDzKoA)
+
+提取码:fhcv
+
 ## 安装
 
 使用 rpm 命令安装 JDK-8u181 。

+ 71 - 4
docs/setup/centos/server/postgresql.md

@@ -4,7 +4,7 @@
 
 下载地页面:[https://www.postgresql.org/download/linux/redhat/](https://www.postgresql.org/download/linux/redhat/)
 
-## 安装
+## 在线安装
 
 使用yum命令添加PostgreSQL软件源。
 
@@ -37,9 +37,14 @@
 首先,切换到postgres用户。然后执行修改用户密码SQL语句。其中“postgres”为要修改密码的用户,“123456”为用户的密码。
 ```
 [root@localhost ~] su - postgres
-bash-4.2$ psql -c "alter user postgres with password '123456'"
+-bash-4.2$ psql
+postgres=# alter user postgres with password '123456';
+postgres-# \q
+
+* 注意设置密码后面的分号不可以忽略
 ```
 
+
 ### 修改配置文件
 
 打开并编辑文件“/var/lib/pgsql/12/data/postgresql.conf”。将“#listen_addresses = 'localhost'”改为“listen_addresses = '*'”
@@ -50,7 +55,6 @@ bash-4.2$ psql -c "alter user postgres with password '123456'"
 
 ### 安装Python3支持包
 如果不需要数据库Python3支持,则忽略该步骤。
-
 ```
 [root@localhost ~] yum install postgresql12-plpython3
 ```
@@ -58,4 +62,67 @@ bash-4.2$ psql -c "alter user postgres with password '123456'"
 要使用python扩展,需要打开数据库,执行如下SQL语句。
 ``` sql
 CREATE extension plpython3u;
-```
+```
+
+## 离线安装
+
+在有网的CentOS机器上新建一个文件夹 使用yum把rpm 的安装包下载到 新建文件夹
+```
+mkdir pg12_rpm_packs
+```
+
+设置软件源
+```
+[root@localhost ~] yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
+```
+
+
+下载pg server/client,contrib和其依赖的其他包,暂不安装:
+```
+yum install --downloadonly --downloaddir=./pg12_rpm_packs postgresql12-server postgresql12 postgresql12-contrib
+```
+下载后的rpm 包
+
+![requirements.txt](./img/pg_0001.png)
+
+压缩pg12_rpm_packs 文件夹
+```
+tar -czvf pg12_rpm_packs.tar.gz pg12_rpm_packs
+```
+导出至离线的centos 服务器并解压
+```
+tar -xzvf pg12_rpm_packs.tar.gz
+```
+ cd pg12_rpm_packs 进入文件夹 使用 rpm -ivh 进行rpm包安装 安装顺序如下
+ ```
+ rpm -ivh postgresql12-libs-12.3-1PGDG.rhel7.x86_64.rpm
+ rpm -ivh postgresql12-12.3-1PGDG.rhel7.x86_64.rpm
+ rpm -ivh postgresql12-server-12.3-1PGDG.rhel7.x86_64.rpm
+ rpm -ivh postgresql12-contrib-12.3-1PGDG.rhel7.x86_64.rpm
+```
+安装成功事例图 安装顺序错乱会看到提示需要先安装哪个依赖
+![requirements.txt](./img/pg_0002.png)
+
+###初始化数据库 配置请参考在线安装,操作是一样的
+
+
+### 安装离线Python3支持包
+
+在有网的服务器上指定文件下载
+```
+yum install --downloadonly --downloaddir=./pg12_rpm_packs postgresql12-plpython3
+```
+
+
+
+
+
+ 
+ 
+
+
+
+
+
+
+

+ 152 - 3
docs/setup/centos/server/python.md

@@ -2,9 +2,9 @@
 
 如果系统已经安装Python3,或不需要数据库支持Python3,则跳过该安装过程。
 
-## 安装
+## 在线安装
 
-CentOS7默认软件源中没有Python3,要安装Python3需首先安装epel软件源。
+CentOS7默认软件源中没有Python3,要安装Python3需首先安装epel软件源,非root账户下请使用 sudo yum install epel-release 
 ```
 [root@localhost ~] yum install epel-release
 ```
@@ -24,4 +24,153 @@ CentOS7默认软件源中没有Python3,要安装Python3需首先安装epel软
 [root@localhost ~] pip3 install shapely
 [root@localhost ~] pip3 install networkx
 [root@localhost ~] pip3 install jieba
-```
+```
+### 安装过程遇到的问题 
+
+
+
+## 离线安装
+离线安装Python3 是基于第三方的 Anaconda 来完成,首先在有网的机器把 Anaconda 下载下来官网地址
+```
+ https://www.anaconda.com/
+```
+选择个人开发版
+
+![选择现在的环境](./img/python3_001.png)
+
+点击下载
+![点击下载](./img/python3_002.png)
+
+点击下载会自定位到下载Anaconda的地方选择 Python3.7 
+![下载Anaconda](./img/python3_003.png)
+
+下载完成会显示一个.sh 的文件,它在linux 中是可以直接执行的
+![.sh 的文件](./img/python3_004.png)
+
+把.sh  的文件导入需要部署的服务器,例子 :文件放在/opt 下
+![.sh 的文件](./img/python3_0005.png)
+
+执行命令安装:bash
+```
+bash ~/opt/Anaconda3-2020.02-Linux-x86_64.sh
+```
+安装过程中需要手动点击 enter  来辅助继续安装
+![.sh 的文件](./img/python3_006.png)
+
+遇到Do you accept the license terms?输入yes 紧接着后面需要继续点击enter
+![.sh 的文件](./img/python3_007.png)
+
+下面的提示代表安装完成
+![.sh 的文件](./img/python3_008.png)
+
+### 配置环境变量
+找到anaconda 安装的路径 例子是在~/ 下
+
+![.sh 的文件](./img/python3_0010.png)
+
+
+在profile 文件中添加环境变量,打开文件
+```
+sudo vi /etc/profile
+```
+输入上述命令后再输入i,会看到如下标识:
+![.sh 的文件](./img/python3_009.png)
+
+末尾添加:export PATH=
+```
+export PATH=~/anaconda3/bin:$PATH
+```
+
+最后重新载入配置文件,输入
+```
+source /etc/profile
+```
+### 验证安装结果
+输入python会看到下面的提示代表安装成功或者输入python3
+![.sh 的文件](./img/python3_0011.png)
+
+或
+
+![.sh 的文件](./img/python3_0012.png)
+
+
+
+## 离线安装依赖包
+
+在已经安装好python3的有网的服务器上,利用生成requirements.txt(记录所有依赖包及其精确的版本号)用pip 或pip3生成
+```
+pip3 freeze >requirements.txt
+```
+可以看到生成的.text 文件
+![requirements.txt](./img/python3_0013.png)
+
+读取.text 执行下载安装包,下载过程可能缓慢可以使用镜像下载,例子中如下
+清华大型镜像: https://pypi.tuna.tsinghua.edu.cn/simple
+```
+pip3 download -d packages  -i https://pypi.tuna.tsinghua.edu.cn/simple   -r requirements.txt
+```
+不使用镜像方法 packages文件夹,如果没有会在当前路径下生成,对应储存依赖
+```
+pip3 download -d packages  -i  -r requirements.txt
+```
+
+处理使用 requirements.txt 还可以直接下载依赖,批量和单个下载差不多,下面例子单个下载 
+```
+pip3 download -d packages <package_name>
+```
+
+批量下载 把多个依赖包名直接放在后面即可
+```
+pip3 download -d packages <package_name>  <package_name> <package_name> <package_name>
+```
+下载完会生成一个packages名字的文件夹
+![requirements.txt](./img/python3_0014.png)
+
+文件中可以看到下载的依赖
+![requirements.txt](./img/python3_0015.png)
+
+把文件夹packages打包 
+```
+tar -czvf packages.tar.gz packages
+```
+把packages.tar.gz和 requirements.txt 文件一同导入没有网络的私有服务 解压packages.tar.gz
+tar -xzvf packages.tar.gz
+
+解压后的 packages 和requirements.txt在同一个目录下 执行安装
+```
+pip3 install --no-index --find-links=./packages -r requirements.txt
+```
+或单个、多个指定名称进行安装
+```
+pip3 install --no-index --find-links= ./packages   <package_name>
+```
+
+安装完成可以测试一下程序 比如进入python3环境 测试依赖是否存在 例子中添加的依赖 vg ,没有报错代表依赖安装成功
+
+![requirements.txt](./img/python3_0016.png)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+

+ 16 - 4
docs/setup/centos/server/tomcat.md

@@ -5,16 +5,16 @@
 
 下载地址:[https://tomcat.apache.org/download-90.cgi](https://tomcat.apache.org/download-90.cgi)
 
-下载地址:[http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz](http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz)
+下载地址:[https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz](http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz)
 
 使用 wget 命令下载 Tomcat9 。
 ```
-[root@localhost ~] wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz
+[root@localhost ~] wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
 ```
 
-## 安装
+## 在线安装
 ```
-[root@localhost ~] tar xvf apache-tomcat-9.0.27.tar.gz -C /opt
+[root@localhost ~] tar xvf apache-tomcat-9.0.34.tar.gz -C /opt
 ```
 
 ## 配置
@@ -93,4 +93,16 @@ WantedBy=multi-user.target
 [root@localhost ~] systemctl disable tomcat
 ```
 
+### 自定义读取yml文件配置
+打开/opt/tomcat9/bin 新建文件名为setenv.sh
+
+![自定义读取yml文件配置](./img/tomcat_setenv_001.png)
+
+文件内容 active=prod 等号后面是读取的  后置为prod 的yml文件
+```
+export CATALINA_OPTS="$CATALINA_OPTS -Dspring.profiles.active=prod"
+```
+![自定义读取yml文件配置](./img/tomcat_setenv_002.png)
+
+
 ## 常见问题处理

BIN
docs/setup/windows/server/img/env-setting_001.jpg


BIN
docs/setup/windows/server/img/env-setting_002.jpg


BIN
docs/setup/windows/server/img/jdk-setting_001.jpg


BIN
docs/setup/windows/server/img/jdk-test_001.jpg


BIN
docs/setup/windows/server/img/jdk_001.jpg


BIN
docs/setup/windows/server/img/jdk_002.jpg


BIN
docs/setup/windows/server/img/jdk_003.jpg


BIN
docs/setup/windows/server/img/jdk_004.jpg


BIN
docs/setup/windows/server/img/jdk_005.jpg


BIN
docs/setup/windows/server/img/run-cmd.jpg


+ 63 - 5
docs/setup/windows/server/jdk.md

@@ -1,7 +1,65 @@
-# JDK
-## 下载
-官网地址:[https://www.oracle.com](https://www.oracle.com)
+# 下载
+## 官网下载:
 
-下载页面:[https://www.oracle.com/technetwork/java/javase/downloads/index.html](https://www.oracle.com/technetwork/java/javase/downloads/index.html)
+JDK官网地址:[https://www.oracle.com/technetwork/java/javase/downloads/index.html](https://www.oracle.com/technetwork/java/javase/downloads/index.html)
 
-下载地址:[https://download.oracle.com/otn/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm](https://download.oracle.com/otn/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm)
+下载地址: [http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-windows-x64.exe?AuthParam=1531898962_ca046137dbc04262c3c8bca931c46636](http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-windows-x64.exe?AuthParam=1531898962_ca046137dbc04262c3c8bca931c46636)
+
+## 百度网盘下载:
+链接:[https://pan.baidu.com/s/13yU3tCqLERR9yhQ-nDzKoA](https://pan.baidu.com/s/13yU3tCqLERR9yhQ-nDzKoA)
+
+提取码:fhcv
+
+
+# 安装
+
+执行安装程序“jdk-8u181-windows-x64.exe”启动安装向导;
+
+![安装 JDK](./img/jdk_001.jpg)
+
+点击“下一步”按钮;
+
+![安装 JDK](./img/jdk_002.jpg)
+
+输入或点击“更改”按钮,设置 JDK 的安装文件夹。点击“下一步”按钮开始安装JDK;
+
+![安装 JDK](./img/jdk_003.jpg)
+
+安装过程中会出现 Oracle 许可证变更确认框。点击“确定”按钮;
+
+![安装 JDK](./img/jdk_004.jpg)
+
+点击“更改”按钮,设置 jre 的安装文件夹;
+
+![安装 JDK](./img/jdk_005.jpg)
+
+点击“关闭”按钮,完成JDK的安装;
+
+# 配置环境变量
+
+鼠标右击系统桌面的“此电脑”图标,在弹出菜单中选择“属性”打开控制面板;
+
+![配置 JDK](./img/env-setting_001.jpg)
+
+点击“高级系统设置”;
+
+![配置 JDK](./img/env-setting_002.jpg)
+
+点击“高级”系统设置,点击“环境变量”按钮,打开环境变量设置窗口;
+
+![配置 JDK](./img/jdk-setting_001.jpg)
+
+在系统变量下新建变量“JAVA_HOME”变量值指向JDK安装的文件夹,点击“确定”按钮。
+
+将“%JAVA_HOME%\bin;”,加入到环境变量“Path”,
+
+# 测试配置是否成功
+按 Win 键 + R 键,打开 Windows 系统的“运行”窗口;
+
+![测试 JDK](./img/run-cmd.jpg)
+
+在打开输入框输入命令“cmd”,点击“确定”按钮打开命令窗口;
+
+![测试 JDK](./img/jdk-test_001.jpg)
+
+输入 java –version (java后空一格) 按回车(Enter)键 。如果出现 JDK 版本信息,即JDK环境配置成功。

+ 2 - 1
docs/setup/windows/server/nginx.md

@@ -1 +1,2 @@
-# Nginx
+# Nginx
+测试

+ 10 - 2
package.json

@@ -12,13 +12,21 @@
     "publish": "node publish.js"
   },
   "dependencies": {
+    "@saga-web/base": "^2.1.9",
+    "@saga-web/draw": "^2.1.80",
+    "@saga-web/graphy": "^2.1.52",
     "axios": "^0.18.1",
     "element-ui": "^2.12.0",
-    "vue": "^2.6.10"
+    "vue": "^2.6.10",
+    "vue-property-decorator": "^8.4.2"
   },
   "devDependencies": {
+    "@vuepress/plugin-back-to-top": "^1.2.0",
     "node-ssh": "^6.0.0",
+    "ts-loader": "^7.0.4",
+    "typescript": "^3.9.2",
     "vuepress": "^1.2.0",
-    "@vuepress/plugin-back-to-top": "^1.2.0"
+    "vuepress-plugin-typescript": "^0.2.0",
+    "vuepress-types": "^0.9.2"
   }
 }

+ 18 - 0
tsconfig.json

@@ -0,0 +1,18 @@
+{
+    "compilerOptions": {
+        "types": ["vuepress-types"],
+        "target": "es5",                            // Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'.
+        "module": "commonjs",                       // Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'.
+        "rootDir": "./docs",
+//        "outDir": "./lib",                          // 编译后生成的文件目录
+        "strict": true,                             // 开启严格的类型检测
+        "declaration": true,                        // 生成 `.d.ts` 文件
+        "experimentalDecorators": true,             // 开启装饰器
+        "removeComments": true,                     // 去除注释
+        "noImplicitAny": true,                      // 在表达式和声明上有隐含的 any类型时报错。
+        "esModuleInterop": true,                    // 支持别名导入
+        "moduleResolution": "node"                  // 此处设置为node,才能解析import xx from 'xx'
+    },
+    "include": ["docs/.vuepress/**/*.ts", "docs/.vuepress/**/*.vue"],
+    "exclude": ["node_modules"]
+}