Просмотр исходного кода

Merge branch 'master' of http://47.111.81.118:3000/uskycloud/usky-dev-doc into feature-zjy

zhaojinyu 7 месяцев назад
Родитель
Сommit
eb0b91b6bd
100 измененных файлов с 185 добавлено и 6654 удалено
  1. 64 1
      README.md
  2. 0 38
      _book/.gitignore
  3. 0 14
      _book/bin/start.sh
  4. BIN
      _book/gitbook/fonts/fontawesome/FontAwesome.otf
  5. BIN
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.eot
  6. 0 196
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.svg
  7. BIN
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
  8. BIN
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.woff
  9. BIN
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
  10. 0 240
      _book/gitbook/gitbook-plugin-fontsettings/fontsettings.js
  11. 0 291
      _book/gitbook/gitbook-plugin-fontsettings/website.css
  12. 0 135
      _book/gitbook/gitbook-plugin-highlight/ebook.css
  13. 0 434
      _book/gitbook/gitbook-plugin-highlight/website.css
  14. 0 11
      _book/gitbook/gitbook-plugin-livereload/plugin.js
  15. 0 6
      _book/gitbook/gitbook-plugin-lunr/lunr.min.js
  16. 0 59
      _book/gitbook/gitbook-plugin-lunr/search-lunr.js
  17. 0 6
      _book/gitbook/gitbook-plugin-search/lunr.min.js
  18. 0 50
      _book/gitbook/gitbook-plugin-search/search-engine.js
  19. 0 35
      _book/gitbook/gitbook-plugin-search/search.css
  20. 0 213
      _book/gitbook/gitbook-plugin-search/search.js
  21. 0 90
      _book/gitbook/gitbook-plugin-sharing/buttons.js
  22. 0 0
      _book/gitbook/gitbook.js
  23. BIN
      _book/gitbook/images/apple-touch-icon-precomposed-152.png
  24. BIN
      _book/gitbook/images/favicon.ico
  25. 0 0
      _book/gitbook/style.css
  26. 0 0
      _book/gitbook/theme.js
  27. 0 276
      _book/index.html
  28. 0 0
      _book/search_index.json
  29. BIN
      _book/技术分享/分布式时序数据库InfluxDB.docx
  30. BIN
      _book/项目架构/img.png
  31. BIN
      _book/项目架构/img_1.png
  32. 0 334
      _book/项目架构/开发流程.html
  33. 1 0
      book.json
  34. 6 0
      package-lock.json
  35. 0 0
      会议记录/[20220404]管理周会.md
  36. 0 28
      会议记录/[20220406] 分布式框架讨论.md
  37. 0 45
      会议记录/[20220407]闵行项目系统指标编制.md
  38. 0 117
      会议记录/[20220412] 技术研讨会议纪要.md
  39. 0 51
      会议记录/[20220418]会议纪要.md
  40. 0 289
      会议记录/[20220420]运营中心大屏功能需求方案.md
  41. 0 17
      会议记录/[20220421] 微服务技术分享.md
  42. 0 139
      会议记录/[20220424] 会议纪要.md
  43. 0 5
      会议记录/[20220426]公司培训.md
  44. 0 1
      会议记录/[20220428]徐言秋.md
  45. 0 48
      会议记录/[20220507]东信交付讨论.md
  46. 0 213
      会议记录/[20220509]防疫项目申报创意整理.md
  47. 0 22
      会议记录/[20220524]派米雷项目.md
  48. 0 11
      会议记录/[20220531]世茂沟通会议.md
  49. 0 65
      会议记录/[20220606]管理会议.md
  50. 0 59
      会议记录/[20220613]管理会议.md
  51. 0 149
      会议记录/[20220617]电力发布会总结.md
  52. 0 57
      会议记录/[20220627]管理会议.md
  53. 0 33
      会议记录/[20220628]台华新材.md
  54. 0 60
      会议记录/[20220704]管理会议.md
  55. 0 36
      会议记录/[20220706]太敬集团现场交流.md
  56. 0 315
      会议记录/[20220725]述职会议&总结.md
  57. 0 162
      会议记录/[20220805]世茂代码分析.md
  58. 0 21
      会议记录/[20220815]管理会议.md
  59. 0 35
      会议记录/[20220822]致远OA讨论.md
  60. 0 125
      会议记录/[20221017]公司会议.md
  61. 0 13
      会议记录/[20221021]普陀城运项目汇报.md
  62. 0 31
      会议记录/[20221021]研发中心周例会.md
  63. 0 39
      会议记录/[20221028]管理会议.md
  64. 0 16
      会议记录/[20221115]公司会议.md
  65. 0 32
      会议记录/[20221115]普陀城运系统调研.md
  66. 0 54
      会议记录/[20221122]普陀城运三方沟通.md
  67. 0 77
      会议记录/[20221231] 消防支队会议.md
  68. 0 17
      会议记录/[20230207]普陀城运项目.md
  69. 0 54
      会议记录/[20230218]东信问题沟通.md
  70. 0 29
      会议记录/[20230221]普陀监理会议.md
  71. 0 23
      会议记录/[20230310]山东党校会议.md
  72. 0 37
      会议记录/[20230515]火灾调查系统系统.md
  73. 0 37
      会议记录/[20230619]设施管理问题.md
  74. 0 4
      会议记录/[20230620]东信大数据模块方案分析.md
  75. 0 14
      会议记录/[20230626]普陀城云会议.md
  76. 0 56
      会议记录/[20230726]张江机器人谷会议.md
  77. 0 104
      会议记录/[20231110]快递驿站.md
  78. 0 6
      会议记录/[20240103]预约系统.md
  79. 0 59
      会议记录/智慧楼宇门户集成平台建设方案.md
  80. 0 95
      会议记录/涂鸦智慧楼宇资料.md
  81. 0 19
      会议记录/消防支队.md
  82. 0 85
      会议记录/消防物联网平台承接代理渠道可行性分析V0.1.md
  83. 0 12
      会议记录/消防设施物联网系统运行平台数据传输导则问题.md
  84. 0 54
      会议记录/软件著作申请.md
  85. 0 0
      团队制度/【产品规范】敏捷开发规范.md
  86. 0 42
      团队制度/【团队规范】研发中心制度.md
  87. 0 3
      备忘文件/Untitled 1.md
  88. 0 33
      备忘文件/Untitled.md
  89. 0 40
      备忘文件/专利草稿.md
  90. 0 0
      备忘文件/中控平台需求分析.md
  91. 0 52
      备忘文件/关于web站点和API站点分离还是共用问题.md
  92. 0 50
      备忘文件/关于园区平台模式思考.md
  93. 0 23
      备忘文件/宣讲材料.md
  94. 0 502
      开发管理/Mybatisplus搭建多租户模式.md
  95. 0 19
      开发管理/对于主页前端调整讨论.md
  96. 0 7
      开发管理/接口分析.md
  97. 0 373
      开发管理/电力录波和谐波.md
  98. 0 11
      开发管理/租户获取方法.md
  99. 114 0
      技术分享/Dify 部署安装.md
  100. 0 0
      技术分享/JSONRPC命令回调格式.md

+ 64 - 1
README.md

@@ -1,8 +1,71 @@
 # 永天开发团队文档中心 
 
+# 团队成员联系方式
 
+| 现团队成员 |             |                     |            |
+| ---------- | ----------- | ------------------- | ---------- |
+| 人员       | 电话        | 微信号              | 岗位       |
+| 王哲       | 16621197124 | ruoyu7124           | 产品       |
+| 韩正义     | 15122423833 | HZY19950212         | 后端       |
+| 王涛       | 13127578837 | flight_wt           | 前端       |
+| 张婷       | 18827277292 | zt525258661         | UI设计     |
+| 詹叶俊     | 13817141383 | wxid_aelu2xnwqghf21 | 后端       |
+| 方惠圣     | 15575941817 | fang1813914505      | 前端       |
+| 赵金雨     | 15638838328 | zjy1614271464       | 后端       |
+| 付宇川     | 13576528709 | Who-dares_wins      | 后端       |
+| 郭恩洲     | 17717355687 | mrguo_2010.         | 管理,架构 |
+| 周琪       | 13411463620 | O__--------__O      | 后端       |
 
-## 安装使用
+
+
+| 历史贡献成员 |             |              |      |
+| ------------ | ----------- | ------------ | ---- |
+| 人员         | 电话        | 微信号       | 岗位 |
+| 杨强         | 18835187483 | YQ2429759623 | 后端 |
+| 吉超博       | 17621295894 | b987253232   | 后端 |
+| 袁明明       | 13262908435 | Julia-YuanM  | 前端 |
+| 薛羽         | 13835969717 | gddlzyxy9527 | 测试 |
+| 陆文佳       | 19121036221 | Grant-J      | 测试 |
+
+
+
+# 常用工具
+
+| 名称         | 地址                                     | 备注 |
+| ------------ | ---------------------------------------- | ---- |
+| GIT 仓库     | http://47.111.81.118:3000/               |      |
+| mqtt服务     | http://47.98.201.73:18083/               |      |
+| 原型设计工具 | https://lanhuapp.com/                    |      |
+| 跳板机       | https://gateway.usky.cn/core/auth/login/ |      |
+|              |                                          |      |
+
+| 名称             | 地址                                                   | 备注 |
+| ---------------- | ------------------------------------------------------ | ---- |
+| 服务注册中心系统 | http://manager.usky.cn:8848/nacos                      |      |
+| API文档系统      | https://manager.usky.cn/prod-api/swagger-ui/index.html |      |
+| 服务监控系统     | http://manager.usky.cn:9100                            |      |
+| 持续集成发布系统 | http://192.168.10.69:8080/login                        |      |
+| Nexus maven私服  | http://101.133.214.75:8081/                            |      |
+|                  |                                                        |      |
+
+# 业务平台
+
+| 项目     | 归属平台 | 地址                                                         | 负责人        | 用户手册                             | 开发手册 | 部署地址 | 部署模式 | 源码地址                                                     |
+| -------- | -------- | ------------------------------------------------------------ | ------------- | ------------------------------------ | -------- | -------- | -------- | ------------------------------------------------------------ |
+|          | 智慧消防 | https://aiot.usky.cn:8443/YtIoT/      ypywtg ypywtg123       | 韩正义,吉超博 | 永天智慧消防物联网软件功能说明书.doc |          |          | 共有部署 | - 后端:http://47.111.81.118:3000/lixinru/YtIoT.git     -前端: |
+|          |          |                                                              |               |                                      |          |          |          |                                                              |
+| 伍继电力 | 智慧电力 | https://pcdev.ewoogi.com/adminfiv/#/  admin   admin123       | 韩正义,吉超博 |                                      |          |          | 共有部署 | http://172.16.120.227:10080/jichaobo/fiveep.git              |
+| 山东党校 | 智慧园区 | 向日葵访问:711018653   验证码:6789项目地址:http://10.108.34.2:80/sdpart | 杨强          |                                      |          |          | 私有部署 | http://47.111.81.118:3000/SD/SDPartySchool.git -             |
+| 东信园区 | 智慧园区 | https://smartpark.caih.com/vuedx/#/login.  admin. admin123。餐饮系统  https://smartpark.caih.com/deviceManager  设备设施系统 | 杨强          |                                      |          |          | 私有部署 | http://47.111.81.118:3000/yq/dm.git  -前端:http://47.111.81.118:wangtao/SD-party-school-separate.git 东信综合安防   http://47.111.81.118:wangtao/yongtian-ui.git  东信充值  http://47.111.81.118:wangtao/deviceManager.git 东信设备设施 |
+| 闵行     | 智慧政务 | 测试地址:http://101.133.214.75:81/vmh/                      | 杨强          |                                      |          |          | 私有部署 | http://47.111.81.118:3000/yq/mhfire.git.  -前端:http://47.111.81.118:wangtao/fire-mh1920-1080.git |
+
+
+
+
+
+
+
+## 文档中心安装使用
 
 1. 下载docker image  docker pull fellah/gitbook
 1. 进入项目根目录下,运行gitbook容器命令

+ 0 - 38
_book/.gitignore

@@ -1,38 +0,0 @@
-# Created by .ignore support plugin (hsz.mobi)
-### Example user template template
-### Example user template
-
-# IntelliJ project files
-.idea
-*.iml
-out
-gen
-target
-### Java template
-# Compiled class file
-*.class
-
-# Log file
-*.log
-log
-logs
-
-# BlueJ files
-*.ctxt
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.nar
-*.ear
-*.zip
-*.tar.gz
-*.rar
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-
-.DS_Store

+ 0 - 14
_book/bin/start.sh

@@ -1,14 +0,0 @@
-#!/bin/bash
-#set -x
-echo $(date)
-WORKSPACE=$(cd $(dirname $0)/..; pwd)
-#echo "workspace:$WORKSPACE"
-cd $WORKSPACE
-
-#docker stop gitbook
-
-docker rm gitbook
-
-docker run -d --name usky-book  -p 4001:4000  -v $(pwd):/srv/gitbook  -v $(pwd)/.html:/srv/html  fellah/gitbook
-
-docker logs -f --tail=100 gitbook

BIN
_book/gitbook/fonts/fontawesome/FontAwesome.otf


BIN
_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot


Разница между файлами не показана из-за своего большого размера
+ 0 - 196
_book/gitbook/fonts/fontawesome/fontawesome-webfont.svg


BIN
_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf


BIN
_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff


BIN
_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2


+ 0 - 240
_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js

@@ -1,240 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
-    // Configuration
-    var MAX_SIZE       = 4,
-        MIN_SIZE       = 0,
-        BUTTON_ID;
-
-    // Current fontsettings state
-    var fontState;
-
-    // Default themes
-    var THEMES = [
-        {
-            config: 'white',
-            text: 'White',
-            id: 0
-        },
-        {
-            config: 'sepia',
-            text: 'Sepia',
-            id: 1
-        },
-        {
-            config: 'night',
-            text: 'Night',
-            id: 2
-        }
-    ];
-
-    // Default font families
-    var FAMILIES = [
-        {
-            config: 'serif',
-            text: 'Serif',
-            id: 0
-        },
-        {
-            config: 'sans',
-            text: 'Sans',
-            id: 1
-        }
-    ];
-
-    // Return configured themes
-    function getThemes() {
-        return THEMES;
-    }
-
-    // Modify configured themes
-    function setThemes(themes) {
-        THEMES = themes;
-        updateButtons();
-    }
-
-    // Return configured font families
-    function getFamilies() {
-        return FAMILIES;
-    }
-
-    // Modify configured font families
-    function setFamilies(families) {
-        FAMILIES = families;
-        updateButtons();
-    }
-
-    // Save current font settings
-    function saveFontSettings() {
-        gitbook.storage.set('fontState', fontState);
-        update();
-    }
-
-    // Increase font size
-    function enlargeFontSize(e) {
-        e.preventDefault();
-        if (fontState.size >= MAX_SIZE) return;
-
-        fontState.size++;
-        saveFontSettings();
-    }
-
-    // Decrease font size
-    function reduceFontSize(e) {
-        e.preventDefault();
-        if (fontState.size <= MIN_SIZE) return;
-
-        fontState.size--;
-        saveFontSettings();
-    }
-
-    // Change font family
-    function changeFontFamily(configName, e) {
-        if (e && e instanceof Event) {
-            e.preventDefault();
-        }
-
-        var familyId = getFontFamilyId(configName);
-        fontState.family = familyId;
-        saveFontSettings();
-    }
-
-    // Change type of color theme
-    function changeColorTheme(configName, e) {
-        if (e && e instanceof Event) {
-            e.preventDefault();
-        }
-
-        var $book = gitbook.state.$book;
-
-        // Remove currently applied color theme
-        if (fontState.theme !== 0)
-            $book.removeClass('color-theme-'+fontState.theme);
-
-        // Set new color theme
-        var themeId = getThemeId(configName);
-        fontState.theme = themeId;
-        if (fontState.theme !== 0)
-            $book.addClass('color-theme-'+fontState.theme);
-
-        saveFontSettings();
-    }
-
-    // Return the correct id for a font-family config key
-    // Default to first font-family
-    function getFontFamilyId(configName) {
-        // Search for plugin configured font family
-        var configFamily = $.grep(FAMILIES, function(family) {
-            return family.config == configName;
-        })[0];
-        // Fallback to default font family
-        return (!!configFamily)? configFamily.id : 0;
-    }
-
-    // Return the correct id for a theme config key
-    // Default to first theme
-    function getThemeId(configName) {
-        // Search for plugin configured theme
-        var configTheme = $.grep(THEMES, function(theme) {
-            return theme.config == configName;
-        })[0];
-        // Fallback to default theme
-        return (!!configTheme)? configTheme.id : 0;
-    }
-
-    function update() {
-        var $book = gitbook.state.$book;
-
-        $('.font-settings .font-family-list li').removeClass('active');
-        $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active');
-
-        $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
-        $book.addClass('font-size-'+fontState.size);
-        $book.addClass('font-family-'+fontState.family);
-
-        if(fontState.theme !== 0) {
-            $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
-            $book.addClass('color-theme-'+fontState.theme);
-        }
-    }
-
-    function init(config) {
-        // Search for plugin configured font family
-        var configFamily = getFontFamilyId(config.family),
-            configTheme = getThemeId(config.theme);
-
-        // Instantiate font state object
-        fontState = gitbook.storage.get('fontState', {
-            size:   config.size || 2,
-            family: configFamily,
-            theme:  configTheme
-        });
-
-        update();
-    }
-
-    function updateButtons() {
-        // Remove existing fontsettings buttons
-        if (!!BUTTON_ID) {
-            gitbook.toolbar.removeButton(BUTTON_ID);
-        }
-
-        // Create buttons in toolbar
-        BUTTON_ID = gitbook.toolbar.createButton({
-            icon: 'fa fa-font',
-            label: 'Font Settings',
-            className: 'font-settings',
-            dropdown: [
-                [
-                    {
-                        text: 'A',
-                        className: 'font-reduce',
-                        onClick: reduceFontSize
-                    },
-                    {
-                        text: 'A',
-                        className: 'font-enlarge',
-                        onClick: enlargeFontSize
-                    }
-                ],
-                $.map(FAMILIES, function(family) {
-                    family.onClick = function(e) {
-                        return changeFontFamily(family.config, e);
-                    };
-
-                    return family;
-                }),
-                $.map(THEMES, function(theme) {
-                    theme.onClick = function(e) {
-                        return changeColorTheme(theme.config, e);
-                    };
-
-                    return theme;
-                })
-            ]
-        });
-    }
-
-    // Init configuration at start
-    gitbook.events.bind('start', function(e, config) {
-        var opts = config.fontsettings;
-
-        // Generate buttons at start
-        updateButtons();
-
-        // Init current settings
-        init(opts);
-    });
-
-    // Expose API
-    gitbook.fontsettings = {
-        enlargeFontSize: enlargeFontSize,
-        reduceFontSize:  reduceFontSize,
-        setTheme:        changeColorTheme,
-        setFamily:       changeFontFamily,
-        getThemes:       getThemes,
-        setThemes:       setThemes,
-        getFamilies:     getFamilies,
-        setFamilies:     setFamilies
-    };
-});
-
-

+ 0 - 291
_book/gitbook/gitbook-plugin-fontsettings/website.css

@@ -1,291 +0,0 @@
-/*
- * Theme 1
- */
-.color-theme-1 .dropdown-menu {
-  background-color: #111111;
-  border-color: #7e888b;
-}
-.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner {
-  border-bottom: 9px solid #111111;
-}
-.color-theme-1 .dropdown-menu .buttons {
-  border-color: #7e888b;
-}
-.color-theme-1 .dropdown-menu .button {
-  color: #afa790;
-}
-.color-theme-1 .dropdown-menu .button:hover {
-  color: #73553c;
-}
-/*
- * Theme 2
- */
-.color-theme-2 .dropdown-menu {
-  background-color: #2d3143;
-  border-color: #272a3a;
-}
-.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner {
-  border-bottom: 9px solid #2d3143;
-}
-.color-theme-2 .dropdown-menu .buttons {
-  border-color: #272a3a;
-}
-.color-theme-2 .dropdown-menu .button {
-  color: #62677f;
-}
-.color-theme-2 .dropdown-menu .button:hover {
-  color: #f4f4f5;
-}
-.book .book-header .font-settings .font-enlarge {
-  line-height: 30px;
-  font-size: 1.4em;
-}
-.book .book-header .font-settings .font-reduce {
-  line-height: 30px;
-  font-size: 1em;
-}
-.book.color-theme-1 .book-body {
-  color: #704214;
-  background: #f3eacb;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section {
-  background: #f3eacb;
-}
-.book.color-theme-2 .book-body {
-  color: #bdcadb;
-  background: #1c1f2b;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section {
-  background: #1c1f2b;
-}
-.book.font-size-0 .book-body .page-inner section {
-  font-size: 1.2rem;
-}
-.book.font-size-1 .book-body .page-inner section {
-  font-size: 1.4rem;
-}
-.book.font-size-2 .book-body .page-inner section {
-  font-size: 1.6rem;
-}
-.book.font-size-3 .book-body .page-inner section {
-  font-size: 2.2rem;
-}
-.book.font-size-4 .book-body .page-inner section {
-  font-size: 4rem;
-}
-.book.font-family-0 {
-  font-family: Georgia, serif;
-}
-.book.font-family-1 {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal {
-  color: #704214;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 {
-  border-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr {
-  background-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote {
-  border-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
-  background: #fdf6e3;
-  color: #657b83;
-  border-color: #f8df9c;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight {
-  background-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td {
-  border-color: #f5d06c;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr {
-  color: inherit;
-  background-color: #fdf6e3;
-  border-color: #444444;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
-  background-color: #fbeecb;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal {
-  color: #bdcadb;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a {
-  color: #3eb1d0;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: #fffffa;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 {
-  border-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr {
-  background-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote {
-  border-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
-  color: #9dbed8;
-  background: #2d3143;
-  border-color: #2d3143;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight {
-  background-color: #282a39;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td {
-  border-color: #3b3f54;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr {
-  color: #b6c2d2;
-  background-color: #2d3143;
-  border-color: #3b3f54;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
-  background-color: #35394b;
-}
-.book.color-theme-1 .book-header {
-  color: #afa790;
-  background: transparent;
-}
-.book.color-theme-1 .book-header .btn {
-  color: #afa790;
-}
-.book.color-theme-1 .book-header .btn:hover {
-  color: #73553c;
-  background: none;
-}
-.book.color-theme-1 .book-header h1 {
-  color: #704214;
-}
-.book.color-theme-2 .book-header {
-  color: #7e888b;
-  background: transparent;
-}
-.book.color-theme-2 .book-header .btn {
-  color: #3b3f54;
-}
-.book.color-theme-2 .book-header .btn:hover {
-  color: #fffff5;
-  background: none;
-}
-.book.color-theme-2 .book-header h1 {
-  color: #bdcadb;
-}
-.book.color-theme-1 .book-body .navigation {
-  color: #afa790;
-}
-.book.color-theme-1 .book-body .navigation:hover {
-  color: #73553c;
-}
-.book.color-theme-2 .book-body .navigation {
-  color: #383f52;
-}
-.book.color-theme-2 .book-body .navigation:hover {
-  color: #fffff5;
-}
-/*
- * Theme 1
- */
-.book.color-theme-1 .book-summary {
-  color: #afa790;
-  background: #111111;
-  border-right: 1px solid rgba(0, 0, 0, 0.07);
-}
-.book.color-theme-1 .book-summary .book-search {
-  background: transparent;
-}
-.book.color-theme-1 .book-summary .book-search input,
-.book.color-theme-1 .book-summary .book-search input:focus {
-  border: 1px solid transparent;
-}
-.book.color-theme-1 .book-summary ul.summary li.divider {
-  background: #7e888b;
-  box-shadow: none;
-}
-.book.color-theme-1 .book-summary ul.summary li i.fa-check {
-  color: #33cc33;
-}
-.book.color-theme-1 .book-summary ul.summary li.done > a {
-  color: #877f6a;
-}
-.book.color-theme-1 .book-summary ul.summary li a,
-.book.color-theme-1 .book-summary ul.summary li span {
-  color: #877f6a;
-  background: transparent;
-  font-weight: normal;
-}
-.book.color-theme-1 .book-summary ul.summary li.active > a,
-.book.color-theme-1 .book-summary ul.summary li a:hover {
-  color: #704214;
-  background: transparent;
-  font-weight: normal;
-}
-/*
- * Theme 2
- */
-.book.color-theme-2 .book-summary {
-  color: #bcc1d2;
-  background: #2d3143;
-  border-right: none;
-}
-.book.color-theme-2 .book-summary .book-search {
-  background: transparent;
-}
-.book.color-theme-2 .book-summary .book-search input,
-.book.color-theme-2 .book-summary .book-search input:focus {
-  border: 1px solid transparent;
-}
-.book.color-theme-2 .book-summary ul.summary li.divider {
-  background: #272a3a;
-  box-shadow: none;
-}
-.book.color-theme-2 .book-summary ul.summary li i.fa-check {
-  color: #33cc33;
-}
-.book.color-theme-2 .book-summary ul.summary li.done > a {
-  color: #62687f;
-}
-.book.color-theme-2 .book-summary ul.summary li a,
-.book.color-theme-2 .book-summary ul.summary li span {
-  color: #c1c6d7;
-  background: transparent;
-  font-weight: 600;
-}
-.book.color-theme-2 .book-summary ul.summary li.active > a,
-.book.color-theme-2 .book-summary ul.summary li a:hover {
-  color: #f4f4f5;
-  background: #252737;
-  font-weight: 600;
-}

+ 0 - 135
_book/gitbook/gitbook-plugin-highlight/ebook.css

@@ -1,135 +0,0 @@
-pre,
-code {
-  /* http://jmblog.github.io/color-themes-for-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-pre .hljs-comment,
-code .hljs-comment,
-pre .hljs-title,
-code .hljs-title {
-  color: #8e908c;
-}
-pre .hljs-variable,
-code .hljs-variable,
-pre .hljs-attribute,
-code .hljs-attribute,
-pre .hljs-tag,
-code .hljs-tag,
-pre .hljs-regexp,
-code .hljs-regexp,
-pre .hljs-deletion,
-code .hljs-deletion,
-pre .ruby .hljs-constant,
-code .ruby .hljs-constant,
-pre .xml .hljs-tag .hljs-title,
-code .xml .hljs-tag .hljs-title,
-pre .xml .hljs-pi,
-code .xml .hljs-pi,
-pre .xml .hljs-doctype,
-code .xml .hljs-doctype,
-pre .html .hljs-doctype,
-code .html .hljs-doctype,
-pre .css .hljs-id,
-code .css .hljs-id,
-pre .css .hljs-class,
-code .css .hljs-class,
-pre .css .hljs-pseudo,
-code .css .hljs-pseudo {
-  color: #c82829;
-}
-pre .hljs-number,
-code .hljs-number,
-pre .hljs-preprocessor,
-code .hljs-preprocessor,
-pre .hljs-pragma,
-code .hljs-pragma,
-pre .hljs-built_in,
-code .hljs-built_in,
-pre .hljs-literal,
-code .hljs-literal,
-pre .hljs-params,
-code .hljs-params,
-pre .hljs-constant,
-code .hljs-constant {
-  color: #f5871f;
-}
-pre .ruby .hljs-class .hljs-title,
-code .ruby .hljs-class .hljs-title,
-pre .css .hljs-rules .hljs-attribute,
-code .css .hljs-rules .hljs-attribute {
-  color: #eab700;
-}
-pre .hljs-string,
-code .hljs-string,
-pre .hljs-value,
-code .hljs-value,
-pre .hljs-inheritance,
-code .hljs-inheritance,
-pre .hljs-header,
-code .hljs-header,
-pre .hljs-addition,
-code .hljs-addition,
-pre .ruby .hljs-symbol,
-code .ruby .hljs-symbol,
-pre .xml .hljs-cdata,
-code .xml .hljs-cdata {
-  color: #718c00;
-}
-pre .css .hljs-hexcolor,
-code .css .hljs-hexcolor {
-  color: #3e999f;
-}
-pre .hljs-function,
-code .hljs-function,
-pre .python .hljs-decorator,
-code .python .hljs-decorator,
-pre .python .hljs-title,
-code .python .hljs-title,
-pre .ruby .hljs-function .hljs-title,
-code .ruby .hljs-function .hljs-title,
-pre .ruby .hljs-title .hljs-keyword,
-code .ruby .hljs-title .hljs-keyword,
-pre .perl .hljs-sub,
-code .perl .hljs-sub,
-pre .javascript .hljs-title,
-code .javascript .hljs-title,
-pre .coffeescript .hljs-title,
-code .coffeescript .hljs-title {
-  color: #4271ae;
-}
-pre .hljs-keyword,
-code .hljs-keyword,
-pre .javascript .hljs-function,
-code .javascript .hljs-function {
-  color: #8959a8;
-}
-pre .hljs,
-code .hljs {
-  display: block;
-  background: white;
-  color: #4d4d4c;
-  padding: 0.5em;
-}
-pre .coffeescript .javascript,
-code .coffeescript .javascript,
-pre .javascript .xml,
-code .javascript .xml,
-pre .tex .hljs-formula,
-code .tex .hljs-formula,
-pre .xml .javascript,
-code .xml .javascript,
-pre .xml .vbscript,
-code .xml .vbscript,
-pre .xml .css,
-code .xml .css,
-pre .xml .hljs-cdata,
-code .xml .hljs-cdata {
-  opacity: 0.5;
-}

+ 0 - 434
_book/gitbook/gitbook-plugin-highlight/website.css

@@ -1,434 +0,0 @@
-.book .book-body .page-wrapper .page-inner section.normal pre,
-.book .book-body .page-wrapper .page-inner section.normal code {
-  /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-title {
-  color: #8e908c;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo {
-  color: #c82829;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-params,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant {
-  color: #f5871f;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute {
-  color: #eab700;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-value,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-header,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  color: #718c00;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor {
-  color: #3e999f;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator,
-.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator,
-.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub,
-.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title {
-  color: #4271ae;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function {
-  color: #8959a8;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  background: white;
-  color: #4d4d4c;
-  padding: 0.5em;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript,
-.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml,
-.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .css,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .css,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  opacity: 0.5;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
-  /*
-
-Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>
-
-*/
-  /* Solarized Green */
-  /* Solarized Cyan */
-  /* Solarized Blue */
-  /* Solarized Yellow */
-  /* Solarized Orange */
-  /* Solarized Red */
-  /* Solarized Violet */
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  padding: 0.5em;
-  background: #fdf6e3;
-  color: #657b83;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc {
-  color: #93a1a1;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title {
-  color: #859900;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url {
-  color: #2aa198;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function {
-  color: #268bd2;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference {
-  color: #b58900;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header {
-  color: #cb4b16;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important {
-  color: #dc322f;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label {
-  color: #6c71c4;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula {
-  background: #eee8d5;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
-  /* Tomorrow Night Bright Theme */
-  /* Original theme - https://github.com/chriskempson/tomorrow-theme */
-  /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title {
-  color: #969896;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo {
-  color: #d54e53;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant {
-  color: #e78c45;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute {
-  color: #e7c547;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  color: #b9ca4a;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor {
-  color: #70c0b1;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title {
-  color: #7aa6da;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function {
-  color: #c397d8;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  background: black;
-  color: #eaeaea;
-  padding: 0.5em;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  opacity: 0.5;
-}

+ 0 - 11
_book/gitbook/gitbook-plugin-livereload/plugin.js

@@ -1,11 +0,0 @@
-(function() {
-  var newEl = document.createElement('script'),
-      firstScriptTag = document.getElementsByTagName('script')[0];
-
-  if (firstScriptTag) {
-    newEl.async = 1;
-    newEl.src = '//' + window.location.hostname + ':35729/livereload.js';
-    firstScriptTag.parentNode.insertBefore(newEl, firstScriptTag);
-  }
-
-})();

Разница между файлами не показана из-за своего большого размера
+ 0 - 6
_book/gitbook/gitbook-plugin-lunr/lunr.min.js


+ 0 - 59
_book/gitbook/gitbook-plugin-lunr/search-lunr.js

@@ -1,59 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    // Define global search engine
-    function LunrSearchEngine() {
-        this.index = null;
-        this.store = {};
-        this.name = 'LunrSearchEngine';
-    }
-
-    // Initialize lunr by fetching the search index
-    LunrSearchEngine.prototype.init = function() {
-        var that = this;
-        var d = $.Deferred();
-
-        $.getJSON(gitbook.state.basePath+'/search_index.json')
-        .then(function(data) {
-            // eslint-disable-next-line no-undef
-            that.index = lunr.Index.load(data.index);
-            that.store = data.store;
-            d.resolve();
-        });
-
-        return d.promise();
-    };
-
-    // Search for a term and return results
-    LunrSearchEngine.prototype.search = function(q, offset, length) {
-        var that = this;
-        var results = [];
-
-        if (this.index) {
-            results = $.map(this.index.search(q), function(result) {
-                var doc = that.store[result.ref];
-
-                return {
-                    title: doc.title,
-                    url: doc.url,
-                    body: doc.summary || doc.body
-                };
-            });
-        }
-
-        return $.Deferred().resolve({
-            query: q,
-            results: results.slice(0, length),
-            count: results.length
-        }).promise();
-    };
-
-    // Set gitbook research
-    gitbook.events.bind('start', function(e, config) {
-        var engine = gitbook.search.getEngine();
-        if (!engine) {
-            gitbook.search.setEngine(LunrSearchEngine, config);
-        }
-    });
-});

Разница между файлами не показана из-за своего большого размера
+ 0 - 6
_book/gitbook/gitbook-plugin-search/lunr.min.js


+ 0 - 50
_book/gitbook/gitbook-plugin-search/search-engine.js

@@ -1,50 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    // Global search objects
-    var engine      = null;
-    var initialized = false;
-
-    // Set a new search engine
-    function setEngine(Engine, config) {
-        initialized = false;
-        engine      = new Engine(config);
-
-        init(config);
-    }
-
-    // Initialize search engine with config
-    function init(config) {
-        if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).');
-
-        return engine.init(config)
-        .then(function() {
-            initialized = true;
-            gitbook.events.trigger('search.ready');
-        });
-    }
-
-    // Launch search for query q
-    function query(q, offset, length) {
-        if (!initialized) throw new Error('Search has not been initialized');
-        return engine.search(q, offset, length);
-    }
-
-    // Get stats about search
-    function getEngine() {
-        return engine? engine.name : null;
-    }
-
-    function isInitialized() {
-        return initialized;
-    }
-
-    // Initialize gitbook.search
-    gitbook.search = {
-        setEngine:     setEngine,
-        getEngine:     getEngine,
-        query:         query,
-        isInitialized: isInitialized
-    };
-});

+ 0 - 35
_book/gitbook/gitbook-plugin-search/search.css

@@ -1,35 +0,0 @@
-/*
-    This CSS only styled the search results section, not the search input
-    It defines the basic interraction to hide content when displaying results, etc
-*/
-#book-search-results .search-results {
-  display: none;
-}
-#book-search-results .search-results ul.search-results-list {
-  list-style-type: none;
-  padding-left: 0;
-}
-#book-search-results .search-results ul.search-results-list li {
-  margin-bottom: 1.5rem;
-  padding-bottom: 0.5rem;
-  /* Highlight results */
-}
-#book-search-results .search-results ul.search-results-list li p em {
-  background-color: rgba(255, 220, 0, 0.4);
-  font-style: normal;
-}
-#book-search-results .search-results .no-results {
-  display: none;
-}
-#book-search-results.open .search-results {
-  display: block;
-}
-#book-search-results.open .search-noresults {
-  display: none;
-}
-#book-search-results.no-results .search-results .has-results {
-  display: none;
-}
-#book-search-results.no-results .search-results .no-results {
-  display: block;
-}

+ 0 - 213
_book/gitbook/gitbook-plugin-search/search.js

@@ -1,213 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    var MAX_RESULTS = 15;
-    var MAX_DESCRIPTION_SIZE = 500;
-
-    var usePushState = (typeof history.pushState !== 'undefined');
-
-    // DOM Elements
-    var $body = $('body');
-    var $bookSearchResults;
-    var $searchInput;
-    var $searchList;
-    var $searchTitle;
-    var $searchResultsCount;
-    var $searchQuery;
-
-    // Throttle search
-    function throttle(fn, wait) {
-        var timeout;
-
-        return function() {
-            var ctx = this, args = arguments;
-            if (!timeout) {
-                timeout = setTimeout(function() {
-                    timeout = null;
-                    fn.apply(ctx, args);
-                }, wait);
-            }
-        };
-    }
-
-    function displayResults(res) {
-        $bookSearchResults.addClass('open');
-
-        var noResults = res.count == 0;
-        $bookSearchResults.toggleClass('no-results', noResults);
-
-        // Clear old results
-        $searchList.empty();
-
-        // Display title for research
-        $searchResultsCount.text(res.count);
-        $searchQuery.text(res.query);
-
-        // Create an <li> element for each result
-        res.results.forEach(function(res) {
-            var $li = $('<li>', {
-                'class': 'search-results-item'
-            });
-
-            var $title = $('<h3>');
-
-            var $link = $('<a>', {
-                'href': gitbook.state.basePath + '/' + res.url,
-                'text': res.title
-            });
-
-            var content = res.body.trim();
-            if (content.length > MAX_DESCRIPTION_SIZE) {
-                content = content.slice(0, MAX_DESCRIPTION_SIZE).trim()+'...';
-            }
-            var $content = $('<p>').html(content);
-
-            $link.appendTo($title);
-            $title.appendTo($li);
-            $content.appendTo($li);
-            $li.appendTo($searchList);
-        });
-    }
-
-    function launchSearch(q) {
-        // Add class for loading
-        $body.addClass('with-search');
-        $body.addClass('search-loading');
-
-        // Launch search query
-        throttle(gitbook.search.query(q, 0, MAX_RESULTS)
-        .then(function(results) {
-            displayResults(results);
-        })
-        .always(function() {
-            $body.removeClass('search-loading');
-        }), 1000);
-    }
-
-    function closeSearch() {
-        $body.removeClass('with-search');
-        $bookSearchResults.removeClass('open');
-    }
-
-    function launchSearchFromQueryString() {
-        var q = getParameterByName('q');
-        if (q && q.length > 0) {
-            // Update search input
-            $searchInput.val(q);
-
-            // Launch search
-            launchSearch(q);
-        }
-    }
-
-    function bindSearch() {
-        // Bind DOM
-        $searchInput        = $('#book-search-input input');
-        $bookSearchResults  = $('#book-search-results');
-        $searchList         = $bookSearchResults.find('.search-results-list');
-        $searchTitle        = $bookSearchResults.find('.search-results-title');
-        $searchResultsCount = $searchTitle.find('.search-results-count');
-        $searchQuery        = $searchTitle.find('.search-query');
-
-        // Launch query based on input content
-        function handleUpdate() {
-            var q = $searchInput.val();
-
-            if (q.length == 0) {
-                closeSearch();
-            }
-            else {
-                launchSearch(q);
-            }
-        }
-
-        // Detect true content change in search input
-        // Workaround for IE < 9
-        var propertyChangeUnbound = false;
-        $searchInput.on('propertychange', function(e) {
-            if (e.originalEvent.propertyName == 'value') {
-                handleUpdate();
-            }
-        });
-
-        // HTML5 (IE9 & others)
-        $searchInput.on('input', function(e) {
-            // Unbind propertychange event for IE9+
-            if (!propertyChangeUnbound) {
-                $(this).unbind('propertychange');
-                propertyChangeUnbound = true;
-            }
-
-            handleUpdate();
-        });
-
-        // Push to history on blur
-        $searchInput.on('blur', function(e) {
-            // Update history state
-            if (usePushState) {
-                var uri = updateQueryString('q', $(this).val());
-                history.pushState({ path: uri }, null, uri);
-            }
-        });
-    }
-
-    gitbook.events.on('page.change', function() {
-        bindSearch();
-        closeSearch();
-
-        // Launch search based on query parameter
-        if (gitbook.search.isInitialized()) {
-            launchSearchFromQueryString();
-        }
-    });
-
-    gitbook.events.on('search.ready', function() {
-        bindSearch();
-
-        // Launch search from query param at start
-        launchSearchFromQueryString();
-    });
-
-    function getParameterByName(name) {
-        var url = window.location.href;
-        name = name.replace(/[\[\]]/g, '\\$&');
-        var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'),
-            results = regex.exec(url);
-        if (!results) return null;
-        if (!results[2]) return '';
-        return decodeURIComponent(results[2].replace(/\+/g, ' '));
-    }
-
-    function updateQueryString(key, value) {
-        value = encodeURIComponent(value);
-
-        var url = window.location.href;
-        var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'),
-            hash;
-
-        if (re.test(url)) {
-            if (typeof value !== 'undefined' && value !== null)
-                return url.replace(re, '$1' + key + '=' + value + '$2$3');
-            else {
-                hash = url.split('#');
-                url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, '');
-                if (typeof hash[1] !== 'undefined' && hash[1] !== null)
-                    url += '#' + hash[1];
-                return url;
-            }
-        }
-        else {
-            if (typeof value !== 'undefined' && value !== null) {
-                var separator = url.indexOf('?') !== -1 ? '&' : '?';
-                hash = url.split('#');
-                url = hash[0] + separator + key + '=' + value;
-                if (typeof hash[1] !== 'undefined' && hash[1] !== null)
-                    url += '#' + hash[1];
-                return url;
-            }
-            else
-                return url;
-        }
-    }
-});

+ 0 - 90
_book/gitbook/gitbook-plugin-sharing/buttons.js

@@ -1,90 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
-    var SITES = {
-        'facebook': {
-            'label': 'Facebook',
-            'icon': 'fa fa-facebook',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href));
-            }
-        },
-        'twitter': {
-            'label': 'Twitter',
-            'icon': 'fa fa-twitter',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href));
-            }
-        },
-        'google': {
-            'label': 'Google+',
-            'icon': 'fa fa-google-plus',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href));
-            }
-        },
-        'weibo': {
-            'label': 'Weibo',
-            'icon': 'fa fa-weibo',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));
-            }
-        },
-        'instapaper': {
-            'label': 'Instapaper',
-            'icon': 'fa fa-instapaper',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href));
-            }
-        },
-        'vk': {
-            'label': 'VK',
-            'icon': 'fa fa-vk',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href));
-            }
-        }
-    };
-
-
-
-    gitbook.events.bind('start', function(e, config) {
-        var opts = config.sharing;
-
-        // Create dropdown menu
-        var menu = $.map(opts.all, function(id) {
-            var site = SITES[id];
-
-            return {
-                text: site.label,
-                onClick: site.onClick
-            };
-        });
-
-        // Create main button with dropdown
-        if (menu.length > 0) {
-            gitbook.toolbar.createButton({
-                icon: 'fa fa-share-alt',
-                label: 'Share',
-                position: 'right',
-                dropdown: [menu]
-            });
-        }
-
-        // Direct actions to share
-        $.each(SITES, function(sideId, site) {
-            if (!opts[sideId]) return;
-
-            gitbook.toolbar.createButton({
-                icon: site.icon,
-                label: site.text,
-                position: 'right',
-                onClick: site.onClick
-            });
-        });
-    });
-});

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
_book/gitbook/gitbook.js


BIN
_book/gitbook/images/apple-touch-icon-precomposed-152.png


BIN
_book/gitbook/images/favicon.ico


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
_book/gitbook/style.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
_book/gitbook/theme.js


+ 0 - 276
_book/index.html

@@ -1,276 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="en" >
-    <head>
-        <title>Introduction · GitBook</title>
-        <meta charset="UTF-8">
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.0">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter active" data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    项目架构
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="项目架构/开发流程.html">
-            
-                <a href="项目架构/开发流程.html">
-            
-                    
-                    开发流程
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >Introduction</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h1 id="hippo-book">hippo-book</h1><h2 id="docker&#x5B89;&#x88C5;&#x4F7F;&#x7528;">docker&#x5B89;&#x88C5;&#x4F7F;&#x7528;</h2><ol><li>&#x4E0B;&#x8F7D;docker image  docker pull fellah/gitbook
-</li>
-<li><p>&#x8FDB;&#x5165;&#x9879;&#x76EE;&#x6839;&#x76EE;&#x5F55;&#x4E0B;&#xFF0C;&#x8FD0;&#x884C;gitbook&#x5BB9;&#x5668;&#x547D;&#x4EE4;</p><pre><code>docker rm gitbook</code></pre>
-<pre><code>docker run --name gitbook \
--p 4000:4000  \
--v $(pwd):/srv/gitbook \
--v $(pwd)/.html:/srv/html \
-fellah/gitbook</code></pre>
-<p>&#x8BF4;&#x660E;</p></li>
-<li><p>/srv/gitbook &#x662F;gitbook&#x5DE5;&#x4F5C;&#x76EE;&#x5F55;&#xFF0C;&#x7528;&#x6765;&#x5B58;&#x653E;&#x6E90;&#x6587;&#x4EF6;&#xFF0C;&#x6620;&#x5C04;&#x5230;&#x4E86;&#x672C;&#x5730;&#x7684;/home/woods/gitbook/gitbook</p></li>
-<li>/srv/html &#x662F;&#x6784;&#x5EFA;&#x540E;&#x7684;html&#x6587;&#x4EF6;&#xFF0C;&#x53EF;&#x5728;WEB&#x670D;&#x52A1;&#x4E2D;&#x67E5;&#x770B;&#xFF0C;&#x6620;&#x5C04;&#x5230;&#x4E86;&#x672C;&#x5730;&#x7684;/home/woods/gitbook/html
-</li>
-<li>&#x8BF7;&#x786E;&#x4FDD;&#x672C;&#x5730;&#x7684;gitbook&#x76EE;&#x5F55;&#x4E2D;&#x5305;&#x542B;&#x81F3;&#x5C11;README.md&#x548C;SUMMARY.md&#x4E24;&#x4E2A;&#x6587;&#x4EF6;
-</li>
-<li><p>&#x8BBF;&#x95EE;&#xFF1A;<a href="http://localhost:4000/" target="_blank">http://localhost:4000/</a></p></li>
-<li><p>&#x91CD;&#x65B0;&#x6784;&#x5EFA;&#x547D;&#x4EE4;</p><pre><code>docker exec gitbook gitbook build . /srv/html</code></pre>
-</li></ol>
-<h2 id="&#x81EA;&#x52A8;&#x751F;&#x6210;summary">&#x81EA;&#x52A8;&#x751F;&#x6210;SUMMARY</h2><p><a href="https://github.com/imfly" target="_blank">imfly</a>/<strong>gitbook-summary</strong></p><p>github&#x5730;&#x5740;&#xFF1A;<a href="https://github.com/imfly/gitbook-summary" target="_blank">https://github.com/imfly/gitbook-summary</a></p><p>&#x5B89;&#x88C5;</p><pre><code class="lang-css"><span class="hljs-selector-tag">npm</span> <span class="hljs-selector-tag">install</span> <span class="hljs-selector-tag">-g</span> <span class="hljs-selector-tag">gitbook-summary</span></code></pre>
-<p>&#x7B80;&#x5355;&#x4F7F;&#x7528;&#xFF1A;</p><pre><code class="lang-bash"><span class="hljs-built_in">cd</span> /path/to/your/book/
-
-
-
-book sm</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"项目架构","level":"1.2","depth":1,"ref":"","articles":[{"title":"开发流程","level":"1.2.1","depth":2,"path":"项目架构/开发流程.md","ref":"项目架构/开发流程.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["livereload"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"en","gitbook":"*"},"file":{"path":"README.md","mtime":"2022-08-10T07:25:16.000Z","type":"markdown"},"gitbook":{"version":"3.2.0","time":"2022-08-10T07:27:34.606Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-livereload/plugin.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
_book/search_index.json


BIN
_book/技术分享/分布式时序数据库InfluxDB.docx


BIN
_book/项目架构/img.png


BIN
_book/项目架构/img_1.png


+ 0 - 334
_book/项目架构/开发流程.html

@@ -1,334 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="en" >
-    <head>
-        <title>开发流程 · GitBook</title>
-        <meta charset="UTF-8">
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.0">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    项目架构
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.2.1" data-path="开发流程.html">
-            
-                <a href="开发流程.html">
-            
-                    
-                    开发流程
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >开发流程</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h2 id="&#x6C38;&#x5929;sasa&#x5E73;&#x53F0;&#x5F00;&#x53D1;&#x6D41;&#x7A0B;">&#x6C38;&#x5929;sasa&#x5E73;&#x53F0;&#x5F00;&#x53D1;&#x6D41;&#x7A0B;</h2><h3 id="&#x9879;&#x76EE;&#x4F9D;&#x8D56;&#x7BA1;&#x7406;">&#x9879;&#x76EE;&#x4F9D;&#x8D56;&#x7BA1;&#x7406;</h3><h4 id="&#x5F00;&#x53D1;&#x6D41;&#x7A0B;">&#x5F00;&#x53D1;&#x6D41;&#x7A0B;</h4><ul><li><p>&#x62C9;&#x53D6;&#x7236;&#x9879;&#x76EE; usky-cloud-parent</p></li>
-<li><p>&#x9879;&#x76EE;&#x5730;&#x5740;(<a href="http://47.111.81.118:3000/uskycloud/usky-cloud-parent.git" target="_blank">http://47.111.81.118:3000/uskycloud/usky-cloud-parent.git</a>)</p></li>
-<li><p>&#x6267;&#x884C;&#x6253;&#x5305;&#x64CD;&#x4F5C;mvn clean</p></li></ul>
-<h4 id="&#x5907;&#x6CE8;">&#x5907;&#x6CE8;</h4><ul><li>&#x6240;&#x6709;&#x7684;&#x4F9D;&#x8D56;&#x7531;&#x4E00;&#x4E2A;&#x7236;&#x6A21;&#x5757;&#x6765;&#x7BA1;&#x7406;,&#x53EA;&#x8D1F;&#x8D23;&#x8FDB;&#x884C;&#x9879;&#x76EE;&#x7248;&#x672C;&#x4F9D;&#x8D56;&#x7684;&#x7BA1;&#x7406;
-</li>
-<li>&#x65B9;&#x4FBF;&#x5F00;&#x53D1;&#x4EBA;&#x5458;&#x4E86;&#x89E3;&#x5E73;&#x53F0;&#x6240;&#x6709;&#x7684;&#x6280;&#x672F;&#x548C;&#x6280;&#x672F;&#x7684;&#x7248;&#x672C;
-</li>
-<li>&#x66F4;&#x597D;&#x7684;&#x89E3;&#x51B3;&#x4F9D;&#x8D56;&#x51B2;&#x7A81;
-</li>
-<li><p>&#x4EE5;&#x540E;&#x6709;&#x65B0;&#x7684;&#x7EC4;&#x4EF6;&#x53EF;&#x4EE5;&#x5728;&#x8FD9;&#x4E2A;&#x91CC;&#x9762;&#x505A;&#x4E00;&#x4E9B;&#x6269;&#x5C55;&#x7684;&#x5EF6;&#x4F38;</p><h3 id="&#x9879;&#x76EE;&#x57FA;&#x7840;&#x5DE5;&#x5177;">&#x9879;&#x76EE;&#x57FA;&#x7840;&#x5DE5;&#x5177;</h3><h4 id="&#x5F00;&#x53D1;&#x6D41;&#x7A0B;">&#x5F00;&#x53D1;&#x6D41;&#x7A0B;</h4></li>
-<li><p>&#x62C9;&#x53D6;&#x9879;&#x76EE;usky-modules</p></li>
-<li><p>&#x9879;&#x76EE;&#x5730;&#x5740;(<a href="http://47.111.81.118:3000/uskycloud/usky-modules.git" target="_blank">http://47.111.81.118:3000/uskycloud/usky-modules.git</a>)</p></li>
-<li><p>&#x6267;&#x884C;&#x6253;&#x5305;&#x64CD;&#x4F5C;mvn clean</p><h4 id="&#x4E3B;&#x8981;&#x529F;&#x80FD;">&#x4E3B;&#x8981;&#x529F;&#x80FD;</h4></li>
-<li><p>&#x4E3A;&#x5F00;&#x53D1;&#x4EBA;&#x5458;&#x8FDB;&#x884C;&#x4E86;&#x4E00;&#x4E9B;&#x57FA;&#x7840;&#x5DE5;&#x5177;&#x7C7B;&#x7684;&#x6574;&#x5408;</p></li>
-<li><p>&#x4F7F;&#x5F00;&#x53D1;&#x9879;&#x76EE;&#x66F4;&#x9AD8;&#x6548;</p><h4 id="&#x6838;&#x5FC3;&#x67B6;&#x6784;">&#x6838;&#x5FC3;&#x67B6;&#x6784;</h4></li>
-<li><p>usky-common-core</p></li>
-<li>usky_common-spring
-</li>
-<li><p>usky-common-mvn</p><h4 id="&#x5907;&#x6CE8;">&#x5907;&#x6CE8;</h4></li>
-<li><p>&#x9ED8;&#x8BA4;&#x6BCF;&#x4E2A;&#x9879;&#x76EE;&#x90FD;&#x4F1A;&#x6574;&#x5408;common&#x4F9D;&#x8D56;</p></li>
-<li>&#x53D1;&#x73B0;&#x6BD4;&#x8F83;&#x597D;&#x7684;&#x5DE5;&#x5177;&#x7C7B;&#x53EF;&#x4EE5;&#x5F80;&#x5BF9;&#x5E94;&#x7684;&#x6A21;&#x5757;&#x91CC;&#x9762;&#x8FDB;&#x884C;&#x6574;&#x5408;
-</li>
-<li>&#x529F;&#x80FD;&#x804C;&#x8D23;&#x8981;&#x6E05;&#x6670;,&#x6BCF;&#x4E2A;&#x6A21;&#x5757;&#x53EA;&#x8D1F;&#x8D23;&#x81EA;&#x5DF1;&#x9700;&#x8981;&#x6574;&#x5408;&#x7684;&#x5927;&#x5206;&#x7C7B;
-</li></ul>
-<h3 id="&#x6C38;&#x5929;&#x670D;&#x52A1;&#x6A21;&#x5757;">&#x6C38;&#x5929;&#x670D;&#x52A1;&#x6A21;&#x5757;</h3><h4 id="&#x9879;&#x76EE;&#x67B6;&#x6784;">&#x9879;&#x76EE;&#x67B6;&#x6784;</h4><ul><li><p>usky-modules(&#x603B;&#x7236;&#x6A21;&#x5757;-&#x5BF9;&#x9879;&#x76EE;&#x8FDB;&#x884C;&#x7EDF;&#x4E00;&#x6784;&#x5EFA;&#x548C;&#x7BA1;&#x7406;)</p><ul><li><p>&#x4E1A;&#x52A1;&#x7236;&#x6A21;&#x5757;(&#x5BF9;&#x4E0B;&#x5C5E;&#x7684;api&#x548C;biz&#x8FDB;&#x884C;&#x7EDF;&#x4E00;&#x7BA1;&#x7406;)</p><ul><li><p>&#x6A21;&#x5757;&#x540D;-biz(&#x4E1A;&#x52A1;&#x6A21;&#x5757;)</p><ul><li>controller
-</li>
-<li>service
-</li>
-<li>domain
-</li>
-<li>mapper
-</li></ul>
-</li>
-<li><p>&#x6A21;&#x5757;&#x540D;-api(api&#x6A21;&#x5757;,&#x63D0;&#x4F9B;&#x670D;&#x52A1;&#x95F4;&#x7684;&#x8C03;&#x7528;&#x4F9D;&#x8D56;)</p><ul><li>domain
-</li>
-<li>factory
-</li>
-<li>vo
-<h4 id="&#x9879;&#x76EE;&#x51C6;&#x5907;">&#x9879;&#x76EE;&#x51C6;&#x5907;</h4></li></ul>
-</li></ul>
-</li></ul>
-</li></ul>
-<ul><li><p>&#x62C9;&#x53D6;&#x9879;&#x76EE;</p><ul><li>&#x9879;&#x76EE;&#x5730;&#x5740;(<a href="http://47.111.81.118:3000/uskycloud/usky-modules.git" target="_blank">http://47.111.81.118:3000/uskycloud/usky-modules.git</a>)
-</li>
-<li>&#x6253;&#x5305;&#x9879;&#x76EE; mvn clean
-</li></ul>
-</li>
-<li><p>&#x751F;&#x6210;&#x811A;&#x624B;&#x67B6;</p><ul><li>cd usky-module-demo
-</li>
-<li>mvn archetype:create-from-project
-</li>
-<li>cd target/generated-sources/archetype/
-</li>
-<li>mvn install
-</li></ul>
-</li>
-<li><p>&#x751F;&#x6210;&#x9879;&#x76EE;</p><ul><li>cd usky-module
-</li>
-<li>mvn archetype:generate -DarchetypeCatalog=local
-</li>
-<li>&#x9009;&#x62E9;&#x521A;&#x624D;&#x751F;&#x6210;&#x7684;&#x811A;&#x624B;&#x67B6;(usky-module-demo)
-</li>
-<li>&#x5F3A;&#x5236;&#x89C4;&#x8303;
-<ul><li>groupId&#x586B;&#x5199;com.usky
-</li>
-<li>artifactId&#x586B;&#x5199;&#x81EA;&#x5DF1;&#x9700;&#x8981;&#x7684;&apos;&#x6A21;&#x5757;&#x540D;&apos;
-</li>
-<li>packpage&#x586B;&#x5199;com.usky.&apos;&#x6A21;&#x5757;&#x540D;&apos;
-</li></ul>
-</li></ul>
-</li></ul>
-<ul><li><p>&#x4FEE;&#x6539;&#x81EA;&#x52A8;&#x751F;&#x6210;&#x4EE3;&#x7801;&#x914D;&#x7F6E;</p><ul><li>&#x4FEE;&#x6539;rescources&#x4E0B;&#x7684;mapper.demo,&#x628A;demo&#x4FEE;&#x6539;&#x6210;&#x81EA;&#x5DF1;&#x7684;&apos;&#x6A21;&#x5757;&#x540D;&apos;
-</li>
-<li>&#x627E;&#x5230;&#x542F;&#x52A8;&#x7C7B;&#x4FEE;&#x6539;&#x6CE8;&#x89E3;@MapperScan(value = &quot;com.usky.demo.mapper&quot;)&#xFF0C;&#x628A;&#x5176;&#x4E2D;&#x7684;&apos;demo&apos;&#x6539;&#x6210;&#x81EA;&#x5DF1;&#x7684;&apos;&#x6A21;&#x5757;&#x540D;&apos;
-</li>
-<li><p>&#x627E;&#x5230;MybatisGeneratorUtils</p><ul><li><img alt="img_1.png" src="img_1.png">&#x4FEE;&#x6539;&#x5BF9;&#x5E94;&#x7684;&#x6570;&#x636E;&#x6E90;
-</li>
-<li><img alt="img.png" src="img.png">&#x628A;&#x6807;&#x7EA2;&#x7684;&#x6539;&#x6210;&#x4E0A;&#x9762;&#x7B2C;&#x4E00;&#x6B65;&#x7684;&apos;&#x6A21;&#x5757;&#x540D;&apos;
-</li></ul>
-</li></ul>
-</li></ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"开发流程","level":"1.2.1","depth":2,"previous":{"title":"项目架构","level":"1.2","depth":1,"ref":"","articles":[{"title":"开发流程","level":"1.2.1","depth":2,"path":"项目架构/开发流程.md","ref":"项目架构/开发流程.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["livereload"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"en","gitbook":"*"},"file":{"path":"项目架构/开发流程.md","mtime":"2022-05-18T03:17:28.000Z","type":"markdown"},"gitbook":{"version":"3.2.0","time":"2022-08-10T07:27:34.606Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-livereload/plugin.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-

+ 1 - 0
book.json

@@ -1,3 +1,4 @@
 {
+"plugins": ["mermaid"],
 "language": "en"
 }

+ 6 - 0
package-lock.json

@@ -0,0 +1,6 @@
+{
+  "name": "usky-dev-doc",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {}
+}

+ 0 - 0
会议记录/[20220404]管理周会.md


+ 0 - 28
会议记录/[20220406] 分布式框架讨论.md

@@ -1,28 +0,0 @@
-# 内容
-
-## 杨强
-
-1.为什么要使用微服务架构
-
-2.springcloud和springalibaba 
-
-3.spring 几个组件介绍
-
-
-
-## 讨论
-
-几个问题,可以大家一起来回答:
-1)今年哪些项目可以使用分布式和微服务?
-2)分布式和微服务是否是捆绑的?
-3)如果从公司当前的业务和系统出发,是否有合适的开发、运行框架?要求可以满足当前的功能要求,同时具有一定的可扩展性能。
-4)闵行项目采用哪一种方式,框架是怎样的?需要提供架构图.
-5)公司现有的物联网,是否可以采用分布式和微服务改造?
-
-
-
-## 分享
-
-
-
-`单表查询+代码层组装` or `联表查询`

+ 0 - 45
会议记录/[20220407]闵行项目系统指标编制.md

@@ -1,45 +0,0 @@
-一.会议信息
-
-
-
-
-
-二、会议议题
-
-
-
-
-
-资源指标的四大指标:
-
-   1> CPU使用率:指用户进程与系统进程消耗的CPU时间百分比长时间情况下,一般可接受上限不超过85%;
-
-​     a> 查看cpu常用命令: top -bn 1 -i -c (第三行显示cpu当前使用情况)
-
-​      %us:用户应用程序的cpu使用率(没有通过nice调度);
-
-​      %sy:系统程序的cpu使用率;
-
-​      %ni:用户应用程序且通过nice调度过的程序的cpu使用率;
-
-​     ![img](https://img2020.cnblogs.com/blog/1503844/202005/1503844-20200529172943604-928180928.png)
-
- 
-
- 
-
-   2> Memory:内存利用率=(1-空间内存/总内存大小),一般至少有10%可用内存,内存使用率可接受上限为85%;
-
-   3> Disk-源指标是针对服务器而言的;
-
-\2. 资源指标的四大指标:
-
-   1> CPU使用率:指用户进程与系统进程消耗的CPU时间百分比长时间情况下,一般可接受上限不超过85%;
-
-   2> Memory:内存利用率=(1-空间内存/总内存大小),一般至少有10%可用内存,内存使用率可接受上限为85%;
-
-   3> Disk-磁盘I/O:写/读,使用% Disk Time(磁盘用于读写操作所占用的时间百分比),度量磁盘读写性能;
-
-​      a> 如果发现CPU大量的时间花费在等待磁盘操作上面,那可以考虑增加内存,将磁盘的数据导入内存,减少CPU对于磁盘的等待,整体提升系统性能;
-
-   4> Network-网络宽带:一般使用计数器 Bytes Total/sec 来度量, Bytes Total/sec表示为发送和接收字节的速率,包括帖字符在内;

+ 0 - 117
会议记录/[20220412] 技术研讨会议纪要.md

@@ -1,117 +0,0 @@
-[toc]
-
-# 会议主题
-
-分布式框架如何在公司项目中快速落地应用
-
-
-
-# 参会人员
-
-| 永天-吉超博(永天-吉超博)         |
-| -------------------------------- |
-| 研发中心-詹叶俊(研发中心-詹叶俊) |
-| 韩锐(韩锐)                       |
-| ya(ya)                           |
-| enzhou(enzhou)                   |
-| 姚强(姚强)                       |
-
-## 研讨内容
-
-1.分布式组件,平台有哪些组件结构&微服务业务模块结构说明 
-
-  1.1) 需要注重版本 
-
-2.现有业务SaaS多租户改造方法  
-
-  2.1) 重要,后期开发涉及到
-
-3.两个框架(ruoyi,jeecg)选型最终确定  
-
-​	3.1)保证各个业务相对独立性
-
-​	3.2)单体服务和集群服务伸缩性(再研究)
-
-​	3.3)注册中心要支持C++,python,php (叶俊可以研究)
-
-4.api的管理,生产者和消费者之间的构成关系,工具类的实现和封装方式,自动生成代码的方式,以及项目的发布流程
-
-
-
-## 讨论
-
-1.单体服务和集群服务伸缩性
-
-2.ruoyi 架构
-
-   好处:1.打包,生命周期管理 2  
-
-3.三个平台产品基础
-
-   技术平台---产品概念-----hubble
-
-   业务中台--乐高 (后台,前端) 低代码,可配置, 内标准
-
-   数据中台(iot网关,大数据数(tsdb)存储, 调度AI)
-
-
-
-## 落实事情
-
-###  电力,消防怎么快速在分布式技术平台应用开发
-
-  3.1)  按照技术平台微服务模块结构开发 (杨强给个初版,我在这个初版调整)
-
-  3.2)IOT数据中台查询独立一个查询服务(java,c++) (正义了解当前有多少种数据查询输入输出格式,调研是否抽取,如果当前做不到,按照以前方案)
-
-  3.3)  设计后端物理模型(表) 加入多租户设计要求 (郭恩洲出详细)
-
-  3.4)前端不重复开发登录,系统管理模块,通过租户管理配置出来,业务开发人员专注业务功能开发(杨强,正义合力做出来)
-
-  3.5)业务中台相对统一前端风格,标配默认:首页看板,数据大屏,可以配置
-
-  3.6)宣讲产品价值观,我们做出来的就是标准产品,打磨这个产品功能,而不是为了交付产品
-
-
-
-### SaaS管理平台(乐高)
-
-4.1) 【重要】乐高后台需求设计 (郭恩洲) 
-
-4.2) 乐高后台产品和UI设计原型界面 (王哲,张婷)
-
-4.3) 【特别重要】微服务结构Demo (杨强,郭)
-
-4.4) 【重要】永天云系统管理 优先开发 usky-system-service 照搬rouyi系统管理模块,并加入我们自己设计 (杨强)
-
-4.6)backend-service    永天云租户后台管理  system-service    
-
-4.5)具体切入到业务场景开发(电力,消防)
-
-
-
-## 时间要求
-
--- 设计文档 (正义,郭)
-
-​		-- 租户后台设计
-
-​		--消防,电力设计
-
---技术平台分布式demo架构要出来(小强,郭)
-
-准备阶段(2022年4月1日-20日)
-        平台调研分析 
-        系统文档设计 
-        技术平台搭建,技术组件选型 
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 51
会议记录/[20220418]会议纪要.md

@@ -1,51 +0,0 @@
-## 会议主题:SaaS平台设计说明书研讨
-
-
-
-​    
-
-# 会议议题
-
-1.saas平台(乐高)分成两个子系统,前台,后台
-
-2.重点理解模块
-
-| 系统配置 |      | 提供基础配置,是一种系统参数方式。域名配置 ,提供有:系统名称,登录背景图,中间页背景图,中间页标题,中间页底部名称,中间页logo,主页logo ,登录方式 |
-| -------- | ---- | ------------------------------------------------------------ |
-|          |      |                                                              |
-
-3.**监控对象(坐标)---监控点位,监控设备(设备编号) -- 讨论**
-
-4.王哲:租户管理和平台菜单和平台配置参数是否有重复?
-
-5.韩正义:租户菜单配置与平台菜单配置之间关系
-
-      - 平台菜单是一个模版,添加当前平台已经开发出来功能菜单
-      - 租户菜单根据客户配置平台在对应平台模版下选择菜单
-
-6.集团账号在后面版本中考虑设计,每个租户对应一个平台配置
-
-7.张婷:公司设计风格初版,老板对初版UI感觉不满意,再沟通;
-
-
-
-## 结论
-
-​         -  大家大脑中形成saas平台应用初步框架
-
-​         -   韩正义目的:在具体业务产品设计中,融入平台, 风格样式考虑统一平台;
-
-​        -   前端不重复开发登录,系统管理模块,通过租户管理配置出来,业务开发人员专注业务功能开发
-
-
-
-
-
-# 执行事宜
-
-1.监控对象(坐标)---监控点位,监控设备(设备编号) 术语表述继续讨论
-
-2.王哲本周对设计说明书进行原型设计
-
-3.创建前端代码仓库 郭恩洲
-

+ 0 - 289
会议记录/[20220420]运营中心大屏功能需求方案.md

@@ -1,289 +0,0 @@
-[toc]
-
-# 系统背景
-
-​     东信运营中心系统是将东信相关系统数据通过几个大屏整合起来集中展示,形成运营中心系统
-
-
-
-## 现状分析
-
-餐饮 平均数据量 100条
-
-活动中心 平均每天数据量在 10条
-
-通行记录 平均每天数据量 6000条
-
-
-
-# 系统目标
-
-- 提供4-5个大屏数据支撑展现
-- 结果报表层为数据缓存结果层,在没有计算层数据产生情况,一直保持数据正常展示
-
-
-
-
-# 系统架构
-
-该系统分为两部分,大屏层,接口层,结果报表层 统一归为展示层, 计算层和原始数据层统一归为数据计算层。 在计算层未产生数据情况下,展示层应可以正常展示。
-
-
-
-![image-20220420140134011](/Users/admin/eclipse-workspace/hippo-book/image/image-0420.png)
-
-
-
-
-
-
-
-# 功能需求
-
-## 能源环境
-
-**时间维度**:天
-
-**模块维度**:电量,給排水,暖通,环境
-
-| 指标                        | 指标类型 | 计算时间               | 归属对象                   |
-| --------------------------- | -------- | ---------------------- | -------------------------- |
-| 电量-当月用电量             | Float    | 按天计算               | 能源与环境表               |
-| 电量-上月用电量             | Float    | 按天计算               |                            |
-| 电量-上月用电量分析集合     | JSON     | 按天计算               |                            |
-| 电量-本月层均用电量         | Float    | 按天计算               |                            |
-| 电量-**楼层用电分析**集合   | JSON     | 按天计算               | 能源与环境表               |
-| 给排水-当月用水量           | Float    | 按天计算               | 能源与环境表               |
-| 给排水-上月用水量           | Float    | 按天计算               |                            |
-| 给排水-上月各类型用水量集合 | JSON     | 按天计算               |                            |
-| 给排水-今日用水量           | Float    | 实时计算               | 0                          |
-| 给排水-各类型用水量集合     | JSON     | 实时计算               |                            |
-| 暖通-当月制冷量             | Float    | 按天计算               |                            |
-| 暖通-上月制冷量             | Float    | 按天计算               |                            |
-| 暖通-上月同步               | Float    | 前天计算               |                            |
-| 暖通-当月发热量             |          | 按天计算               |                            |
-| 暖通-上月发热量             |          | 按天计算               |                            |
-| 暖通-发热同步               |          | 前端计算               |                            |
-| 暖通-在线设备数             | Float    | 实时计算               | 暂时拿不到数据,默认都在线 |
-| 暖通-离线设备数             |          | 实时计算               |                            |
-| 暖通-设备总数               |          | 按天计算,实时计算更新 |                            |
-| 暖通-设备本月运行时长集合   | JSON     | 按天计算               |                            |
-| 环境-室内温度               |          | 实时计算               |                            |
-| 环境-室内湿度               |          | 实时计算               |                            |
-| 环境-室外温度               |          | 实时计算               |                            |
-| 环境-室外湿度               |          | 实时计算               |                            |
-| 环境-7日甲醛含量集合        | JSON     | 按天计算               |                            |
-| 环境-7日PM2.5集合           | JSON     | 按天计算               |                            |
-|                             |          |                        |                            |
-
-   
-
-## 安防监控
-
-时间维度:天
-
-模块维度:安防,巡更,消防
-
-| 指标                              | 指标类型 | 计算时间 | 归属大屏 | 描述               |
-| --------------------------------- | -------- | -------- | -------- | ------------------ |
-|                                   |          |          |          |                    |
-| 安防-监控设备个数                 |          | 按天计算 |          |                    |
-| 安防-在线设备                     |          | 实时计算 |          | 提供初始值         |
-| 安防-离线设备                     |          | 实时计算 |          | 提供初始值         |
-| 安防-7日事件总数                  |          | 按天计算 |          |                    |
-| 安防-7日超时处理事件总数          |          | 按天计算 |          |                    |
-| 安防-按时处理总数                 |          | 按天计算 |          |                    |
-| 安防-未处理总数                   |          | 按天计算 |          |                    |
-| 安防-实时视频边界防护事件记录集合 | JSON     | 实时计算 |          |                    |
-| 安防-实时关键区域防护事件记录集合 | JSON     | 实时计算 |          |                    |
-| 巡更-巡更点位数                   |          | 按天计算 |          |                    |
-| 巡更-巡更任务数                   |          | 按天计算 |          |                    |
-| 巡更-按时完成数                   |          | 实时计算 |          |                    |
-| 巡更-延期完成数                   |          | 实时计算 |          |                    |
-| 巡更-实时巡更任务集合             |          | 实时计算 |          |                    |
-| 消防-消防点位数                   |          | 按天计算 |          |                    |
-| 消防-7日消防事件未处理数          |          | 按天计算 |          |                    |
-| 消防-7日消防事件处理数            |          | 按天计算 |          |                    |
-| 消防-7日消防事件按时处理数        |          | 按天计算 |          |                    |
-| 消防-实时告警集合                 |          | 实时计算 |          |                    |
-| 消防-水箱状态                     |          | 实时计算 |          |                    |
-| 消防-水箱水量(液位高低)         |          | 实时计算 |          | 改为液位高低指标   |
-| 消防-消控室值班监控出勤时长       |          | 实时计算 |          |                    |
-| 消防-各楼层实时水压               | JSON     | 定时计算 |          | 这里体现各个配电室 |
-| 消防-各楼层实时电气               | JSON     | 定时计算 |          |                    |
-| 消防-火点智能识别状态             |          | 实时计算 |          |                    |
-|                                   |          |          |          |                    |
-
- 
-
-## 出入通行
-
-时间维度:天
-
-模块维度:人员通行,车辆通行
-
-| 指标                          | 计算时间 | 计算方法 |
-| ----------------------------- | -------- | -------- |
-| 人员通行-今日总人流量         | 实时计算 |          |
-| 人员通行-1楼进入人流量        | 实时     |          |
-| 人员通行-地库进入流量         | 实时     |          |
-| 人员通行-门禁设备数           | 天计算   |          |
-| 人员通行-在线设备             | 定时     |          |
-| 人员通行-离线设备             | 定时     |          |
-| 人员通行-通行成功人次         | 实时计算 |          |
-| 人员通行-体温异常人次         | 实时计算 |          |
-| 人员通行-健康码异常人次       | 实时计算 |          |
-| 人员通行-陌生人次             | 实时计算 |          |
-| 人员通行-打卡时间分析集合     | 定时计算 | JSON     |
-| 人员通行-实时通行数据         | 实时计算 | JSON     |
-| 人员通行-访客未到放数量       | 定时计算 |          |
-| 人员通行-访客访问中数量       | 定时计算 |          |
-| 人员通行-访客访问结束数量     | 定时计算 |          |
-| 人员通行-访客访问部门分析集合 | 定时计算 |          |
-| 人员通行-昨日访客数据分析集合 | 按天计算 | JSON     |
-| 车辆通行-今日车流量           | 实时计算 |          |
-| 车辆通行-地下停车场出入车次   | 实时计算 |          |
-| 车辆通行-地面停车场出入车次   | 实时计算 |          |
-| 车辆通行-今日停车记录分析集合 | 定时计算 | JSON     |
-| 车辆通行-实时停车记录集合     | 实时计算 | JSON     |
-|                               |          |          |
-
-
-
-## 智慧场景
-
-时间维度:天
-
-模块维度:会议,餐饮,活动中心,文印,厕位,阅览室
-
-| 指标                          | 计算时间 | 类型         |                  |
-| ----------------------------- | -------- | ------------ | ---------------- |
-| 会议-会议室总数               | 天计算   |              |                  |
-| 会议-当前在用会议室数         | 实时计算 |              |                  |
-| 会议-昨日使用时长             | 天计算   |              |                  |
-| 会议-昨日未使用时长           | 天计算   |              |                  |
-| 会议-7日线下会议次数          | 天计算   |              |                  |
-| 会议-7日线上会议次数          | 天计算   |              |                  |
-| 会议-7日混合会议次数          | 天计算   |              |                  |
-| 会议-7日会议时长分析集合      | 天计算   | JSON         |                  |
-| 会议-7日会议平均时长          | 天计算   |              |                  |
-| 会议-7日会议按部门分类集合    | 天计算   | JSON         |                  |
-| 会议-7日会议部门分类平均时长  | 天计算   |              |                  |
-| 餐饮-今日消费                 | 实时计算 |              |                  |
-| 餐饮-今日消费人次             | 实时计算 | 是实时累加么 |                  |
-| 餐饮-早餐人均消费             | 定时计算 |              |                  |
-| 餐饮-午餐人均消费             | 定时计算 |              |                  |
-| 餐饮-晚餐人均消费             | 定时计算 |              |                  |
-| 餐饮-7日消费金额集合          | 天计算   | JSON         |                  |
-| 餐饮-本月早餐最受欢迎菜品集合 |          | JSON         |                  |
-| 餐饮-本月中餐最受欢迎菜品集合 |          |              |                  |
-| 餐饮-本月晚餐最受欢迎菜品集合 |          |              |                  |
-| 餐饮-午餐高峰部门用餐分析集合 | 定时计算 |              | 初始值用昨天数据 |
-| 活动中心-今日消费             |          |              |                  |
-| 活动中心-今日消费人次         |          |              |                  |
-| 活动中心-7日消费金额集合      | 天计算   | JSON         |                  |
-| 活动中心-7日消费类型分析集合  | 天计算   | JSON         |                  |
-| 活动中心-7日消费部分分析集合  | 天计算   | JSON         |                  |
-| 文印-打印机数量               | 天计算   |              |                  |
-| 文印-今日打印任务数           | 实时     |              |                  |
-| 文印-今日打印任页数           | 实时     |              |                  |
-| 文印-7日部分打印页数集合      | 天计算   | JSON         |                  |
-| 厕位-厕位总数                 | 天       |              |                  |
-| 厕位-当前空闲                 | 实时     |              |                  |
-| 厕位-当前空闲绿               | 前端计算 |              |                  |
-| 厕位-当前楼层使用率集合       | 实时     | JSON         |                  |
-| 阅览室-总外借数               | 天计算   |              |                  |
-| 阅览室-还书准时率             | 天       |              |                  |
-| 阅览室-在外数量               | 天       |              |                  |
-| 阅览室-员工阅读喜好分析集合   | 天       | JSON         |                  |
-|                               |          |              |                  |
-
-
-
-## 概览
-
-时间维度:天
-
-模块维度:能环,安消,出入通行,智慧场景
-
-| 指标                      | 计算时间 |      |
-| ------------------------- | -------- | ---- |
-| 能环-当月用电量           | 天       |      |
-| 能环-日均用电量较上月     |          |      |
-| 能环-当月用水量           |          |      |
-| 能环-日均用水量较上月     |          |      |
-| 能环-当月制冷量           |          |      |
-| 能环-日均制冷量较上月     |          |      |
-| 能环-当月发热量           |          |      |
-| 能环-日均发热量较上月     |          |      |
-| 能环-室外温度             | 实时     |      |
-| 能环-室内温度             | 实时     |      |
-| 能环-室内湿度             | 实时     |      |
-| 能环-室内PM2.5            | 实时     |      |
-| 能环-监测设备总数         | 天计算   |      |
-| 能环-监测设备在线数       | 实时     |      |
-| 安消-本月安防事件已处理数 |          |      |
-| 安消-本月安防事件未处理数 |          |      |
-| 安消-摄像头总数           |          |      |
-| 安消-关键监控区域         |          |      |
-| 安消-周边防护设备数       |          |      |
-| 安消-本月消防事件已处理数 |          |      |
-| 安消-本月消防事件未处理数 |          |      |
-| 安消-消防管道平均水压     |          |      |
-| 安消-配电箱平均温度       |          |      |
-| 安消-基础消防设备数       |          |      |
-| 通行-人员通信人次         |          |      |
-|                           |          |      |
-
-
-
-# 表设计
-
-表设计总数:18
-
-表定义格式:   operation___维度模块_____day 
-
-​                          operation___维度模块____hour              
-
-
-
-| 表名                      | 表子段 | 字段类型 | 计算     | 描述          |
-| ------------------------- | ------ | -------- | -------- | ------------- |
-| 日期                      | t_date | datetime |          |               |
-| 电量-当月用电量           |        | Float    | 按天计算 | 能源与环境表  |
-| 电量-上月用电量           |        | Float    | 按天计算 |               |
-| 电量-上月用电量分析集合   |        | Text     | 按天计算 |               |
-| 电量-本月层均用电量       |        | Float    | 按天计算 |               |
-| 电量-**楼层用电分析**集合 |        | Text     | 按天计算 | 能源与环境表  |
-| 租户ID                    |        | int      |          | 默认值:10316 |
-| 创建时间                  |        |          |          |               |
-| 更新时间                  |        |          |          |               |
-
-
-
-
-# 接口设计
-
-- URL定义:模块URL?
-
-  查询规则:
-
-  - 如果通过传入日期无数据处理,默认查询最后一条数据
-  - 提供cache缓存(X小时)
-
-- 输入:
-
-|                | 类型 |               |
-| -------------- | ---- | ------------- |
-| 日期(非必填) | text | ”2022-04-22“  |
-| 租户ID         | int  | 默认值:10316 |
-|                |      |               |
-
-- 输出:
-
-  ```
-  ```
-
-  
-
-

+ 0 - 17
会议记录/[20220421] 微服务技术分享.md

@@ -1,17 +0,0 @@
-# 几个问题
-
-1.useky-demo 包命名
-
-  com.usky.demo.biz 改为 com.usky.demo
-
-
-
------------------------------------------------
-
-1.usky 是否该为 uskycloud ?
-
-2.feigin 远程调用演示(相互调用)
-
-3.提供一个默认公共nacos配置
-
-4.怎么获取session token 信息;用户ID  (工具获取不到)

+ 0 - 139
会议记录/[20220424] 会议纪要.md

@@ -1,139 +0,0 @@
-# 会议主题
-
-  1 永天电力SaaS平台试验田启动
-
-(功能需求,原型讨论,开发计划,可预期的目标效果)
-
-- 不能闭门造车,五继电力数据平移(),进行升级,如果做不到,新做一个测试站点;
-
-- 老用户是否可以使用我们新的产品;
-
-- 对于数据采集入口,进行讨论;(数据底座,数据采集绝对控制权)
-
-- 五继电力数据平移先做出来;(演示标杆)
-
-  2 东信园区大屏标准产品化讨论(功能需求,实现框架)
-
-- 东信业务模型,业务场景比较多,
-
-- 电力平台是否融入到园区场景;(基础底层相同,业务逻辑不同)
-
-- 电力搭好是否快速复制,延伸到园区这块,未来市场:做智能建筑
-
-- IBMS:做成云架构模式
-
-  3.关于IOT设备模型,GIS设施管理模型设计讨论;
-
-​      4.东信园区系统讨论
-
-​     #### 平台建设核心
-
-  - 园区建立目标:IBMS:做成云架构模式
-  - 每个系统垂直深入
-  - 商业模式:云服务租户容量限制和新付费模式
-  - 工程转为服务模式,从项目转产品,从工程转服务
-  - 以电力saas平台形成基础底座,扩展到楼宇平台
-
-
-
-设备设施系统   https://smartpark.caih.com/deviceManager  admin admin123
-
-- 问题0:设备有很多厂家,当前接口设计
-- 问题1:如果以后改为saas架构,需要什么方面调整;(功能模块复制,数据采集方式,结构设计做的调整)
-
-充值系统          https://smartpark.caih.com/vuedx/#/login.  admin. admin123
-
-- 问题0:跨了几个系统的充值?
-- 问题1:充值和消费的打通谁在做?
-- 问题2:两个系统()不一样对接方式在哪里?
-- 问题3:充值saas架构?(抽取自己充值服务)
-
-安防系统          http://10.21.39.1:8082/#/login   admin admin123  内网
-
-- 问题0:安防系统saas架构怎么改造
-
-  Yq:抽出一个视频服务,整合行业多个安防视频厂商,对于我们saas平台应用只对接自己的视频服务
-
-中控管理		http://10.21.39.6:86/#/system/user zkadmin	123456
-
-- 人员部门管理,单点登录管理,文件(代码)
-
-餐饮系统 		http://10.21.39.5:81/	admin	12345678   // 杭州厂家
-
-- 餐饮设备,消费管理,统计相关功能
-
-会议系统		http://10.21.39.5:82/	hyadmin	123456 yingli	12345678
-
-- 厂商:方途
-
-一卡通			http://10.21.39.6:89/	yktadmin	12345678
-
-- 一卡通整合到门禁,停车
-- 厂商:费浦
-
-运营中心大屏	http://10.21.39.6:91/#/board
-
-- 安防,环境,人员,车辆通行大屏展示
-
-文印系统		http://10.21.39.6:88	admin	12345678
-
-- 厂商:eMPrint
-
-智慧用电
-
-- 功能:日月报表分析,平谷峰值用电,
-
-环境监测
-
-- 厂商:霍尼韦尔
-
-- 功能:温度,湿度感知设备管理
-
-园区集成平台
-
-- 功能:监控室设备,数据看板,静态数据结构管理
-
-东信币管理
-
-- 功能:东信员工在楼宇活动奖励,消费场景
-- 问题:当前员工用钱充值的积分和奖励的积分无法区分开
-
-
-
-
-
-计划:
-
------------------
-
-永天云SaaS平台建议实施进度安排如下:
-准备阶段(2022年4月1日-20日)
-        平台调研分析 
-        系统文档设计 
-        技术平台搭建,技术组件选型 
-建设阶段:(2022年4月21日-7月21日)
-     5月 业务中台 - SaaS管理平台(代号:乐高)      发布SaaS1.0
-     6月 数据中台 - 物联网数据平台 (代号:待定)   发布DaaS1.0  
-     5月-7月 智慧电力,智慧消防企业版应用产品接入  
-
-产品目标:
-    1.建立可适用的基础底座,业务中台,数据中台框架,将现有优秀的系统平移动平台;
-    2.商业价值:满足低成本快速部署,快速对接客户;
-    3.带团队走向平台产品化道路,进行转型
-
-
-
----------------------
-
-预期目标4个效果:
-
-​    1.中间页-功能齐全
-
-​    2.数据看板- 告警,用电量,负载
-
-​    3.大屏-  三维效果
-
-​    4.站点云地图-- 站点设施,运维人员实时精准定位
-
-​    5.数据按照租户隔离,快速复制新租户;
-

+ 0 - 5
会议记录/[20220426]公司培训.md

@@ -1,5 +0,0 @@
-
-
-![image-20220426150556551](/Users/admin/Library/Application Support/typora-user-images/image-20220426150556551.png)
-
-![image-20220426150613854](/Users/admin/Library/Application Support/typora-user-images/image-20220426150613854.png)

+ 0 - 1
会议记录/[20220428]徐言秋.md

@@ -1 +0,0 @@
-![image-20220428133520752](/Users/admin/Library/Application Support/typora-user-images/image-20220428133520752.png)

+ 0 - 48
会议记录/[20220507]东信交付讨论.md

@@ -1,48 +0,0 @@
-
-
-【问题】
-
-1.设备终端数据进入中控平台转发,还是各个业务系统访问经过中控平台转发
-
-2.目的怎么应对对方,还是我自身怎么改造?
-
-【想法】
-
-1.集成系统和平台系统区别。系统功能我们实现了,数据共享和管控架构需要调整,但是不影响的交付的。
-
-【讨论结果】
-
-​    按照原合同交付,找应对对方的方案
-
-【中控方案】
-
-  1.系统管理 ---  接口汇聚,人员同步统一管理;10月/
-
-  2.场景配置 ---  业务流程,配置一个业务流程场景;(一卡通场景,会议场景,活动室场景审批)。10大场景
-
-  3.接口管理 ---  接口注册, 接口统一转发;
-
-  4.开发配置 
-
-
-
----------------------
-
-资源:
-
-杨强---
-
-大体成本
-
-
-
-
-
-# 20220507 
-
-------------
-
-- 中心接口调度部分
-
-
-

+ 0 - 213
会议记录/[20220509]防疫项目申报创意整理.md

@@ -1,213 +0,0 @@
-[toc]
-
-# 介绍
-
-​    政府文件内容:https://mp.weixin.qq.com/s/T1xHB_wkg6s1cSAXYTX7PQ
-
-
-
-# 提纲
-
-## 居家隔离数字管理平台
-
-- 创意分类:   防疫新产品
-
-- 提出人:杨总
-
-- 需求迎合点:快速实现疑似病例快速筛查、远程诊疗的智慧医疗系统和解决方案;面向重点人群防控
-
-- 创意内容:  1.对于居家人员隔离实现24小时全程跟踪
-
-  ​                     2.通过远程红外温度测量,电子传感器锁,远程呼叫帮助政府社区进行远程监管
-
-  
-
-## 社区居民保供物资申请平台
-
-- 创意分类:防疫新应用
-- 提出人:姚总
-
-- 需求迎合点:为有关病毒抗体研发、医疗救护、疫情防控、防疫物资调动等提供算力支撑的云计算公共服务平台
-
-- 创意内容:1.社区居民保供物资申请平台,居民不靠网购、团购,在统一平台上申请(购买)保供物资,自动形成拼单;
-
-  ​                    2.物流由区域政府组织,保证每日一定的运力资源投入(采购服务),商家在平台上抢单,形成竞争,合理降低保供时期的物资成本
-
-
-
-## 楼宇无人检测机
-
-- 创意分类:防疫产品
-- 提出人:李总
-- 需求迎合点:能够提供赋能物资配送、环境消杀、安防巡逻、服务陪伴、疫情区防控等应用场景的智能服务机器人、无人送货车、无人机、无人检测机、无人采样机器人
-
-- 创意内容:1.消杀,健康码,温控一体无人检测设备
-
-  ​                   2.所有数据和楼宇健康云平台系统打通,实现健康管理和预警
-
---  无人机协会
-
---  楼宇
-
--- 施总 和我们公司实际情况出发,可行性上
-
---------------------------
-
-
-
-
-
-## 园区健康管理平台
-
-- 创意分类:防疫新应用
-
-- 提出人:郭
-
-- 需求迎合点:为有关病毒抗体研发、医疗救护、疫情防控、防疫物资调动等提供算力支撑的云计算公共服务平台
-
-- 创意内容:1.针对楼宇和居家提供健康信息管理
-
-  ​                   2.健康分级预警,和政府防疫平台防疫信息同步
-
-
-
-## 防疫物资物流运输监管平台
-
-- 创意分类:防疫新应用
-
-- 提出人:郭
-
-- 需求迎合点:能够提供赋能物资配送、环境消杀、安防巡逻
-
-- 创意内容:1.对于政府物资运输车进行全程监管,
-
-  ​                   2.通过配备一体重量,定位传感器 对于车辆和货物从起点和终点全程跟踪;
-
-
-
-1.和无人检测机结合使用
-
-2.
-
-
-
-
-
-------------------
-
-【头脑风暴】
-
-- 施总
-
-​       内容:1.对5个创意分别进行评价,
-
-​                   2.无人检测设备,社区居民保供物资申请平台 可行性强
-
-- 孙总
-
-  1.云平台方面用户数据比较敏感,建议做细分领域的云平台,比如:楼宇无人检测设备和监控平台结合
-
-- Sandra
-
-​     1.有利于复工复产,线上办公,人员管理,复工人员管理产品,从社会面来看
-
-- ¥¥¥
-
-​      内容:   1.智能消毒柜
-
-​    结论:想法好,可落地实施性不强,带自动消杀,成本高
-
-- 唐
-
-​    内容:云监控:对于人流,物资监控,监控点借住云平台
-
-​    结论:
-
-- 徐
-
-​    内容:1.从智能化角度,以预防角度
-
-​                2.楼宇空调系统,对于空气质量检测
-
-​                3.紫外线灯 在非营业时间段,系统自动开启紫外线灯
-
-
-
-【收】
-
-1.可落地
-
-2.体现我们公司优势
-
-3.时间成本,预留文档编写
-
-
-
-【总结】
-
-1.居家隔离环境管理方向: 利用VR激素,数字孪生技术,手环公共区域,用传感器的技术跟踪用户的运动轨迹
-
-2.非居家环境管理方向:办公场所做疫情防控, 人员出入管理,数字哨兵,针对应用场景,人脸认证,健康码认证
-
-3.软件,硬件,平台
-
-
-
-
-
-1.VR居家隔离平台: 政府动态查看他们动态情况
-
-无人居家隔离数字平台:基于数字孪生技术的居家隔离实时监控管理平台,各种传感器、手环
-
-无人社区消毒柜数字平台:
-
-无人楼宇哨兵数字平台  :楼宇进出管理一体应用场景,人脸认证,健康码认证
-
-
-
-1.一个区网格,共用一个平台
-
-2.租赁平台使用,搭建一个租赁平台.
-
-3.车载无人机方案和租赁业务平台
-
-4.
-
-
-
-时间:
-
-今天晚上
-
-三个内容:
-
-1.我们是谁
-
-2.我们申请的主题
-
-3.请领导给予关注,关心
-
-4.先确认好几个方向
-
-5.
-
-
-
-
-
-疫情安防巡检
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 22
会议记录/[20220524]派米雷项目.md

@@ -1,22 +0,0 @@
-1.整栋出售,
-
-2.现场有几个系统:
-
-- 现有情况
-
-​    监控系统,道闸系统,大门口LED,
-
-​     摄像机监控系统
-
-​    电子巡更系统
-
-- 希望:
-
-  园区管理,贴近人员管理,
-
-​                电表,水表平谷峰
-
-​                LED屏,物业管理信息播报员
-
-​                领导参观,形象大屏工作
-

+ 0 - 11
会议记录/[20220531]世茂沟通会议.md

@@ -1,11 +0,0 @@
-1.组织验收,不能验收的作用
-
-2.不能验收,确认设计稿,确认流程
-
-
-
-# 世茂诉求:
-
-1.世茂代码完成,永天验收,世茂验收
-
-2.设计,原型都是我们这边,世茂出coding

+ 0 - 65
会议记录/[20220606]管理会议.md

@@ -1,65 +0,0 @@
-# 主题
-
-1.回顾产品开发计划
-
-2.演示产品
-
-3.关于产品宣讲(研发支撑市场,让研发产生价值)
-
-
-
-
-
-## TODO
-
-1.消防企业
-
-
-
-1.方案
-
-2.其次演示
-
-3.电力公司演示功能
-
-4.国网电力()
-
-
-
-
-
-6.发展趋势 价值分析
-
-5.能耗可以交易()
-
-7.体现出我们技术优势
-
-
-
-
-
-1.给电力老大演示我们的系统
-
-   数据说话()
-
-   电力内部,平均处理时效;先了解现在数据;
-
-   降本增效,
-
-2.技术优势
-
-  SAAS 平台五继客户
-
-  平台化架构,高效产出数据
-
-  用能月报
-
-   1.用电数据--分析出工厂,家庭的异常情况
-
-   2.家庭国网电力----
-
-  
-
-  
-
-   

+ 0 - 59
会议记录/[20220613]管理会议.md

@@ -1,59 +0,0 @@
-# 企业版本
-
-
-
-1.管理上,人员资源有限,产品经理牵头,敏捷迭代模式
-
-2.技术平台,业务中台和数据中台,目前在具体项目中落地
-
-3.尽快准备,时间点() 上线,小视频
-
-4.董艳()
-
-5.研发会议(没问题)
-
-
-
-#消防企业版开发设计
-
-- 市场调研端
-
-- 梅总:企业用户端市场调研需求
-
-- 本周重点:1.闵行招标事项准备,怎么控标,闵行对接收口
-
-  ​					2.如何申报二期项目?
-
-  ​                    3.闵行科委支队长都对接过
-
-  ​                    4.招标工作工作重心工作;
-
-  ### 本周工作没有完成原因是什么情况?
-
-    
-
-  
-
-  ### 项目申报:CMMI认证补贴
-
-   1.项目申报:CMMI认证补贴;
-
-   2.软件中小企业,高兴;
-
-   3.上海市科委,政府科委
-
-  # 东信验收
-
-  1.管理奋勇
-
-​       2.早安图片;(每天把这个)有创意死
-
-​       3.市场品牌
-
-
-
-
-
-
-
- 

+ 0 - 149
会议记录/[20220617]电力发布会总结.md

@@ -1,149 +0,0 @@
-#开场白
-
-各位领导,同事 下午好!
-
-   今天公司内一场发布会,感谢大家过来,各事业部老大,大大小小硬件设备软件都用过,那些都是不断打磨秀出来优秀产品,今天发布产品,宣讲价值,接受吐槽,不断提升产品。请看下小视频
-
-
-
-#3
-
-   第一个环节有给大家介绍SaaS平台背后一些架构工作,对于平台化主要有两个重要工作:业务微服务化和平台数据化。
-
-这个阶段小伙伴在做业务服务化工作,SaaS平台当前新的服务方式, 它的特性:面向中小企业,低成本,可复用. 智慧电力是我乐高体系第一个玩具。
-
-
-
-#4
-
-这是讲的三个内容,平台概述商业价值,建设这个平台背后支撑核心技术,。
-
-
-
-#5
-
-  如何快速响应用户需求 ,平台做两方面重要工作, 我们建立一个乐高平台 形成一个多租户管理模式,有新的客户,配置多新的客户提供试用版本,如果客户设备是在我们标准设备协议或者清单内,物联网平台接入,智慧电力是我乐高体系第一个应用玩具
-
-
-
-#9
-
-
-
-
-
-第一次讲:不知道事业部需求
-
-如何从“集成平台” 跨越 “SaaS平台”,我们先看建设平台中我们遇到痛点。
-
-
-
-
-
-做服务不做系统
-
-数据业务化, 业务数据化, 业务智慧化
-
-
-
-
-
-1.为什么要用
-
-2.平台建设商业价值
-
-3.阿里体系:(中间
-
-
-
-
-
-
-
-# 平台价值
-
-1.平台价值(平台复用很关键,提高利用率,降本增效)
-
-2.如何从“集成平台” 跨越 “SaaS平台”
-
-3.了解SaaS平台背后事情
-
-
-
-# 科委
-
-1.调研客户需求,不能闭门造车。
-
-2.产品分层:基础版,企业版;
-
-3.模块化-内部模块化,外部模块化;
-
-4.CMMI3 管理体系;
-
-5.乐高体系(永天模块化智慧平台)
-
-6.低代码工具(专业化)
-
-7.阶段评审
-
-8.看板数据空的,如果演示;
-
-9.促进消防,电力,方案写出来;【**重要**】
-
-
-
-
-
-
-
-
-
-1.有需求的功能;(技术能力,提出技术核心,技术信心)
-
-2.怎么实现的(方向侧重点)
-
-3.抖音直播(直观告诉你什么功能)
-
-
-
-下一步:
-
- 1.各个重点:技术核心,技术信心;(第一次讲:背后事情);
-
- 
-
-主题:平台化,电力方面;
-
-场合:
-
-1.平台化概念--是公司战略方向,技术核心,技术信心;
-
-2.客户导向---解决问题,宗旨(赋予表面)
-
-3.研发亮点(发布亮点,实时就是)
-
-
-
-
-
-业务平台
-
-- 业务平台
-- 数据平台
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 57
会议记录/[20220627]管理会议.md

@@ -1,57 +0,0 @@
-杨总:1.世茂验收标准:代码量评估,投入多少?满足客户整体验收;(互信,宏观方面);
-
-   1.核心代码量不多
-
-   2.硬件和系统,系统和系统 联调过程;
-
-   3.通过验收(92万)
-
-永固
-
-
-
-2.初步验收和整体验收(运行6个月,场景化开发)
-
-3.总包合同(工作成果,代码量)/交付;
-
-4.世茂  --(原型,设计);
-
-5.明天上午有空(看不到系统演示),周四周五过来;
-
-6.杨总:拿来主义基因,信息不对称时代;
-
-----------------------------------------------------------------------------------------------------------------------------------------------
-
-- 如何公司建立业务垂直领域过程?
-
-  - 智慧系统都要经历三个业务阶段:业务数据化-->数据业务化-->业务智慧化。大部分项目型信息系统走在业务数据化过程停止不前了,所以无法形成垂直领域的发展。数据业务化是在数据理积累和理解基础上对于领域提出新的管理模式和服务模式。
-
-- 如何打造业务中台?
-
-  - 业务中台也是数据业务化-建议
-
-- 专注倾向力量发展;
-
-  - 开发策略-以项目的落地推进,多给两个楼宇项目落地;
-  - 商业模式:
-  
-- 怎么落地实现,数据平台和SaaS平台化,
-
-- 行业论坛:每个区组织交流培训。从进度款满足下;
-
-- 派米雷园区和闵行企业版平台化技术平台工作准备;
-
-- 找下楼宇SaaS平台,楼宇到底哪些差异,SaaS平台开发模式;
-
-  --------------------------------------------
-
-  
-
-  跨平台管理
-
-  - 系统跟系统关联管理
-  - 人员进出权限----车辆进出股哪里;
-
-
-
-会议系统

+ 0 - 33
会议记录/[20220628]台华新材.md

@@ -1,33 +0,0 @@
-
-
-
-
-## 基本情况
-
-- 面积:几百亩
-
-- 生采
-
-- 住宿
-
-- 食堂
-
-
-
-## 客户要求
-
-- 1.亮点的东西,不需要大而全
-
-- 2.无人机巡检(太湖区域
-- 3.餐饮定额式
-- 4.无线wifi
-- 5.智慧通信:电话网络,数据交换机
-- 6.有线电视
-- 7.中控
-- 8.智慧停车道闸
-- 9.文印系统
-- 10.无人机巡检
-- 11.生产性的园区的出个方案;
-
-
-

+ 0 - 60
会议记录/[20220704]管理会议.md

@@ -1,60 +0,0 @@
-## 会议内容
-
-[姚总]
-
-1.视频方式对产品推广的方式(电力,消防);
-
-
-
-[杨总]
-
-1.实际场地调研,出合同清单,12月31日完成支撑
-
-
-
-[梅总]
-
-1.怎么防止开发人员被同行挖走,代码和人员对公司造成损失	
-
-2.研发团队标准接口,标准框架建设, 不因为某一个人走,影响开发情况
-
-​	 目前正在进行,分布式平台化;
-
-3.和五继合作模式和合作关系变化;
-
-
-
-
-
-
-
-[结论]
-
-   1.关于致远OA,老板在谈的时候,价格合适情况下请优先要求私有化部署,主要考虑以下两点:1.公司有开发团队便于二次开发,方便后期多系统集成,公司后期上市后,业务细化,对于功能需求变化 ;2.如果长期使用使用私有化部署性价比更。对于低代码平台,当前团队一部分力量在加快搭建数据平台。我这里考虑在7月底左右建立低代码开发平台出来. 
-
-2.科技绿洲总部大楼
-
-3.
-
-
-
-
-
-
-
-20220711
-
-1.基础版
-
-2.华为云新增服务器---
-
-3.消防企业版大屏招投标
-
-4.
-
-
-
-
-
-
-

+ 0 - 36
会议记录/[20220706]太敬集团现场交流.md

@@ -1,36 +0,0 @@
-客户提问:
-
-1.各个供应商都有系统,我们需要做什么?
-
-   1.我们在做平台,自主研发平台IOT物联网平台
-
-   2.业务标准化,各个系统单一体,体现不出;
-
-   3.智能化-- 楼宇信息化;
-
-   4.技术优势:加速企业;
-
-2.客户价格.你开发的平台和其它平台有什么不一样, 成本低;   
-
-3.综合平台----各个供应商提供服务,没有机遇;
-
-4.技术势力和性价比;
-
-
-
-# 学习
-
-再信任的人,只相信自己的耳朵和眼睛,不相信的其它人;
-
-工作中,如果遇到沟通冲突,决定后,按照老板要求做完,即使你知道失败的,也要认真做完,让老板认知后不再犯错
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 315
会议记录/[20220725]述职会议&总结.md

@@ -1,315 +0,0 @@
-## 姚总
-1.微服务和本地差异
-
-2.ming
-
-- 评价
-
-  
-
-# 施总
-
-1.姚总和我在工作角色划分;
-
-2.对于当前团队人员层次,你是怎么看待的?
-
-- 评价
-
-1.工作严谨,技术岗位需要严谨
-
-2.
-
-### Bela
-## 提问:
-1.怎么管理,
-2.个人规划
-
-评价
-
-1.郭总是第一个提出转正的
-
-2.多于研发,少于管理,团队每个人纬度情况,没有表现出来
-
-## 评价:
-1.PPT不够细腻
-2.企业文化不够严谨
-
-
-### 梅总
-提问:
-1.大而至简;
-
-评价:
-
-1.作为永天技术总监,内部和外部客户,交流宣导,准备情况不足;
-
-2.大而至简,最高级的处理方法,只有面对团队真实问题,才能带领团队解决,宏观,沉下去,解决问题
-
-3.将自己的管理方法,标准化 输出文档形成公司的资产
-
-还没有站立在管理者角度,管理和发展规划
-
-
-
-
-
-### 杨总 
-1.怎么算完成,当前show出来
-2.给用户使用才算踏实
-
-3.结果导向,你做的产品客户评价作为最终目标;
-
-评价:
-
-1.保留;
-
-
-
-
-
-杨总 汇报几件事情
-
-1.东信园区代码
-
-1.园区平台化以派米雷
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 2个月目标
-
-## 管理方面
-
-- 推出管理方法论(方案立项)效果不大,管理基础;(敏捷方式,PDT)团队
-- 
-
-## 技术方面
-- 提供 
-
-- 推进数据平台建设,提供新型时序数据库存储,原有mysql数据导入新数据库 完成100%
-
-- 
-
-  
-## 园区平台化
-- 推进
-
-
-
-
-
-2.工作回顾
-
-【准备阶段】(2022年4月1日-20日)
-
-        - 平台调研分析              已完成
-
-- 技术组件选型              已完成
-
-- 技术平台搭建              已完成
-
-- 系统文档设计              已完成
-
-  架构设计,需求设计,原型设计
-
-  【建设阶段】:(2022年4月21日-7月21日)
-
-- 4月 技术平台 - 分布式平台搭建(系统代号:Hubble) 完成
-
-- 5月 业务中台 - SaaS管理平台(系统代号:Lego)      发布SaaS 1.0
-
-- 6月 数据中台 - 物联网数据平台 (系统代号:待定)   发布DaaS1.0
-
-- 5月-6月 智慧电力产品接入,疫情期间三个版本开发,形成里程碑版本
-
-- 7月-12月  启动智慧园区-派米雷,消防企业版 产品接入
-
-
-
-3.工作成绩
-
-
-
-4.
-
-
-
-## 第2次述职
-
-1.工作回顾
-
-1.1管理工作
-
-​	团队高效管理
-
-​    团队骨干培养
-
-2.1 技术工作
-
-   TSDB数据库建设
-
-   SaaS平台建设
-
-   专利申报工作
-
-3.1 项目工作
-
-​    东信智慧园区项目
-
-​    闵行支队数字平台
-
-2.研发中心技术产品规划
-
- 2.1 建立永天核心产品体系(标准化才能规模化)
-
-​      
-
- 2.2 精耕领域(专注才能专业)
-
-
-
-2.3 大而至简,探索小团队高产值模式
-
-
-
-3.对公司的建议
-
-   3.1 成立项目(产品)管理委员会
-
-4.工作体会
-
-​    
-
-
-
-技术工作
-
-
-
-建议:
-
-​    成立项目管理委员会(PMO)
-
-​    成立产品管理委员会
-
-
-
-1.架设沟通桥梁:让不同业务、不同产品参与者以共同的语言沟通协调
-
-2.管理产品战略:决定做什么、不做什么,制定产品的方向和基本路线,拆解目标,促进协作,解决团队间的冲突。
-
-3.构建指导原则:关于怎么做,提供可操作的产品运营与设计理念,有可操作的量化标准,清晰可落地的作战方针。将产品管理权适度下放给一线。
-
-4.探索创新道路:关注延续性和破坏性创新力量,延续性创新能够及时跟进。对破坏性创新,能组织创新力量去独立跟进。
-
-
-
-<p data-pid="OWa0q_vm">1.架设沟通桥梁:让不同业务、不同产品参与者以共同的语言沟通协调。</p>
-<p data-pid="mutmlCX3">2.管理产品战略:决定做什么、不做什么,制定产品的方向和基本路线,拆解目标,促进协作,解决团队间的冲突。</p>
-
-<p data-pid="T5onwrOf">3.构建指导原则:关于怎么做,提供可操作的产品运营与设计理念,有可操作的量化标准,清晰可落地的作战方针。将产品管理权适度下放给一线。</p>
-<p data-pid="ZuNi128C">4.探索创新道路:关注延续性和破坏性创新力量,延续性创新能够及时跟进。对破坏性创新,能组织创新力量去独立跟进。</p>
-
-
-
-![image-20220920105853807](data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1069 758"></svg>)
-
-​    专注才能专业
-
-​    标准化才能规模化
-
-
-
-感悟
-
-**危中往往“有机”**
-
-
-
-
-
-永天云SaaS平台建设计划进度情况如下:
-【准备阶段】(2022年4月1日-20日)
-
-- 平台调研分析              已完成
-- 技术组件选型              已完成
-- 技术平台搭建              已完成
-
-【建设阶段】(2022年4月21日-7月21日)
-
-- 4月 技术平台 - 分布式平台搭建(系统代号:Hubble) 完成
-
-- 5月 业务中台 - SaaS管理平台(系统代号:Lego)      
-
-- 6月 数据中台 - 物联网数据平台 (系统代号:待定)   
-
-- 5月-6月       智慧电力产品接入  
-
-- 7月-12月  启动智慧园区-派米雷,消防企业版 产品接入
-
-【产品目标】
-
-- 建立可适用的基础底座,业务中台,数据中台框架,将现有优秀的系统平移动平台;
-- 商业价值:满足低成本快速部署,快速对接客户;
-
-
-
-
-
-
-
-
-
-一直在推动两件事
-
-
-
-
-
-
-
-### 核心价值观
-
-一起梦想,一起成长,一起分享
-
-### 企业使命
-
-用数字化时代端助力客户融入数智时代
-
-### 企业愿景
-
-成为智慧数字产业的领跑者
-
-
-
-
-
-
-
-
-
-开一次远程会议
-
-
-
-
-
-
-
-
-
- 
-
-
-

+ 0 - 162
会议记录/[20220805]世茂代码分析.md

@@ -1,162 +0,0 @@
-# 世茂系统情况分析
-
-
-
-## 访问地址
-
-10.21.39.6:92 zkadmin/123456  智慧用电
-10.21.39.6:88 wyadmin/123456  文印系统
-10.21.39.5:93 zkadmin/123456     环境监测
-10.21.39.6:89  yktadmin/12345678  一卡通
-10.21.39.5:82  hyadmin/123456    会议管理
-10.21.39.5:81  cyadmin/123456   智慧餐饮
-10.21.39.6:86  zkadmin/123456   中控平台
-10.21.39.5:90  zkadmin/123456  集成管理
-10.21.39.6:91  zkadmin/123456   运营中心
-
-
-
-# 世茂东信现场部署情况
-
-### 10.21.39.5
-
-zhcy    智慧餐饮
-hjjc     环境监测
-hyxt    会议系统
-jcpt     集成平台
-
-![image-20220727143535696](/Users/admin/Library/Application Support/typora-user-images/image-20220727143535696.png)
-
-### 10.21.39.6
-
-ykt      一卡通
-zkxt    中控系统
-wyxt   文印系统
-yyzx    运营中心
-zhyd   智慧用电
-
-![image-20220727143550516](/Users/admin/Library/Application Support/typora-user-images/image-20220727143550516.png)
-
-### 10.21.39.2 
-
-H5
-
-
-
-![image-20220727143417206](/Users/admin/Library/Application Support/typora-user-images/image-20220727143417206.png)
-
-
-
-
-
-# 对方部署jar包
-
-![image-20220727154806386](/Users/admin/Library/Application Support/typora-user-images/image-20220727154806386.png)
-
-10个项目,只有一个工程
-
-![image-20220727155555930](/Users/admin/Library/Application Support/typora-user-images/image-20220727155555930.png)
-
-
-
-
-
-
-
-------------------------------------------------------------------------
-
-1.备份数据库
-
-2.备份代码
-
-3.
-
-
-
-
-
-sudo docker logs --since="2022-07-27T17:10:00" --until="2022-07-27T17:20:00" hyxt-api-01 >>hyxt312312.txt
-
-http://47.101.34.182:6767/
-
-
-
-
-
-
-
-
-
-1.高效  复用
-
-2.抽象,上海园区搭建什么程度,
-
-3.开发  
-
-希望他能衡量,用户认可;
-
-(专利,认可)
-
-
-
-8月份目标
-
-1. 上海园区搭建什么程度;
-2. 专利(最少一个)
-3. 用户:某一个系统;
-
-9月份目标
-
-1. 8月底 发布,园区(永天版本)
-2. 管理方法:
-
-
-
-
-
-
-
-## 技术方面
-- 专利能力 
-- 
-## 管理方面
-- 推出管理方法论(方案立项)效果不大,管理基础;(敏捷方式,PDT)团队
-- 
-## 园区平台化
-- (东信,派米雷)
-
-
-
-
-
-
-
-综合安防  http://10.21.39.1:8082       账号:admin    密码:12345678
-
-充值管理  https://smartpark.caih.com/vuedx       账号:admin    密码:SOve_3i%7E
-
-一卡通     http://10.21.39.6:89/       账号:zkadmin    密码:123456
-餐饮系统  http://10.21.39.5:81/       账号:zkadmin    密码:123456
-会议系统  http://10.21.39.5:82/       账号:hyadmin    密码:123456
-文印系统  http://10.21.39.6:88/       账号:zkadmin    密码:123456
-
-运营中心  http://10.21.39.1:8180/      
-
-设备设施  https://smartpark.caih.com/deviceManager       账号:admin     密码:12345678
-
-
-
-中控系统  http://10.21.39.6:86/       账号:zkadmin    密码:123456
-
-集成管理  http://10.21.39.5:90/       账号:admin     密码:12345678
-
-智慧用电  http://10.21.39.6:92/       账号:zkadmin    密码:123456
-
-
-
-
-
-
-
-
-

+ 0 - 21
会议记录/[20220815]管理会议.md

@@ -1,21 +0,0 @@
-【平台差异化】
-
-1.今天平台化产品
-
-2.
-
-
-
-1.系统
-
-
-
-
-
-1.老板今天给演示的园区产品属于阶段性,代表我们有平台产品。 世茂的代码我是从现场反编译过来,集成到我们平台,不会有太大产品
-
-
-
-杨总 关于我们园区平台规划跟你沟通下,业务基础底座已经初具形态,可基于这个平台继续上新服务,未完成的事每个系统和硬件中间健和各系统功能商业价值分析.
-
-目前我两个规划:1.继续把每个系统

+ 0 - 35
会议记录/[20220822]致远OA讨论.md

@@ -1,35 +0,0 @@
-1.移动平台,业务平台,集成平台,数据平台
-
-2.门户引擎,流程引擎,权限引擎
-
-3.三种形态:运行态,设计态,运维态
-
-4.数据魔方
-
-5.标准的业务应用
-
-6.很有可能;
-
-7.集团版(玉佛寺,台华智慧园区)
-
-8.开发接口()
-
-
-
-问题:
-
-1.拿玉佛寺功能需求,借助你们引擎,你们需要私有定制化有多少,时间成本交付;(面向这种类似需求);60-70%,交付周期;
-
-2.低代码和0代码方式构建升级(协同平台);
-
-3.对标功能,选择哪个业务在哪个模块呈现;
-
-4.致远非常成熟----定制化需求;
-
-
-
-结论:
-
-1.周四提供给我们demo,针对玉佛寺系统
-
-2.

+ 0 - 125
会议记录/[20221017]公司会议.md

@@ -1,125 +0,0 @@
-1.事业一部
-
-销售额:计划:4500W, 实际完成:2474W
-
-收款额:计划:2070W, 实际:718.17W
-
-利润额:
-
-回款情况: 应收款:160W,进度款:219W,已完成:375W, 合计:
-
-2.事业二部
-
-销售额:7000W,   完成:3300W     63.3%
-
-回款额:6240W,  完成:1658W       35.4%
-
-3.事业四,五部
-
-销售额:2340。       完成:284
-
-销售预测:
-
-
-
-2.第6事业部
-
-1.销售额:2851   实际:61
-
-2.回款:1177。 175
-
-
-
-3.财务部
-
-  29000
-
-  53000
-
- 1082W
-
-
-
-
-
-3.1 回款
-
-3.2 应收
-
-
-
-34.15%
-
-
-
-
-
-
-
-
-
-
-
-韩正义-10月17访谈
-
-1.项目制最好确定下来(韩正义)
-
-2.以验收通过,还是以回款方式(韩正义)
-
-
-
-
-
-小方-10月18日访谈:
-
-1.这次大会开,没有实际保障和承诺,领导完全没有想好,这个制度说出来;
-
-2.会上这么一说,看不到未来;不如:公司经济运行正常,补给员工,可以和公司共进退;
-
-3.真的要实现6折上,无法接受这种情况;
-
-
-
-
-
-# 大屏改造沟通
-
-2.巡更准时率 是否有这个计算
-
-3.消防监控,总表线缆温度 是否有这个监测值
-
-4.通行管理 今日总人流数1楼,-1楼
-
-5.贵宾录入次数 有后台维护
-
-6.会议预定次数,当月统计
-
-7.福利发放:
-
-
-
-
-
-1.工作量问题
-
-2.分析这个大屏哪些真实获取数据,小雨
-
-3.商务,这个需求变更
-
-
-
-王涛:
-
-1.内容差别不大;
-
-2.时间点(静态可以,动态要求)
-
-3.对接接口 世茂块问题
-
-
-
-
-
-30个工作
-
-4个

+ 0 - 13
会议记录/[20221021]普陀城运项目汇报.md

@@ -1,13 +0,0 @@
-会议主题:明珠承建项目汇报
-
-会议时间:10-22 09:00-11:00
-
-参会人:城运中心领导和各科负责人,京东驻场项目经理,明珠项目人员
-
-会议内容:
-
-1.有各个项目经理负责人,介绍系统完成情况,业务备勤系统,融合通信,物联网运营服务平台,鹰眼高空抛物,智慧工地;
-
-2.业务备勤系统客户没有满意过,没特点,和客户的沟通很不足,少了数据分析;
-
-5.技术端和业务端供需对接有问题,技术端给的标准系统不满足需求;

+ 0 - 31
会议记录/[20221021]研发中心周例会.md

@@ -1,31 +0,0 @@
-会议提纲:
-
-1.各执行中和规划中项目项目情况,对于需要支持提出来; 
-
-  总结:
-
-2.关于项目制初步建设思路 ;
-
-​    2.1 项目制跟进计算模型
-
-​    2.2 谁能担任负责人
-
-​    2.3 谁能担任平台技术负责人
-
-总结:
-
- 3.当下公司情况沟通和分析; 
-
-   
-
-4.关于太静项目需求评估得到评估工时和成本;(王涛,小强,王哲,姚强)
-
-   4.1 
-
-
-
-
-
-跟各位领导汇报同步下【金水青岛项目规划阶段】情况:
-
-【背景】按照10月17日,杨总电话告知,甲方客户预算范围有限,提出要求第二次报价控制80-90W,确保成本在40-50W,我和施总讨论后采取两种策略 1.采购策略报价:先找致远谈,让报价压缩到50-60W区间,我们留下30W利润空间,施总反馈回来,这个致远没有松口,仍然保持165W报价,因为对方也没有现成东西,只有平台,核算对方成本80W左右. 同时我们对致远找的供应商(乐城软件)进行调查成本在28W,2.我们自研发成本也是在80-90W左右;和致远实施方法相同(采购部分模块+平台定制开发) 【这个项目意义】项目属于园区业务产品主要包含(招商,租赁,物业)技术门槛低,业务标准强,前期通过采购快速满足项目,后期通过团队功能复制,完善永天园区产品功能矩阵,希望商务继续推进项目谈判,提高报价,不论是外采,还是自研,这个项目实施可行性和经济意义都很大

+ 0 - 39
会议记录/[20221028]管理会议.md

@@ -1,39 +0,0 @@
-研发中心发展方向:
-
-  1.成熟产品做功能延伸
-
-  2.成熟市场做功能拓展
-
- 
-
-研发中心流程和研发项目制
-
- 1.
-
-
-
-研发方向(公司核心方向)
-
-项目制(项目
-
-- 
-
-1.物联网平台---行业。 2.搭建模拟测试,提前定制产品; 3.建设阶段,要建立消防物联网平台; 4.消防--稳住这个平台。
-
-A。涉及团队。 受限团队体量 思想()赚了一笔钱;
-B。电器发热,研发团队;先有故事,玄学。
-
-1.立项申请   (时间,质量) 2.闵行项目 12月份验收    3.IT人力资源()
-
-
-
-
-
-平台产品(立项,成熟产品做功能延伸,成熟市场做功能拓展)
-
-
-
-
-
-
-

+ 0 - 16
会议记录/[20221115]公司会议.md

@@ -1,16 +0,0 @@
-1.之前需求开发目标管理,最近采用过程质量管理,从进行的两个版本来看,好的方面:前端比较配合, 弱的方面:投入不足,不能按照承诺
-2.共同目标:管理商务方面出力,研发方面出力 共同促进验收,需要商讨一个策略出来
-
-3.当前现状:不同于以往的项目 ,这个项目辅助东信员工日常生活运营,所以细节部分要考虑好
-
-
-
-
-
-
-
-
-
-1.组织架构意义:
-
-2.绩效调整意义:

+ 0 - 32
会议记录/[20221115]普陀城运系统调研.md

@@ -1,32 +0,0 @@
-1.咨询慧慧物联网维保成本
-
-2.研发薪资
-
-3.闵行178调研成本加上去
-
-4.
-
-
-
-
-
-
-
-免费开源的WiKi/知识库系统有:1、PingCode wiki;2、MediaWiki;3、DokuWiki;4、MinDoc;5、BookStack;6、amWiki;7、docsify;8、Wikitten;9、Docute;10、Wikitten and MDwiki;11、WordBook。
-
-
-
-
-
-在线演示 : [http://test.kykms.cn](https://gitee.com/link?target=http%3A%2F%2Ftest.kykms.cn) 账号:admin/123456
-
-
-
-
-
-
-
-作者:极客猿
-链接:https://www.jianshu.com/p/c5e4ef5537b7
-来源:简书
-著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

+ 0 - 54
会议记录/[20221122]普陀城运三方沟通.md

@@ -1,54 +0,0 @@
-会议主题:明珠承建项目汇报
-
-会议时间:10-22 09:00-11:00
-
-参会人:城运中心领导和各科负责人,京东驻场项目经理,明珠项目人员
-
-会议内容:
-
-
-
-
-
-待处理:
-
-1.关于明珠功能项目专项功能核对,截止日期11月29日
-
-  1.1 功能项目专项功能核对计划
-
-  1.2  派驻场人员进行功能核对,代码核对
-
-  1.3 
-
-2.知识库,城市体检系统开发
-
- 2.1 概要&详细设计
-
-
-
-和杨总沟通:
-
-1.明珠功能项目专项功能核对,进行核减,做到心中有数,为下一步接盘做准备;
-
-2.知识库,城市体检系统开发
-
-
-
-
-
-杨总,后面沟通有两个事情向你汇报下:
-
-1.明珠功能项目专项核对,输出差异对照表 对明珠未完成部分做一个三方核对,需要派驻场一名人员到11月29日
-
-2.知识库,城市体检系统开发,前期做需求调研究,概要设计
-
-
-
-
-
-在线演示 : [http://test.kykms.cn](https://gitee.com/link?target=http%3A%2F%2Ftest.kykms.cn) 账号:admin/123456
-
-
-
-
-

+ 0 - 77
会议记录/[20221231] 消防支队会议.md

@@ -1,77 +0,0 @@
-
-
-# 企业自主管理
-
-1.单位一般只分为:重点单位 ,一般单位;重点单位内容包含高危险单位;
-2.闵行其它单位物联网数据对接进来;
-
-3.具体要看到每家单位物联网数据状态;
-
-4.大型综合体属于重点单位;
-
-# 城市消防体征
-
-1.城市消防体征菜单放到菜单第一项
-
-2.风险等级对比图数据不准,只拿重点单位进行统计
-
-3.投诉类型排名关注近一年
-
-4.城市体征还有一块消防
-
-5.消防站,微站 需要在城市体征体现出来;
-
-# 消防执法动态
-
-1.缺项:查封,应该有本月;
-
-2.人员统计:出动人数不要;
-
-3.行政许可情况需要按照时间维度统计;
-
-4.举报投诉情况:处理数不满意的件情况可以点详情查询;
-
-# 火灾数据分析
-
-1.火灾情况分析:火灾分析按等级调整
-
-# 消防救援站点
-
-1.专支队,特勤务站 需要加入进来
-
-2.消防科普教育基地放到城市体征内;
-
-# 消防水源情况
-
-1.地下取水概念存在疑问,小高确认一下
-
-# 警情综合处置
-
-1.按照警情提交给地方各街道,数据推送给大数据中心
-
-
-
-# 总结:
-
-1.企业自主的管理没做全,其它都是信息归类,九小场所做一个点
-
-2.街镇:单位数据量,火灾近期一年的情况
-
-3.人口和面积是一个维度
-
-5.三合一点位,接出警街镇赋能应用
-
-6.最终领导赋能管理,
-
-
-
-
-
-
-
-
-
-
-
-----------------------
-

+ 0 - 17
会议记录/[20230207]普陀城运项目.md

@@ -1,17 +0,0 @@
-
-
-1.跟气象聊一聊调整;
-
-
-
-1.设备采购租赁
-
- 2.
-
-
-
-不做情况:
-
-1.气象大屏没有内涝那一块,核研可过,核减掉
-
-2.

+ 0 - 54
会议记录/[20230218]东信问题沟通.md

@@ -1,54 +0,0 @@
-
-
-会议主题:
-
-会议时间:
-
-会议记录人:郭恩洲
-
-参加人员:施总,吴律师,郭恩洲
-
-1.清单哪几个没有完成,完成标准;
-
-2.通过清算,额外
-
-2.1 一开始需求没有明确,我已经按照你们要求完成的;
-
-2.2 提了很多变更需求,合同以外参与的工作;
-
-
-
-----
-
-
-
-1.没完成的需求,是因为条件不允许造成;
-
-2.按照合同需求;
-
-
-
-## 要求:
-
-1.清算,做了多少我认,标准永天做主
-
-2.冲突(我们认为的标准和他们的标准不一样,我们要证明我们的标准是对的)
-
-
-
-## TODO:
-
-1.往来的邮件(增补合同相关邮件)
-
-2.清算清单
-
-3.谈判价格,(付钱依据)我们应该付给对方钱,按照调解,双方各自妥协; 50%
-
-4.赔偿价格(找赔偿依据)
-
-
-
-关于软件交付标准和支队领导意愿有差异的,如果领导和支队领导碰头也要知道一下,我们也在努力减少差异,之间按照
-
-
-

+ 0 - 29
会议记录/[20230221]普陀监理会议.md

@@ -1,29 +0,0 @@
-# 
-
-会议记录;
-
-1.需求规格说明书
-
-2.概要设计
-
-3.详细设计
-
-
-
-软件开发项目就啊
-
-数据库设计
-
-软件部署
-
-其它专项
-
-
-
-厂商问题,方案发生变化,目前还在跟供应商沟通中,力争4月
-
-
-
-交通,气象,地图
-
-资源已经给到,3月完成部署

+ 0 - 23
会议记录/[20230310]山东党校会议.md

@@ -1,23 +0,0 @@
-## 会议记录;
-
-## 方案调整
-
-1.依据(物联网建设依据)
-
-2.现状(东校已经建设,燕山校区老旧设备情况)
-
-   23年燕山校区进行实施,进行改造,改造完成后怎么接入物联网;
-
-3.实施:老旧设备怎么对接(建设思路)
-
-4.概算
-
-
-
-### 技术可行性演示
-
-1.集成设备协议对接()
-
-2.物联网平台()
-
-2.上层3D建模()

+ 0 - 37
会议记录/[20230515]火灾调查系统系统.md

@@ -1,37 +0,0 @@
-# 消防调查系统
-
-1.火灾调查系统
-
- 2.消防总队火灾调查处 -张处长
-
-
-
-痛点:
-
-1.流程,亮点;
-
-2.商业模式,找技术亮点
-
-3.从技术模式,需求明确,需求讨论;
-
-4.资源衔接。 
-
-
-
-5.数据治理,数据采集在总体框架,社会商业力量完成可能性比较小,形成案卷;
-
-6.找技术亮点,3D;
-
-7.人工智能,数据模型
-
-9.目前看作秀可能,消防, 火灾最新;
-
-10.三维复原系统;
-
-11.政策导向--不存在消防物联网行业;
-
-12.消防本身就是标准,就是政策法规;
-
-13.四大研究所,嘉定;
-
-14.部局需求;

+ 0 - 37
会议记录/[20230619]设施管理问题.md

@@ -1,37 +0,0 @@
-1.设施类型,设施总数缩小放 tab选项卡右侧
-
-2.地图-设施汇总 间距调整
-
-3.选项卡“设施” 改为 “总览”
-
-4.设施类型长度不要超过5个中文字符
-
-5.二级页面增加”类型概况“选项卡
-
-6.设施编号 -TRSY-20230619145601001 (后端)
-
-7.设施采集列表创建日期 YYYY—MM-DD
-
-
-
-设备管理
-
-1.设备查看-设备类型没显示出来
-
-2.设备属性管理-状态显示错误
-
-3.设备属性管理-列表显示单位字段
-
-3.设备列表数据查看实时数据显示单位
-
-
-
-
-
-
-
-集成:
-
-1.这个可以提。但是提需要提前提
-
-2.

+ 0 - 4
会议记录/[20230620]东信大数据模块方案分析.md

@@ -1,4 +0,0 @@
-# 当前计算对象
-
-
-

+ 0 - 14
会议记录/[20230626]普陀城云会议.md

@@ -1,14 +0,0 @@
-
-
-1.泰山:明珠的一些问题计划4月底,5月底完成,信息没有拉齐;
-
-2.从两个维度对齐:满足的要求,尽量达到全面验收标准;
-
-3.这个问题怎么处理,也需要时间节点;
-
-4.当前没有关掉有12个问题,大部分是数据问题;
-
-5.软测:平台大数据中心,这些数据;
-
-6.
-

+ 0 - 56
会议记录/[20230726]张江机器人谷会议.md

@@ -1,56 +0,0 @@
-智能化部分解决, 智能化部分提供场景,数据管理;
-
-
-
-平台介绍
-
-智能化场景,
-
-
-
-
-
-
-
-平台介绍:
-
-痛点:如果达到智能化到智慧化,弱电集成几个系统,招商运营平台
-
-优势:作为楼宇信息服务商,除了集成弱电智能化,我们集成业务 平台一张图,招商管理,租赁管理;
-
-
-
-软件平台:
-
-1.运营中心,提供BIM数据支持,提供平台一张图管理;
-
-2.数字园区平台--物联数据接入,
-
-3.园区管理平台;招商,租赁管理,打通财务系统
-
-
-
-
-
-主题:
-
-1.目的:让总包设计,讨论今后的需求,交给深化单位;
-
-2.设计:
-
-3.明确我们做哪些系统;
-
- 3.1 信息网络系统 (通信工程)基础部分;
-
- 3.2 信息发布系统
-
- 3.3 音乐广播系统
-
- 3.4 梯控系统; (1,2,3楼)
-
-
-
-
-
-
-

+ 0 - 104
会议记录/[20231110]快递驿站.md

@@ -1,104 +0,0 @@
-1.技术要素
-
-2.货架排放
-
-3.跟他们做一次协议对接
-
-4.乔目科技
-
-5.采购小七
-
-6.数据为了更精准;
-
-7.永天所有
-
-
-
-------------------------------------------------
-
-### 会议内容
-
-
-
-2.无人驿站
-
-背景介绍:华润有一套独立智慧社区APP,其中包括无人快递驿站, 希望建立一套独立系统,驿站需要打通所有快递公司快递公司系统,同时开放数据接口及文档,有平台代理方对接,发送取件码到智慧社区APP,用户通过刷脸进出门,自主拿快递,自助验证完成一次取件体验。
-
-问:你们24小时无人驿站建设上有什么思路
-
-​    快递跟踪,
-
-​    合作开驿站;
-
-​    近期15分钟生活区,
-
-​    华润,万科
-
-​    驿站形态--- 传统驿站没有太大价值
-
-​    无人:货架号(有风险); 
-
-   现在:快递柜扔到室内,达到无人空间;成本太大;
-
-
-
-快递柜扔到室内,达到无人空间,一年做70个小区;
-
-脱敏情况下;
-
-最大问题:取件码
-
-单店处理量:150票,中通:170票;
-
-1.快递驿站---都到小区门口,
-
-2.微社区团购
-
-1.持续收益 每天2-3W;
-
-2.碎片化的;
-
-3.自己孵化品牌;
-
-
-
-问:是否可以打通所有快递公司系统?
-
- 
-
-问:是否可以和你们做一次性协议对接;
-
-1.结算方式:冲多少用多少 ,分成协议;
-
-2.很概念的柜子,高档的货架,里面功能我们帮你实现;
-
-3.
-
-
-
-### 会议决议
-
-1.合作伙伴:折中方案把妈妈驿站引进进来;
-
-2.梅总:第一阶段:先搞一个房子,一定豪华有科技感;第二阶段:确定方案是人的方案;
-
-3.包装一个产品,设计一个房子,设计一个柜子,给一个概念,给一个名字;
-
-4.考虑清楚结算方式,分成协议;
-
-5.第一个目标:如果在快递到快递驿站怎么推送到平台APP;
-
-6.确定一个品牌,产品规划;
-
-7.
-
-
-
-
-
--------------------------------------------------------------
-
-
-
-
-

+ 0 - 6
会议记录/[20240103]预约系统.md

@@ -1,6 +0,0 @@
-目标:会议室预约形成闭环
-
-
-结论:
-1.会议创建,会议预约调用方图接口都要屏蔽
-2.中控屏人脸签到

+ 0 - 59
会议记录/智慧楼宇门户集成平台建设方案.md

@@ -1,59 +0,0 @@
-
-
-
-
-智慧楼宇门户集成平台建设方案
-
-## 背景
-
-智能楼宇客户比较多,难以产生粘性
-
-
-
-## 目的
-
-
-
-
-
-## 智慧楼宇集成平台
-
-痛点:智能化各个子系统比较多,集成各个子系统,形成统一综合集成平台
-
-方式:智能化各个子系统比较多,集成各个子系统,建立统一账号授权管理,通过平台统一跳转
-
-功能特点:1.提供智能化集成系统统一登入入口;
-
-​                   2.提供平台各个集成系统对接
-
-​                   3.提供中间页功能大屏
-
-​                  
-
-## 商业价值分析
-
-​             1.统一账号授权,可以控制客户使用,必要时候关闭账号
-
-​             2.后期产生增值市场需求,智能化系统运行分析,
-
-
-
-
-
-## 运行模式:
-
-​       1.集成平台部分免费提供,SaaS部署,新客户上来通过运营平台
-
-​       2.
-
-
-
-
-
-TODO:
-
-1.采购和项目中心合作梳理当前项目中常用集成系统,建立公司自己的产品线;
-
-2.找出公司使用最多系统,和厂商谈合作,进行OEM定制,降低采购成本
-
-3.

+ 0 - 95
会议记录/涂鸦智慧楼宇资料.md

@@ -1,95 +0,0 @@
-
-
-
-
-![image-20220920111758012](/Users/admin/Library/Application Support/typora-user-images/image-20220920111758012.png)
-
-![image-20220824100100340](/Users/admin/Library/Application Support/typora-user-images/image-20220824100100340.png
-
-
-
-5个核心产品:
-
-------------------------------
-
-移动平台(IMP)   建设中
-
-   通过移动平台搭建
-
-应用平台(IAP)   建设中
-
-集成平台
-
-物联网平台(UIP) 建设中
-
-数据平台   建设中
-
-驾驶舱平台 调研中
-
-
-
-
-
-![image-20220905151945266](/Users/admin/Library/Application Support/typora-user-images/image-20220905151945266.png)
-
-
-
-
-
-
-
-## 方案一: 1+5+4+N 方案
-
-![image-20220810095600868](/Users/admin/Library/Application Support/typora-user-images/image-20220810095600868.png)
-
-
-
-![image-20220712151938114](/Users/admin/Library/Application Support/typora-user-images/image-20220712151938114.png)
-
-
-
-
-
-
-
-![image-20220712152331611](/Users/admin/Library/Application Support/typora-user-images/image-20220712152331611.png)
-
-![image-20220712152543127](/Users/admin/Library/Application Support/typora-user-images/image-20220712152543127.png)![image-20220712153018422](/Users/admin/Library/Application Support/typora-user-images/image-20220712153018422.png)
-
-
-
-
-
-1.带业务,带技术,带产品
-
-2.
-
-
-
-
-
-         10.21.39.6:92 zkadmin/123456  
-智慧用电(智慧能源)----X
-文印系统----X
-环境监测
-一卡通
-智慧安防
-设备设施管理(楼宇自控)
-会议系统
-充值系统
-智慧餐饮
-中控平台 
-集成管理
-运营中心----X
-
-移动平台---X
-
-
-
-
-
-
-
-
-
-1

+ 0 - 19
会议记录/消防支队.md

@@ -1,19 +0,0 @@
-1.消防支队主要工作:防火和灭火, 
-
-2.支队长希望建立一个底库,对重点单位,商铺进行管理,对于单位采集当前比较困难,把企业登记交给城建统一管理
-
-3.对于项目启动开工会议,小高表示跟领导沟通一下,我个人建议继续做;
-
-4.小高 
-
-
-
-
-
-项目:
-
-
-
-哪些项目没做完?
-
-1. 

+ 0 - 85
会议记录/消防物联网平台承接代理渠道可行性分析V0.1.md

@@ -1,85 +0,0 @@
-[toc]
-
-# 消防物联网平台代理渠道合作计划展会发布方案
-
-## 背景
-
-​      1.二三线消防市场空间需要挖掘
-
-
-
-## 代理商和EBU是什么?
-
-1.渠道代理群体:工程商,经销商,集成商,设备厂商;
-
-2.EBU:团队自己组合,完成交付,收款以后公司会有分成,团队自负盈亏;
-
-
-
- ## 为什么要这样做?
-
- 1.当前上海市场逐渐饱和,按照历年数据分析:20年接入30家总价187W, 21年接入18家总价153W 22年接入32家总价158W  不能存在爆发式增长;
-
- 2.设备工厂,传统消防的工厂商在各地都有地方合作保护关系;
-
- 3.二三线消防市场空间,需要挖掘;
-
-
-
- ## 如何去做?
-
- 1.消防物联网平台升级,SaaS平台模式,每家单位按照设备数和平台计费,协议定制开发另算;
-
- 2.互联网平台模式营销策略(开放,自媒体)
-
-
-
-## 收益预测
-
-  1.每家单位按照设备数和平台计费,协议定制开发另算;
-
-  2.一家代理商,按照我公司3年数据估算,接入单位单价:1.5W, 平均每年27家单位 ,一家单位产值:40.5W;
-
-  3.第一年1-2家,产值在:40-80W;  第二年2-4, 产值在 120W-160W;
-
-  
-
-##  投入估算
-
-1. 物联网平台升级  4个人  5个月   预计50W-60W投入;
-2. 平台开放试用,搜索引擎引流,自媒体投放,展台招商 预计30W-40W投入;
-
-
-
- ## 为什么我们现在做?
-
-1.我们在消防物联网躬耕5年,积累相关资质和人才资源
-
-2.有物联网SaaS平台运营经验,平台化已成为大势所趋,企业数字化趋势日益凸显,智慧化应用满足消费者潜在需求;
-
-
-
-
-
-解决几个问题:
-
-1.一个消防工程商进入很好对接物联网设备
-
-
-
-
-
-永天物联网平台
-
-消防SaaS平台
-
-电力SaaS平台
-
-楼宇SaaS平台
-
-
-
-
-
-小团队高产值如果在公司立足起来;
-

+ 0 - 12
会议记录/消防设施物联网系统运行平台数据传输导则问题.md

@@ -1,12 +0,0 @@
-
-
-#  问题
-
-​    多个设备在同一个楼层,同一个楼层平面图图片是否要上传多次?(见截图)
-
-![image-20230720175635500](/Users/admin/Library/Application Support/typora-user-images/image-20230720175635500.png)
-
-# 建议
-
-​	如果以设备为基准,设备和楼层平面图之间模型应该独立管理
-

+ 0 - 54
会议记录/软件著作申请.md

@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-环境监测系统
-
-设施管理系统
-
-一卡通系统
-
-园区集成平台
-
-智慧餐饮系统
-
-智慧充值系统
-
-智慧会议系统
-
-智慧文印系统
-
-智慧用电系统
-
-智慧运营中心
-
-中控管理系统
-
-综合安防系统
-
-综合管理App
-
-楼宇物联网平台
-
-消防物联网平台
-
-楼宇大数据平台
-
-
-

+ 0 - 0
管理规范/【产品规范】敏捷(SCRUM)开发规范.md → 团队制度/【产品规范】敏捷开发规范.md


+ 0 - 42
管理规范/研发中心制度-2023.md → 团队制度/【团队规范】研发中心制度.md

@@ -18,48 +18,6 @@
 
 
 
-## 岗位人员安排(职能型)
-
-参照人事架构
-
-
-
-## 项目人员安排(项目型)
-
-- 项目总负责人:郭恩洲
-
-- 项目负责人:
-
-​     -- 消防物联网平台项目负责人:韩正义
-
-​     -- 闵行消防数字平台项目负责人:王哲
-
-​     -- 东盟信息港项目负责人:赵金雨
-
-​     -- 太敬智慧楼宇 王涛
-
-​     -- 普陀城运 郭恩洲   
-
-
-
-平台总服务人:郭恩洲
-
-数据平台     詹叶俊
-
-物联网平台 韩正义
-
-移动平台     袁明明
-
-运营平台     王涛
-
-管理平台     王涛
-
-驾驶舱平台 方惠圣
-
-服务平台  郭恩洲
-
-治理平台  郭恩洲
-
 
 
 平台UED设计 

+ 0 - 3
备忘文件/Untitled 1.md

@@ -1,3 +0,0 @@
-GET
-
-findHelp

+ 0 - 33
备忘文件/Untitled.md

@@ -1,33 +0,0 @@
-# 页面:
-
-1.栏目管理列表 2个
-
-2.内容管理  2个
-
-3.联系渠道反馈 1个
-
-
-
-# 数据表:
-
-2个
-
-
-
-# 接口
-
-## 新闻动态
-
-- 通过栏目查询所有内容标题(内容标题,发布时间,图片,摘要)
-
-- 通过内容ID获取详情
-
-- 联系
-
-- 
-
-  
-
-
-
-海量数据建立了标准化的研发、服务和管理体系,执行严格的质量管控:以CMMI标准建立了研发管理体系、以ISO9001标准建立了质量保证体系、以ISO27000标准建立了信息安全管理体系、以ISO20000标准建立了信息技术服务管理体系

+ 0 - 40
备忘文件/专利草稿.md

@@ -1,40 +0,0 @@
-《一种分布式通用任务管理方案》
-
- 《一种配置集中管理方法和系统》
-
-《一种时序数据存储通用模型设计方法》
-
-《一种巡检系统中轨迹雷同计算方法》
-
-a) 发明背景,特别指出现有技术所存在的技术缺陷是由于哪种技术原因造成的
-
-公司不断发展,物联网业务数据不断增长,每一秒钟都有百万个数据点要写入 TSDB,每天产生的数据点规模达到百亿量级,TSDB 每秒钟还要处理数万次查询请求,由于查询有一定的突发性,峰值的查询流量可达到常态流量的数百倍,且根据业务的需求,绝大多数的 请求都应该能在 500ms 返回结果给用户,可用性目标至少是 99.99%,为了满足以上。
-
-鉴于此,提出一种时序数据存储通用模型,满足大小数据
-
-
-
-
-
-
-
-## 基于关系型数据库时序存储设计
-
-为了充分利用 tags + metric + timestamp HBase 的特性,我们借鉴了 OpenTSDB 的做法,将 RowKey 设计如下:
-
-**RowKey = entity_id + metric_id + timebase**
-
-- entity_id 是由 tags 的经过 hash 得到的一个固定长度的值,hash 后原始字符串的自然顺序被打乱,使得 RowKey 能够相对均匀地分布在不同 HRegion 中。
-- metric_id 为 metric 的字符串 hash 值,同样是固定长度。
-- timebase 为 Unix 时间戳按照 1 小时(3600 秒)取整得到的数值,固定 4 个字节的长度 这样的设计有如下好处:
-- entity_id 和 metric_id 的散列使得数据相对均匀分布
-- timebase 置于 RowKey 的字节低位,使得同一个时间序列数据的 RowKey 连续分布,可以高效地按时间进行范围扫描
-- 固定长度的 RowKey 减少了空间浪费,同时前缀式的设计可以充分利用 HBase 的前缀压缩机制,进一步节省 RowKey 所占空间
-
-
-
-
-
-
-
-一种

+ 0 - 0
备忘文件/中控平台需求分析.md


+ 0 - 52
备忘文件/关于web站点和API站点分离还是共用问题.md

@@ -1,52 +0,0 @@
-1.分离
-
-站点一个域名
-
-API一个域名
-
-好处:
-
-API接口功能重用
-
-不用重复配置
-
-- 缺点
-
-  域名太多维护困难
-
-原地址:
-
-
-
-75测试环境:
-
-qhome.usky.cn/uskypower
-
-qhome.usky.cn/uskyfile
-
-20生产环境
-
-qhome-pro.usky.cn/uskypower
-
-qhome-pro.usky.cn/uskyfile
-
-
-
-
-
-方案2.统一使用一个域名
-
-  dianli.usky.cn/
-
-  dianli.usky.cn/api/v1
-
-  dianli.usky.cn/uskyfile
-
-
-
-好处:
-
-
-
-
-

+ 0 - 50
备忘文件/关于园区平台模式思考.md

@@ -1,50 +0,0 @@
-背景:
-
-
-
-1.一个智慧园区系统是有很多套系统组成
-
-
-
-
-
-设计:SaaS平台可以演变三模式,并且保证数据隔离,效率高效;
-
-1.平台模式
-
-​    各种平台功能可作为一级菜单,整合到一个平台模式下;
-
-2.集团模式
-
-​     一个集团下有很多子公司,每个子公司系统保持独立,集团可以看到每个子公司系统,同时给集团提供数据分析.
-
-3.系统模式
-
-   每个系统保持独立,智慧电力,智慧会议系统,智慧安防系统 独立售卖..
-
-
-
-
-
-
-
-# 
-
-ya
-
-1.冲劲不够,求稳
-
-2.凡事亲力亲为,不利于发展下面
-
-
-
-商人思维:
-
-1.最小成本换取最大利益
-
-
-
-
-
-
-

+ 0 - 23
备忘文件/宣讲材料.md

@@ -1,23 +0,0 @@
-https://baijiahao.baidu.com/s?id=1721161998997866645&wfr=spider&for=pc
-
-
-
-时序数据是指基于时间的一系列数据,随着loT、5G等技术的发展,工业物联网、智能家居、监控等行业对时序数据的需求呈现爆发式的增长,而传统关系型数据库难以对此进行有效的处理。不仅因为数据量比之前可能要多数万倍,实时采集、高频度、高密度的动态数据也导致模型随时可变。
-为了更好的支持时序数据的存储分析,各种时序数据库(TimeSeriesDatabase)应运而生,时序数据库可以基干时间区间进行聚合分析和高效检索,实现对时序数据的快速写入,持久化、多纬度的查询等功能。据DB-Enaines2019年12月的最新报告显示,近一年内时序
-数据库的受欢迎程度稳居前列。
-
-![image-20220607173407987](/Users/admin/Library/Application Support/typora-user-images/image-20220607173407987.png)
-
-https://baijiahao.baidu.com/s?id=1702560031927149307&wfr=spider&for=pc
-
-
-
-
-
-
-
-智慧城市,万物互联, 智慧楼宇平台化
-
-
-
-智慧城市已经进入城市大脑3.0时代,楼宇是万物互联的基石,永天科技中立打造上饶智慧楼宇产业

+ 0 - 502
开发管理/Mybatisplus搭建多租户模式.md

@@ -1,502 +0,0 @@
-前言
-近期工作中有遇到多租户模式的应用场景,对此自己查阅了大量的资料。对可行性进行分析后选择了共享库表,按租户id字段区分租户的方式去实现。以此记录一下方便日后所需查阅
-
-1.熟悉多租户之前先来了解一下什么是SaaS系统
-以下内容来着百度百科
-
-SaaS平台是运营saas软件的平台。SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。SaaS 是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。
-
-也就是说,我只需要能连接上互联网,并且给saas平台交租金,我就能用saas平台给我提供的系统服务。这方面最典型的例子就是各种云平台,例如阿里云。既然我能通过互联网使用saas平台提供的服务,那么其他人当然也是可以的。于是这就产生了一个多租户的问题。
-
-2.什么是多租户模式
-多租户,简单来说,是一种架构设计方式,就是在一台或者一组服务器上运行的saas系统,可以为多个租户(客户)提供服务,目的是为了让多个租户在互联网环境下使用同一套程序,且保证租户间的数据隔离。从这种架构设计的模式上,不难看出来,多租户架构的重点就是同一套程序下多个租户数据的隔离。由于租户数据是集中存储的,所以要实现数据的安全性,就是看能否实现对租户数据的隔离,防止租户数据不经意或被他人恶意地获取和篡改。
-
-3.多租户数据隔离方式
-目前saas多租户系统的数据隔离有三种解决方案,即:
-
-为每个租户提供独立的数据库
-独立的表空间
-按字段区分租户
-
-3.2.每个租户提供独立的表空间
-这种方案的实现方式,就是所有租户共享同一个应用,应用后端只连接一个数据库系统,所有租户共享这个数据库系统,每个租户在数据库系统中拥有一个独立的表空间。表空间中的数据表结构都是一样的。DB2、ORACLE、PostgreSQL,一个数据库下可以有多个Schema(在mysql中其实就是分多个数据库)
-3.4.三种数据隔离方案的优劣势分析
-隔离方案	成本	支持租户数量	优点	不足
-独立数据库系统	高	少	隔离级别最高,安全性最好,能够满足不同租户的独特需求,出现故障时恢复数据比较容易	数据库需要独立安装,维护成本和购置成本高
-共享数据库,独立表空间	中	较多	提供了一定程度的逻辑数据隔离,一个数据库系统可支持多个租户	出现故障的情况下,数据恢复相对而言比较复杂
-按租户id字段区分	低	非常多	维护和购置成本最低,每个数据库能够支持的租户数量最多	隔离级别最低,安全性也最低,数据备份和恢复非常复杂,需要逐表逐条备份和还原
-4.使用Mybatisplus搭建多租户模式(方式三的实现:共享库表,按租户id字段区分租户)
-4.1.MyBatisPlusConfig.java
-
-package com.bitvalue.gp.sys.config;
-
-import com.bitvalue.gp.sys.core.mybatis.dbid.GunsDatabaseIdProvider;
-import com.bitvalue.gp.sys.core.mybatis.fieldfill.CustomMetaObjectHandler;
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * MyBatisPlusConfig扩展插件配置
- *
- * @author tangling
- * @date 2021/4/18 10:49
- */
- @Configuration
- //扫描mapper
- @MapperScan(basePackages = {"com.bitvalue.gp.**.mapper"})
- public class MyBatisPlusConfig {
-
-    /**
-     * mp多租户配置
-     */
-     @Bean
-     public MybatisPlusInterceptor mybatisPlusInterceptor() {
-        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        // 多租户插件
-        interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(new CustomTenantLineHandler()));
-        // 分页插件(ps:如果项目中有用到分页插件可以添加如下这行代码,但是必须要写在多租户插件后面)
-        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
-        return interceptor;
-     }
-
-    @Bean
-    public ConfigurationCustomizer configurationCustomizer() {
-        return configuration -> configuration.setUseDeprecatedExecutor(false);
-    }
-
-    /**
-     * 自定义公共字段自动注入
-     */
-     @Bean
-     public MetaObjectHandler metaObjectHandler() {
-        //自定义sql字段填充器,自动填充创建修改相关字段
-        return new CustomMetaObjectHandler();
-     }
-  }
-  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
-  10
-  11
-  12
-  13
-  14
-  15
-  16
-  17
-  18
-  19
-  20
-  21
-  22
-  23
-  24
-  25
-  26
-  27
-  28
-  29
-  30
-  31
-  32
-  33
-  34
-  35
-  36
-  37
-  38
-  39
-  40
-  41
-  42
-  43
-  44
-  45
-  46
-  47
-  48
-  49
-  50
-  51
-  52
-  53
-  4.2.多租户插件 | CustomTenantLineHandler.java
-  CustomTenantLineHandler类实现了TenantLineHandler接口,并实现了
-
-getTenantId()方法,该方法主要用于设置租户Id的值,在框架去处理SQL语句前去改写SQL语句,为SQL语句添加上租户判断条件。租户Id可以从缓存、cookie、token等中获取(根据实际的业务场景来)
-getTenantIdColumn()方法,该方法用于设置租户Id的字段名称
-ignoreTable(String tableName)方法,该方法用于标记忽略添加租户ID的表
-主要的核心还是在getTenantId()方法,我们需要考虑这个租户Id的值应该如何去设置已经设置的同时会不会出现线程安全问题(看了大部分文章都是通过一个Bean中的字段类进行赋值的,这样可能会出现线程安全问题)。
-
-我这里的思想是,在用户登录成功后。存储用户的基本信息到安全框架的上下文对象中并将用户的基本信息和租户Id生成一个token返回给请求方。当请求方再次来访问时会携带上这个token(首先会在过滤器中拦截请求,验证token能够解析后)进行一系列的业务操作后,最终要执行SQL语句时来到这个租户监听器中,在这里获取并设置租户Id。我这里是从请求头中获取token,通过解析token获取租户Id。
-也可能会有一种情况就是,如果是内部mapper之间的调用那就没有HttpServerRequest,就无法获取到token并且还会报错。这里我对此进行了try/catch。
-在catch结构体中处理内部调用问题,处理的方式就是从上下文对象中获取当前登录用户的账号,根据用户的账号去缓存中获取到该用户的租户信息。
-ps:用户账号:租户Id信息我是在Spring容器初始化完成后就往redis里面存储了
-其实同样的也可以将用户的租户Id存储到上下文对象中,直接获取。
-
-package com.bitvalue.gp.sys.config;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.extra.spring.SpringUtil;
-import com.bitvalue.gp.core.consts.CommonConstant;
-import com.bitvalue.gp.core.context.login.LoginContextHolder;
-import com.bitvalue.gp.core.exception.AuthException;
-import com.bitvalue.gp.core.exception.ServiceException;
-import com.bitvalue.gp.core.pojo.login.SysLoginUser;
-import com.bitvalue.gp.sys.core.jwt.JwtPayLoad;
-import com.bitvalue.gp.sys.core.jwt.JwtTokenUtil;
-import com.bitvalue.gp.core.util.HttpServletUtil;
-import com.bitvalue.gp.sys.modular.auth.service.AuthService;
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
-import com.google.common.collect.Lists;
-import lombok.extern.slf4j.Slf4j;
-import net.sf.jsqlparser.expression.Expression;
-import net.sf.jsqlparser.expression.LongValue;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.redis.core.RedisTemplate;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 多租户处理插件
- *
- * @author tangling
- * @date 2021/04/26 13:37
- */
- @Slf4j
- public class CustomTenantLineHandler implements TenantLineHandler {
-
-    /**
-     * 用户对应租户信息缓存key
-     */
-     public static final String TENANT_CASE_KEY = "TENANT_CASE_KEY";
-
-    /**
-     * 忽略添加租户ID的表
-     */
-     private static List<String> IGNORE_TABLE_NAMES = Lists.newArrayList(
-            "tenant_info"
-     );
-
-    /**
-     * 获取租户ID值表达式
-     *
-     * @return
-     */
-     @Override
-     public Expression getTenantId() {
-        //租户Id,可以从缓存或者cookie,token等中获取
-        return new LongValue(returnTenantId());
-     }
-
-    /**
-     * 获取租户字段名(数据库的租户ID字段名)
-     *
-     * @return
-     */
-     @Override
-     public String getTenantIdColumn() {
-        return "tenant_id";
-     }
-
-    /**
-     * 根据表名判断是否忽略拼接多租户条件
-     *
-     * @param tableName
-     * @return
-     */
-     @Override
-     public boolean ignoreTable(String tableName) {
-        return IGNORE_TABLE_NAMES.contains(tableName);
-     }
-
-    /**
-     * 从请求中获取到token,从token中解析出tenantId
-     *
-     * @return
-     */
-     public Long returnTenantId() {
-        //初始化值,保存程序正常启动
-        Long tenantId = 1L;
-        //从请求头中获取token
-        try {
-            HttpServletRequest request = HttpServletUtil.getRequest();
-            AuthService authService = SpringUtil.getBean(AuthService.class);
-            String token = authService.getTokenFromRequest(request);
-            //请求头中有token
-            if (StringUtils.isNotEmpty(token)) {
-                JwtPayLoad jwtPayLoad = JwtTokenUtil.getJwtPayLoad(token);
-                tenantId = jwtPayLoad.getTenantId();
-            }
-        } catch (ServiceException exception) {
-            log.info(">>> 没有HTTP服务请求处理方式!");
-            //没有HTTP服务请求处理方式,内部调用处理
-            try {
-                //从security中的认证上下文对象中获取当前登录用户账号,根据账号去redis缓存中匹配出当前操作是属于那个租户ID
-                String account = LoginContextHolder.me().getSysLoginUser().getAccount();
-                if (StringUtils.isNotEmpty(account)) {
-                    RedisTemplate redisTemplate = SpringUtil.getBean("redisTemplate");
-                    Object object = redisTemplate.opsForValue().get(TENANT_CASE_KEY);
-                    String jsonMap = object.toString();
-                    Map accountTenantMapper = JSON.parseObject(jsonMap, Map.class);
-                    tenantId = Long.valueOf(String.valueOf((accountTenantMapper.get(account))));
-                    log.info(">>> 内部调用!用户账号:" + account + " | 所属租户:" + tenantId);
-                }else {
-                    log.info(">>> 必要参数缺失!");
-                }
-            } catch (AuthException e) {
-                log.info(">>> " + e.getMessage());
-            }
-        }
-        return tenantId;
-     }
-  }
-  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
-  10
-  11
-  12
-  13
-  14
-  15
-  16
-  17
-  18
-  19
-  20
-  21
-  22
-  23
-  24
-  25
-  26
-  27
-  28
-  29
-  30
-  31
-  32
-  33
-  34
-  35
-  36
-  37
-  38
-  39
-  40
-  41
-  42
-  43
-  44
-  45
-  46
-  47
-  48
-  49
-  50
-  51
-  52
-  53
-  54
-  55
-  56
-  57
-  58
-  59
-  60
-  61
-  62
-  63
-  64
-  65
-  66
-  67
-  68
-  69
-  70
-  71
-  72
-  73
-  74
-  75
-  76
-  77
-  78
-  79
-  80
-  81
-  82
-  83
-  84
-  85
-  86
-  87
-  88
-  89
-  90
-  91
-  92
-  93
-  94
-  95
-  96
-  97
-  98
-  99
-  100
-  101
-  102
-  103
-  104
-  105
-  106
-  107
-  108
-  109
-  110
-  111
-  112
-  113
-  114
-  115
-  116
-  117
-  118
-  119
-  120
-  4.3.HttpServletUtil.java
-  package com.bitvalue.gp.core.util;
-
-import com.bitvalue.gp.core.exception.ServiceException;
-import com.bitvalue.gp.core.exception.enums.ServerExceptionEnum;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * HttpServlet工具类,获取当前request和response
- *
- * @author tangling
- * @date 2021/3/30 15:09
- */
- public class HttpServletUtil {
-
-    /**
-     * 获取当前请求的request对象
-     */
-     public static HttpServletRequest getRequest() {
-        ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        if (requestAttributes == null) {
-            throw new ServiceException(ServerExceptionEnum.REQUEST_EMPTY);
-        } else {
-            return requestAttributes.getRequest();
-        }
-     }
-
-    /**
-     * 获取当前请求的response对象
-     */
-     public static HttpServletResponse getResponse() {
-        ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        if (requestAttributes == null) {
-            throw new ServiceException(ServerExceptionEnum.REQUEST_EMPTY);
-        } else {
-            return requestAttributes.getResponse();
-        }
-     }
-  }
-  * 4.4.自定义sql字段填充器,自动填充创建修改相关字段 | CustomMetaObjectHandler.java
-
-package com.bitvalue.gp.sys.core.mybatis.fieldfill;
-
-import cn.hutool.log.Log;
-import com.bitvalue.gp.core.context.login.LoginContextHolder;
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import org.apache.ibatis.reflection.MetaObject;
-import org.apache.ibatis.reflection.ReflectionException;
-
-import java.util.Date;
-
-/**
- * 自定义sql字段填充器,自动填充创建修改相关字段
- *
- * @author tangling
- * @date 2021/3/30 15:21
- */
- public class CustomMetaObjectHandler implements MetaObjectHandler {
-
-    private static final Log log = Log.get();
-
-    private static final String CREATE_USER = "createUser";
-
-    private static final String CREATE_TIME = "createTime";
-
-    private static final String UPDATE_USER = "updateUser";
-
-    private static final String UPDATE_TIME = "updateTime";
-
-    @Override
-    public void insertFill(MetaObject metaObject) {
-        try {
-            //设置createUser(BaseEntity)
-            setFieldValByName(CREATE_USER, this.getUserUniqueId(), metaObject);
-
-            //设置createTime(BaseEntity)
-            setFieldValByName(CREATE_TIME, new Date(), metaObject);
-        } catch (ReflectionException e) {
-            log.warn(">>> CustomMetaObjectHandler处理过程中无相关字段,不做处理");
-        }
-    }
-
-    @Override
-    public void updateFill(MetaObject metaObject) {
-        try {
-            //设置updateUser(BaseEntity)
-            setFieldValByName(UPDATE_USER, this.getUserUniqueId(), metaObject);
-            //设置updateTime(BaseEntity)
-            setFieldValByName(UPDATE_TIME, new Date(), metaObject);
-        } catch (ReflectionException e) {
-            log.warn(">>> CustomMetaObjectHandler处理过程中无相关字段,不做处理");
-        }
-    }
-
-    /**
-     * 获取用户唯一id
-     */
-     private Long getUserUniqueId() {
-        try {
-            return LoginContextHolder.me().getSysLoginUserId();
-        } catch (Exception e) {
-            //如果获取不到就返回-1
-            return -1L;
-        }
-     }
-  }
-  ————————————————
-  版权声明:本文为CSDN博主「Tang.Mr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
-  原文链接:https://blog.csdn.net/ScholarTang/article/details/116646998

+ 0 - 19
开发管理/对于主页前端调整讨论.md

@@ -1,19 +0,0 @@
-0. 建议时间去掉,笑能图标不要
-
-![image-20220426110608812](/Users/admin/Library/Application Support/typora-user-images/image-20220426110608812.png)
-
-1.增加两种导航模式(上下,左右),不同的租户可自行配置
-
-<img src="/Users/admin/Library/Application Support/typora-user-images/image-20220426105557934.png" alt="image-20220426105557934" style="zoom:50%;" />
-
-<img src="/Users/admin/Library/Application Support/typora-user-images/image-20220426110110337.png" alt="image-20220426110110337" style="zoom:50%;" />
-
-2.不同租户主题样式设置,菜单背景颜色,按钮的颜色根据主题样式变化
-
-![image-20220426110550743](/Users/admin/Library/Application Support/typora-user-images/image-20220426110550743.png)
-
-
-
-
-
-3.

+ 0 - 7
开发管理/接口分析.md

@@ -1,7 +0,0 @@
-|              |                                                             |      |
-| ------------ | ----------------------------------------------------------- | ---- |
-| 登录         | http://101.133.214.75:13200/prod-api/auth/login             |      |
-| 获取用户信息 | http://101.133.214.75:13200/prod-api/system/user/getInfo    |      |
-| 获取权限列表 | http://101.133.214.75:13200/prod-api/system/menu/getRouters |      |
-|              |                                                             |      |
-

+ 0 - 373
开发管理/电力录波和谐波.md

@@ -1,373 +0,0 @@
-# 谐波
-
-指的是电流中所含有的频率为基波整数倍的电量。其实,谐波本身并不存在,只是畸变的波形经过傅里叶分解后的等效波形
-
-
-
-
-
-# 接收编码
-
-协议接收
-
-协议确认
-
-
-
-```mermaid
-graph LR
-n1[协议接收]
-n2[协议确认]
-
-```
-
-
-
-
-
-
-
-参照183设备表字段存储数据
-1、定时上传YT状态和监测数据(指令类型 0x11 类型标志 0x07,0xd2):
-庄城的开关量和数据量是放在一个报文里上传的,我将它拆分成了遥信和遥测两部分
-遥信:除 “预留 BIT6-0”,有33个字段
-开关量输入 "DI1",
-  火灾预警总 "FireAlarm", 线路电气故障总 "EleAlarm", 缺相 "PhaseLoss", 线路带电 "LoadLive",  线路开关状态 "LoadBrkState", 过压 "OverV",  压 "UnderVa", 电流越限 "OverI", 过流跳闸 "Trip", 母线停电 "BusOutage", 剩余电流越限 "OverIr", 测温点1超温 "OverT1", 测温点2超温 "OverT2", 测温点3超温 "OverT3", 测温点4超温 "OverT4", 环境温度越限 "OverEvT", A相燃弧 "ArcA", B相燃弧 "ArcB", C相燃弧 "ArcC", 电压谐波越限 "OverUH", 电流谐波越限 "OverIH", 有功需量超限 "OverDemandP", 视在需量超限 "OverDemandS", 测量通道故障 "MeasFailure", 设备异常 "DevAbnormal", 消音 "Mute", 开出1 "DO1", 开出2 "DO2", 备用遥信1 "ResDI1", 备用遥信2 "ResDI2", 备用遥信3 "ResDI3", 备用遥信4 "ResDI4",
-预留 BIT6-0
-
-183遥信:
-CREATE TABLE `rt_switch_data` (
-  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '伍继电力test_183消费组开关量实时数据表ID',
-  `deviceName` VARCHAR(255) NOT NULL COMMENT '阿里云平台设备名称',
-  `ArcA` INT(1) DEFAULT NULL COMMENT 'A相燃弧a(0 正常  1 告警)',
-  `ArcB` INT(1) DEFAULT NULL COMMENT 'B相燃弧(0 正常  1 告警)',
-  `ArcC` INT(1) DEFAULT NULL COMMENT 'C相燃弧(0 正常  1 告警)',
-  `BusOutage` INT(1) DEFAULT NULL COMMENT '母线停电(0 正常  1 告警)',
-
-  `DI1` INT(1) DEFAULT NULL COMMENT '开入1(0 正常  1 告警)',
-  `DI2` INT(1) DEFAULT NULL COMMENT '开入2(0 正常  1 告警)',
-  `DI3` INT(1) DEFAULT NULL COMMENT '开入3(0 正常  1 告警)',
-
-  `DO1` INT(1) DEFAULT NULL COMMENT '开出1(0 正常  1 告警)',
-  `DO2` INT(1) DEFAULT NULL COMMENT '开出2(0 正常  1 告警)',
-  `DevAbnormal` INT(1) DEFAULT NULL COMMENT '设备异常(0 正常  1 告警)',
-  `EleAlarm` INT(1) DEFAULT NULL COMMENT '线路电气故障总(0 正常  1 告警)',
-  `FireAlarm` INT(1) DEFAULT NULL COMMENT '火灾预警总(0 正常  1 告警)',
-  `LoadBrkState` INT(1) DEFAULT NULL COMMENT '线路开关状态(0 正常  1 告警)',
-  `LoadLive` INT(1) DEFAULT NULL COMMENT '线路带电(0 正常  1 告警)',
-  `MeasFailure` INT(1) DEFAULT NULL COMMENT '测量通道故障(0 正常  1 告警)',
-  `Mute` INT(1) DEFAULT NULL COMMENT '消音(0 正常  1 告警)',
-  `OverDemandP` INT(1) DEFAULT NULL COMMENT '有功需量超限(0 正常  1 告警)',
-  `OverDemandS` INT(1) DEFAULT NULL COMMENT '视在需量超限(0 正常  1 告警)',
-  `OverEvT` INT(1) DEFAULT NULL COMMENT '环境温度越限(0 正常  1 告警)',
-  `OverI` INT(1) DEFAULT NULL COMMENT '电流越限(0 正常  1 告警)',
-  `OverIH` INT(1) DEFAULT NULL COMMENT '电流谐波越限(0 正常  1 告警)',
-  `OverIr` INT(1) DEFAULT NULL COMMENT '剩余电流越限(0 正常  1 告警)',
-  `OverT1` INT(1) DEFAULT NULL COMMENT '测温点1超温(0 正常  1 告警)',
-  `OverT2` INT(1) DEFAULT NULL COMMENT '测温点2超温(0 正常  1 告警)',
-  `OverT3` INT(1) DEFAULT NULL COMMENT '测温点3超温(0 正常  1 告警)',
-  `OverT4` INT(1) DEFAULT NULL COMMENT '测温点4超温(0 正常  1 告警)',
-  `OverUH` INT(1) DEFAULT NULL COMMENT '电压谐波越限(0 正常  1 告警)',
-  `OverV` INT(1) DEFAULT NULL COMMENT '过压(0 正常  1 告警)',
-  `PhaseLoss` INT(1) DEFAULT NULL COMMENT '缺相(0 正常  1 告警)',
-  `ResDI1` INT(1) DEFAULT NULL COMMENT '备用遥信1(0 正常  1 告警)',
-  `ResDI2` INT(1) DEFAULT NULL COMMENT '备用遥信2(0 正常  1 告警)',
-  `ResDI3` INT(1) DEFAULT NULL COMMENT '备用遥信3(0 正常  1 告警)',
-  `ResDI4` INT(1) DEFAULT NULL COMMENT '备用遥信4(0 正常  1 告警)',
-  `Trip` INT(1) DEFAULT NULL COMMENT '跳闸(0 正常  1 告警)',
-  `UnderV` INT(1) DEFAULT NULL COMMENT '欠压(0 正常  1 告警)',
-  `dataTime` DATETIME DEFAULT NULL COMMENT '上报时间',
-  PRIMARY KEY (`id`)
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-
-
- 注:无符号整数为大端编码(如 00 23,结果为35mA),浮点数和日期都是小端编码 开发完成要对这几种类型的设备数据进行正确性验证
-遥测:
-A相电压-Ua  B相电压-Ub  C相电压-Uc 回路电压-Ul A相电流-Ia  B相电流-Ib  C相电流-Ic  剩余电流(漏电流 mA)-Ir   外接温度1(℃)-T1 外接温度2(℃)-T2  外接温度3(℃)-T3  外接温度4(℃)-T4  频率(Hz)-F  AB线电压-Uab  BC线电压-Ubc  CA线电压-Uca  A相有功功率(KW)-Pa  A相无功功率(KVar)-Qa  A相功率因素-COSa  B相有功功率(KW)-Pb  B相无功功率(KVar)-Qb  B相功率因素-COSb  C相有功功率(KW)-Pc  C相无功功率(KVar)-Qc  C相功率因素-COSc  总有功功率(KW)-P  总无功功率(KW)-Q   功率因素-COS  实时需量(KW)-Demand  昨日最大有功需量-LastDayMD  昨日Pmax发生时间-LastDayMDt  负序电流-I2  
- 零序电压 
- 负序电压不平衡度-UblU2  零序电压不平衡度-UblU0   A相电压畸变率(%)-THDUa   B相电压畸变率(%)-THDUb  C相电压畸变率(%)-THDUc  la总谐波电流-IHa  lb总谐波电流-IHb  lc总谐波电流-IHc  环境温度(℃)-DeviceTemp  设备信号强度-SignalIntensity  电压暂升次数(次)-Upt  电压暂降次数(次)-Udt  电压中断次数(次)-Ust  母线停电次数(次)-Busot  设备复位次数(次)-DevResetTimes  正有功电度(KW/h)-Epp  负有功电度(KW/h)-Epn  正无功电度(KW/h)-Eqp  负无功电度(KW/h)-Eqn  尖段正向有功(KW/h)-Epp1  尖段反向有功 (KVar/h)-Epn1  峰段正向有功(KW/h)-Epp2  峰段反向有功 (KVar/h)-Epn2  平段正向有功(KW/h)-Epp3  平段反向有功 (KVar/h)-Epn3  谷段正向有功(KW/h)-Epp4  谷段反向有功(KVar/h)-Epn4
-
-183遥测:
-CREATE TABLE `rt_analog_data` (
-  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '伍继电力test_183消费组模拟量实时数据表ID',
-  `deviceName` VARCHAR(25) NOT NULL DEFAULT '' COMMENT '阿里云平台设备名称',
-  `Busot` INT(5) DEFAULT NULL COMMENT '母线停电次数',
-  `COS` DOUBLE(25,2) DEFAULT NULL COMMENT '三相功率因数',
-  `COSa` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相功率因数',
-  `COSb` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相功率因数',
-  `COSc` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相功率因数',
-  `Demand` DOUBLE(25,2) DEFAULT NULL COMMENT '实时有功需量',
-  `DevResetTimes` INT(5) DEFAULT NULL COMMENT '设备复位次数',
-  `DeviceTemp` DOUBLE(25,2) DEFAULT NULL COMMENT '设备温度',
-  `Epn` DOUBLE(25,2) DEFAULT NULL COMMENT '三相反向有功电度',
-  `Epn1` DOUBLE(25,2) DEFAULT NULL COMMENT '尖段反向有功电度',
-  `Epn2` DOUBLE(25,2) DEFAULT NULL COMMENT '峰段反向有功电度',
-  `Epn3` DOUBLE(25,2) DEFAULT NULL COMMENT '平段反向有功电度',
-  `Epn4` DOUBLE(25,2) DEFAULT NULL COMMENT '谷段反向有功电度',
-  `Epp` DOUBLE(25,2) DEFAULT NULL COMMENT '三相正向有功电度',
-  `Epp1` DOUBLE(25,2) DEFAULT NULL COMMENT '尖段正向有功电度',
-  `Epp2` DOUBLE(25,2) DEFAULT NULL COMMENT '峰段正向有功电度',
-  `Epp3` DOUBLE(25,2) DEFAULT NULL COMMENT '平段正向有功电度',
-  `Epp4` DOUBLE(25,2) DEFAULT NULL COMMENT '谷段正向有功电度',
-  `Eqn` DOUBLE(25,2) DEFAULT NULL COMMENT '三相反向无功电度',
-  `Eqp` DOUBLE(25,2) DEFAULT NULL COMMENT '三相正向无功电度',
-  `F` DOUBLE(25,2) DEFAULT NULL COMMENT '频率',
-  `I0` DOUBLE(25,2) DEFAULT NULL COMMENT '零序电流',
-  `I2` DOUBLE(25,2) DEFAULT NULL COMMENT '负序电流',
-  `IHa` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相总谐波电流',
-  `IHb` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相总谐波电流',
-  `IHc` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相总谐波电流',
-  `Ia` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相电流',
-  `Ib` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相电流',
-  `Ic` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相电流',
-  `Ir` DOUBLE(25,2) DEFAULT NULL COMMENT '剩余电流',
-  `LastDayMD` DOUBLE(25,2) DEFAULT NULL COMMENT '昨日有功最大需量',
-  `LastDayMDt` DOUBLE(25,2) DEFAULT NULL COMMENT '昨日有功最大需量发生时间',
-  `P` DOUBLE(25,2) DEFAULT NULL COMMENT '三相总有功功率',
-  `Pa` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相有功功率',
-  `Pb` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相有功功率',
-  `Pc` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相有功功率',
-  `Q` DOUBLE(25,2) DEFAULT NULL COMMENT '三相总无功功率',
-  `Qa` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相无功功率',
-  `Qb` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相无功功率',
-  `Qc` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相无功功率',
-  `SignalIntensity` DOUBLE(25,2) DEFAULT NULL COMMENT '信号强度',
-  `T1` DOUBLE(25,2) DEFAULT NULL COMMENT '第1路温度',
-  `T2` DOUBLE(25,2) DEFAULT NULL COMMENT '第2路温度',
-  `T3` DOUBLE(25,2) DEFAULT NULL COMMENT '第3路温度',
-  `T4` DOUBLE(25,2) DEFAULT NULL COMMENT '第4路温度',
-  `THDUa` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相电压THD',
-  `THDUb` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相电压THD',
-  `THDUc` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相电压THD',
-  `Ua` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相电压',
-  `Uab` DOUBLE(25,2) DEFAULT NULL COMMENT 'AB线电压',
-  `Ub` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相电压',
-  `Ubc` DOUBLE(25,2) DEFAULT NULL COMMENT 'BC线电压',
-  `UblU0` DOUBLE(25,2) DEFAULT NULL COMMENT '零序电压不平衡度',
-  `UblU2` DOUBLE(25,2) DEFAULT NULL COMMENT '负序电压不平衡度',
-  `Uc` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相电压',
-  `Uca` DOUBLE(25,2) DEFAULT NULL COMMENT 'CA线电压',
-  `Udt` INT(5) DEFAULT NULL COMMENT '电压暂降次数',
-  `Ul` DOUBLE(25,2) DEFAULT NULL COMMENT '线路侧电压',
-  `Upt` INT(5) DEFAULT NULL COMMENT '电压暂升次数',
-  `Ust` INT(5) DEFAULT NULL COMMENT '电压短时中断次数',
-  `freezingTime` DATE DEFAULT NULL COMMENT '冻结时间',
-  `dataTime` DATETIME DEFAULT NULL COMMENT '上报时间',
-  PRIMARY KEY (`id`)
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-
-
-
-
-2、通道状态变化时上传(指令类型 0x12 类型标志 0x07,0xd2):
-庄城:
-开关量输入 BIT7 1 表示变化 0 表示未变化 
-
-火灾预警总 BIT6 同上 线路电气故障总 BIT5 同上 缺相 BIT4 同上 线路带电 BIT3 同上 线路开关状态 BIT2 同上 过压 BIT1 同上 低压 BIT0 同上 电流越限 BIT7 同上 过流跳闸 BIT6 同上 母线停电 BIT5 同上 剩余电流越限 BIT4 同上 测温点 1 超温 BIT3 同上 测温点 2 超温 BIT2 同上 测温点 3 超温 BIT1 同上 测温点 4 超温 BIT0 同上 环境温度越限 BIT7 同上 A 相燃弧 BIT6 同上 B 相燃弧 BIT5 同上 C 相燃弧 BIT4 同上 电压谐波越限 BIT3 同上 电流谐波越限 BIT2 同上 有功需量超限 BIT1 同上 视在需量超限 BIT0 同上 测量通道故障 BIT7 同上 设备异常 BIT6 同上 消音 BIT5 同上 开出 1 BIT4 同上 开出 2 BIT3 同上 备用遥信 1 BIT2 同上 备用遥信 2 BIT1 同上 备用遥信 3 BIT0 同上 备用遥信 4 BIT7 同上 
-
-预留 BIT6-0 同上
-
-183SOE:   
-				"DI1",                            "开入1", 
-                "DI2",                            "开入2",         
-                "DI3",                            "开入3",
-	
-                "FireAlarm",                      "火灾预警总",    
-                "EleAlarm",                       "线路电气故障总",
-                "PhaseLoss",                      "缺相",          
-                "LoadLive",                       "线路带电",      
-    			"LoadBrkState",                   "线路开关状态",  
-    			"OverV",                          "过压",          
-    			"UnderV",                         "低压",          
-    			"OverI",                          "电流越限",      
-    			"Trip",                           "过流跳闸",      
-    			"BusOutage",                      "母线停电",      
-    			"OverIr",                         "剩余电流越限",  
-    			"OverT1",                         "测温点1超温",   
-    			"OverT2",                         "测温点2超温",   
-    			"OverT3",                         "测温点3超温",   
-    			"OverT4",                         "测温点4超温",   
-                "OverEvT",                        "环境温度越限",  
-                "ArcA",                           "A相燃弧",       
-                "ArcB",                           "B相燃弧",       
-                "ArcC",                           "C相燃弧",       
-                "OverUH",                         "电压谐波越限",  
-                "OverIH",                         "电流谐波越限",  
-                "OverDemandP",                    "有功需量超限",  
-                "OverDemandS",                    "视在需量超限",  
-                "MeasFailure",                    "测量通道故障",  
-                "DevAbnormal",                    "设备异常",      
-                "Mute",                           "消音",          
-                "DO1",                            "开出1",         
-                "DO2",                            "开出2",         
-                "ResDI1",                         "备用遥信1",     
-                "ResDI2",                         "备用遥信2",     
-                "ResDI3",                         "备用遥信3",     
-                "ResDI4"                          "备用遥信4"   
-
-
-疑问点:
-
-1、定时上传YT状态和监测数据(指令类型 0x11 类型标志 0x07,0xd2)
-通道状态变化时上传(指令类型 0x12 类型标志 0x07,0xd2) 这两个类型上传报文字段值顺序与解析协议文档中的字段顺序一致吗? 都是一致的,就是按文档来组位的。
-2、定时上传YT状态和监测数据(指令类型 0x11 类型标志 0x07,0xd2),这个默认定时时间是多长? 默认定时时间为300秒。
-3、通道状态变化时上传(指令类型 0x12 类型标志 0x07,0xd2)是实时上报的吗? 状态变化是实时上报的。
-4、设备上传的这条这种类型报文是不是每次只有一个异常开关量,还是说会有几个异常开关量?如果有几个异常开关量,那么上报的这次报文应该取哪个异常开关量值?可以几个异常开关量一起上传,以每个异常开关量首报为依据。
-
-遥信:经过对比,发现庄城通道状态变化协议字段中“开关量输入”、“预留 BIT6-0 总计7个字段” 和183解析协议SOE中的“开入1”、“开入2”、“开入3”是不相同的,其它字段都是一样的(与183共用一个表rt_switch_data?)
-可以共用183的遥信表,庄城的“开关量输入”对应的值对应183的“开入1”字段,庄城的“预留 BIT6-0 总计7个字段”忽略不保存,183的“开入2”和“开入3”写入默认值0。
-遥测:定时上传YT状态和监测数据(指令类型 0x11 类型标志 0x07,0xd2) 中有“零序电压”,但是183是“零序电流”,所以我想确认下是不是你们这里“零序电压”字段名称写错了? 这两项是预留的,根据确认列表里的项目要求,这里是零序电压的。可以共用183的遥测表,庄城的“零序电压”忽略不保存,183的“零序电流”写入默认值0.00。
-SOE:经过对比,发现庄城通道状态变化协议字段中“开关量输入”、“预留 BIT6-0” 和183解析协议SOE中的“开入1”、“开入2”、“开入3”是不相同的,其它字段都是一样的(与183共用一个表alarm_power?)
-
-
-将生成的遥信、遥测、SOE生成的数据分别保存到对应的数据库表:
-
-1、遥信、遥测、SOE数据不管收到是哪一个,都要去更新共享内存中对应设备的状态时间;
-2、当soe报警点位数据中的时间跟共享内存中设备对应点位的时间相差大于1分钟时,将这个设备点位soe数据推送到微信端;但是母线停电优先级最高,如果母线停电报警刚推送微信端,不管哪个点位的时间与该设备的母线停电点位时间进行相减,如果小于1分钟,数据不推,即使该报警点位数据中的时间跟共享内存中设备对应点位的时间相差大于1分钟;
-3、根据设备中35个点位中6个点位(PhaseLoss 缺相\OverV 过压\UnderV 低压\BusOutage 母线停电\OverEvT 环境温度越限\DevAbnormal 设备异常)数据(0 复归 1 动作)和共享内存中设备对应的最新时间判断每个设备的状态(正常、报警、故障、离线),如果系统时间与设备对应最新状态时间超过10分钟,则为离线,如果上述设备中6个点位都是复归状态,则为正常,当点位设备异常为动作状态时,为故障,其它为告警;
-
-
-将庄城设备添加到数据库device表时,先归在“6:其他”设备类型中(在dbthread.cpp中定时同步数据库配置有检索device表,如果后期需要修改庄城的设备类型,那么要同步修改这里);
-
-
-
-
-
-
-录波和谐波:
-1、发8次下发请求一组(0-7页)故障录播数据,需要等服务器接收到设备响应上一页请求的指令帧并且服务器应答后才下发请求下一页录波指令帧(这个是原来的逻辑);
-2、录波和谐波以什么形式保存使用?按字段解析保存数据库,保留历史数据(录波发生时间表、录波表、谐波表)。
-
-3、设备哪些故障会触发取录波数据?当设备发生故障时,是下发指令帧拉取录波数据还是设备主动上报?
-现在录波触发的条件是火灾预警总,线路电气故障总,设备异常和测量通道故障   (触发条件较少)。
-三个方案:a、增加一个状态位表示录波状态,服务器再根据这个标记进行请求;b、设备故障时主动上报录波数据,服务器给应答  录波数据传完  重新开始录波;
-c、可以增加一个配置帧,配置谐波和录波数据的上传间隔和类型,设备刚连接服务器的时候服务器可以自动下发配置。
-
-5、0x11、0x12、谐波和录波指令帧和每个字段值对应来一组数据说明文档,还有最新的解析协议说明文档; 我更新一下那个示例数据文档,填一下解析后的数值。
-
-
-
-
-
-16Bx80为一组录波数据
-
-那就麻烦你那边 加两个字节一个表示录波文件序号(1-256)、一个是故障录波发生时间,  把页号和数据组号两个字节去掉  服务器应答?在原有上传录波协议中 增加一个是故障录波发生时间就可以了其它字段不变 (其实这里只需要加个录波发生时间就可以了,其它字段都不变,产生录波就发送,服务器在收到录波最后一页时给应答);
-
-
-当设备发生指定状态位故障时,产生一组录波文件(80个  5ms一个,总共400ms)
-谐波每2-3秒产生一组(最大值、平均值、含量)
-
-通讯时序双方约定
-
-
-
-
-
-1、故障录波主动上传  (可以双发,但是不建议双发,开双发会影响通讯性能,单发是可以满足主动上传故障录波数据的,穿插的,不影响其它数据  可能有时延)。
-如果主动上报,当设备发生故障产生故障录波数据时,主动上报数据;
-如果是下发请求录波指令,设备收到请求指令就根据指令中输入的录波产生时间找到对应的故障录波数据,上传这组故障录波数据 ;
-前端如何获取指定的故障录波发送时间 设备上传一个故障录波发生时间列表指令帧  (如果是下发请求,那么设备端要增加 故障录波发生时间列表+处理接收到服务器发过来的指定录波发生时间并将这组录波数据上传)
-上传8次(页序0-7)上传完一组录波数据(优化缩短,尽量减少应答次数),如果是设备发生故障主动上传,设备上传每页录波数据可以不用每次服务器响应,当服务器收到设备响应指令帧中页数为7页时,服务器响应+前面0-6页处理的要保存数据库表中的sql和7页一起emit保存到数据库中,表示这组录波数据上传完毕,如果没有收到服务器最后的响应,设备再重发(如果是主动上传,设备没有收到服务器最后的响应,设备再重发,重复几次还是没有应答,那这组故障录波数据怎么处理)
-
-2、谐波定时上传  如果设备可以存数据,下发命令根据需要拉取(异步不需要服务端应答);如果是主动上传,设备2-3秒就产生一组(通道 0:A 相电压 1:B 相电压 2:C 相电压 3:A 相电流 4:B 相电流 5:C 相电流)谐波数据(最大值、平均值、含量),每个类型分别是31组,这31组数据是多长时间产生的? 频率太短,数据量巨大,要讨论 (尤比酷:统计报表为日报表,由于生成统计报表需要计算时间,建议在每天凌晨 1 点后再召
-唤前一天的统计报表。下行报文只需发送一次,设备端主动分帧上送整个统计报表。每个类型(A 相电压 1:B 相电压 2:C 相电压 3:A 相电流 4:B 相电流 5:C 相电流)总共82组(最大值、平均值、含量));
-
-3、下发命令怎么准确拉取指定故障录波和谐波数据?故障录波发生时间   设备上传的一组中80个故障录波指令帧时间都是故障发生时间,以相同故障发生时间来判断是否是同一组故障录波(数据垮度前400ms的数据)
-
-4、现在录波触发的条件是火灾预警总,线路电气故障总,设备异常和测量通道故障   (触发条件较少)
-
-5、下发指令帧连帧处理,设备是否可以对几个连帧做解析并处理?
-
-
-
-
-
-
-1、故障录波:上传录波数据(0x18):
-设备编号
-文件序号(1-256)
-页号
-数据组号(1-80)
-2B UA、 2B UB、 2B UC、 2B IA、 2B IB、 2B IC、 2B IR、 BIT15:开入1 BIT14:火灾预警总 BIT13:线路电气故障总 BIT12:缺相 BIT11:过压 BIT10:欠压 BIT9:电流越限 BIT8:过流跳闸 BIT7:剩余电流越限 BIT6:T1超温 BIT5:T2超温 BIT4:T3超温 BIT3:T4超温 BIT2:环境温度超温 BIT1-0:预留
-上报时间
-
-CREATE TABLE `wave_record_data` (
-  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '故障录波数据表ID',
-  `deviceName` VARCHAR(255) NOT NULL COMMENT '设备编号',
-  `page` INT(1) DEFAULT NULL COMMENT '页号',
-  `num` INT(1) DEFAULT NULL COMMENT '组号',
-  `Ua` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相电压',
-  `Ub` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相电压',
-  `Uc` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相电压',
-  `Ia` DOUBLE(25,2) DEFAULT NULL COMMENT 'A相电流',
-  `Ib` DOUBLE(25,2) DEFAULT NULL COMMENT 'B相电流',
-  `Ic` DOUBLE(25,2) DEFAULT NULL COMMENT 'C相电流',
-  `Ir` DOUBLE(25,2) DEFAULT NULL COMMENT '剩余电流',
-  `DI1` INT(1) DEFAULT NULL COMMENT '开入1(0 正常  1 告警)',
-  `FireAlarm` INT(1) DEFAULT NULL COMMENT '火灾预警总(0 正常  1 告警)',
-  `EleAlarm` INT(1) DEFAULT NULL COMMENT '线路电气故障总(0 正常  1 告警)',
-  `PhaseLoss` INT(1) DEFAULT NULL COMMENT '缺相(0 正常  1 告警)',
-  `OverV` INT(1) DEFAULT NULL COMMENT '过压(0 正常  1 告警)',
-  `UnderV` INT(1) DEFAULT NULL COMMENT '欠压(0 正常  1 告警)',
-  `OverI` INT(1) DEFAULT NULL COMMENT '电流越限(0 正常  1 告警)',
-  `Trip` INT(1) DEFAULT NULL COMMENT '过流跳闸(0 正常  1 告警)',
-  `OverIr` INT(1) DEFAULT NULL COMMENT '剩余电流越限(0 正常  1 告警)',
-  `OverT1` INT(1) DEFAULT NULL COMMENT '测温点1超温(0 正常  1 告警)',
-  `OverT2` INT(1) DEFAULT NULL COMMENT '测温点2超温(0 正常  1 告警)',
-  `OverT3` INT(1) DEFAULT NULL COMMENT '测温点3超温(0 正常  1 告警)',
-  `OverT4` INT(1) DEFAULT NULL COMMENT '测温点4超温(0 正常  1 告警)',
-  `OverEvT` INT(1) DEFAULT NULL COMMENT '环境温度超温(0 正常  1 告警)',
-  `ResDI1` INT(1) DEFAULT NULL COMMENT '预留1(0 正常  1 告警)',
-  `ResDI2` INT(1) DEFAULT NULL COMMENT '预留2(0 正常  1 告警)',
-  `dataTime` DATETIME DEFAULT NULL COMMENT '上报时间',
-  PRIMARY KEY (`id`)
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-
-
-
-2、谐波:(上传谐波平均值(0x15)、上传谐波最大值(0x16)、上传谐波含量(0x17)):
-设备编号
-指令类型   //1 平均值 2 最大值 3 含量
-通道类型    //0 A相电压 1 B相电压 2 C相电压 3 A相电流 4 B相电流 5 C相电流
-谐波1次 谐波2次 谐波3次 谐波4次 谐波5次 谐波6次 谐波7次 谐波8次 谐波9次 谐波10次 谐波11次 谐波12次 谐波13次 谐波14次 谐波15次 谐波16次 谐波17次 谐波18次 谐波19次 谐波20次 谐波21次 谐波22次 谐波23次 谐波24次 谐波25次 谐波26次 谐波27次 谐波28次 谐波29次 谐波30次 谐波31次 (注:这31次谐波 当为平均值和最大值时,数值除以10,当为含量时,数值除以 100)
-上报时间
-
-CREATE TABLE `wave_har_data` (
-  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '谐波数据表ID',
-  `deviceName` VARCHAR(255) NOT NULL COMMENT '设备编号',
-  `orderType` INT(1) DEFAULT NULL COMMENT '指令类型(1 平均值 2 最大值 3 含量)',
-  `pagType` INT(1) DEFAULT NULL COMMENT '通道类型(0 A相电压 1 B相电压 2 C相电压 3 A相电流 4 B相电流 5 C相电流)',
-  `h1` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波1次',
-  `h2` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波2次',
-  `h3` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波3次',
-  `h4` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波4次',
-  `h5` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波5次',
-  `h6` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波6次',
-  `h7` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波7次',
-  `h8` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波8次',
-  `h9` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波9次',
-  `h10` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波10次',
-  `h11` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波11次',
-  `h12` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波12次',
-  `h13` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波13次',
-  `h14` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波14次',
-  `h15` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波15次',
-  `h16` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波16次',
-  `h17` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波17次',
-  `h18` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波18次',
-  `h19` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波19次',
-  `h20` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波20次',
-  `h21` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波21次',
-  `h22` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波22次',
-  `h23` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波23次',
-  `h24` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波24次',
-  `h25` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波25次',
-  `h26` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波26次',
-  `h27` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波27次',
-  `h28` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波28次',
-  `h29` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波29次',
-  `h30` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波30次',
-  `h31` DOUBLE(25,2) DEFAULT NULL COMMENT '谐波31次',
-  `dataTime` DATETIME DEFAULT NULL COMMENT '上报时间',
-  PRIMARY KEY (`id`)
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

+ 0 - 11
开发管理/租户获取方法.md

@@ -1,11 +0,0 @@
-```
-Ruoyi获取方法:
-public AjaxResult getRouters()
-    {
-        Long userId = SecurityUtils.getUserId();
-        Integer tenantId = SecurityUtils.getTenantId();
-        List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
-        return AjaxResult.success(menuService.buildMenus(menus));
-    }
-```
-

+ 114 - 0
技术分享/Dify 部署安装.md

@@ -0,0 +1,114 @@
+# Dify 安装与部署指南(v0.15.3)
+
+## 前提条件
+
+- 已安装 Git
+- 有可用的服务器或本地环境
+- 服务器可访问互联网
+
+---
+
+## 1. 拉取源码
+
+1. 克隆指定版本源码:
+    ```bash
+    git clone https://github.com/langgenius/dify.git --branch 0.15.3
+    ```
+2. 进入项目根目录,新建 `dify` 文件夹并移动源码:
+    ```bash
+    mkdir dify
+    mv dify-0.15.3/* dify/
+    ```
+3. (可选)若您已下载压缩包,解压到 `dify/`:
+    ```bash
+    unzip dify.zip -d dify/
+    ```
+
+---
+
+## 2. 安装并启动 Docker
+
+1. 使用阿里云镜像一键安装:
+    ```bash
+    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
+    ```
+2. 启动并设置开机自启:
+    ```bash
+    sudo systemctl start docker
+    sudo systemctl enable docker
+    ```
+3. 测试 Docker:
+    ```bash
+    sudo docker run hello-world
+    ```
+
+---
+
+## 3. 配置镜像加速
+
+1. 编辑 `/etc/docker/daemon.json`:
+    ```bash
+    sudo vim /etc/docker/daemon.json
+    ```
+2. 添加或替换为:
+    ```json
+    {
+      "registry-mirrors": [
+        "https://docker.xuanyuan.me",
+        "https://dytt.online"
+      ]
+    }
+    ```
+3. 重载并重启 Docker:
+    ```bash
+    sudo systemctl daemon-reload
+    sudo systemctl restart docker
+    ```
+4. 验证配置:
+    ```bash
+    docker info
+    ```
+
+---
+
+## 4. 启动 Dify 服务
+
+1. 进入 Dify 的 Docker 配置目录:
+    ```bash
+    cd dify/docker
+    ```
+2. 复制环境变量示例并编辑 `.env`:
+    ```bash
+    cp .env.example .env
+    vim .env   # 根据需求修改端口、数据库等配置
+    ```
+3. 启动容器:
+    ```bash
+    docker compose up -d
+    ```
+4. 检查容器状态,确认全部正常运行:
+    ```bash
+    docker compose ps
+    ```
+
+---
+
+## 5. 访问平台
+
+在浏览器中打开:
+http://<服务器IP或域名>/apps
+
+如页面无法访问,请检查:
+- 防火墙/安全组规则
+- `.env` 中的端口配置
+- Docker 容器日志:`docker compose logs -f`
+
+---
+
+## 常见问题 & 拓展
+
+- **端口冲突**:修改 `.env` 中的端口映射后重启服务。
+- **Nginx/SSL**:可在外层使用 Nginx 做反向代理及证书托管。
+- **内网穿透**:推荐使用 Cloudflare Tunnel、frp 等工具。
+
+---

+ 0 - 0
会议记录/命令回调格式.md → 技术分享/JSONRPC命令回调格式.md


Некоторые файлы не были показаны из-за большого количества измененных файлов