浏览代码

修改 文档结构

guoenzhou 3 周之前
父节点
当前提交
1d5462e2fe
共有 61 个文件被更改,包括 94 次插入4020 次删除
  1. 87 1
      README.md
  2. 0 38
      _book/.gitignore
  3. 0 14
      _book/bin/start.sh
  4. 二进制
      _book/gitbook/fonts/fontawesome/FontAwesome.otf
  5. 二进制
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.eot
  6. 0 196
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.svg
  7. 二进制
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
  8. 二进制
      _book/gitbook/fonts/fontawesome/fontawesome-webfont.woff
  9. 二进制
      _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. 二进制
      _book/gitbook/images/apple-touch-icon-precomposed-152.png
  24. 二进制
      _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. 二进制
      _book/技术分享/分布式时序数据库InfluxDB.docx
  30. 二进制
      _book/项目架构/img.png
  31. 二进制
      _book/项目架构/img_1.png
  32. 0 334
      _book/项目架构/开发流程.html
  33. 1 0
      book.json
  34. 6 0
      package-lock.json
  35. 0 59
      会议记录/智慧楼宇门户集成平台建设方案.md
  36. 0 95
      会议记录/涂鸦智慧楼宇资料.md
  37. 0 19
      会议记录/消防支队.md
  38. 0 85
      会议记录/消防物联网平台承接代理渠道可行性分析V0.1.md
  39. 0 12
      会议记录/消防设施物联网系统运行平台数据传输导则问题.md
  40. 0 54
      会议记录/软件著作申请.md
  41. 0 0
      团队制度/【产品规范】敏捷(SCRUM)开发规范.md
  42. 0 42
      团队制度/【团队规范】研发中心制度.md
  43. 0 3
      备忘文件/Untitled 1.md
  44. 0 33
      备忘文件/Untitled.md
  45. 0 40
      备忘文件/专利草稿.md
  46. 0 0
      备忘文件/中控平台需求分析.md
  47. 0 52
      备忘文件/关于web站点和API站点分离还是共用问题.md
  48. 0 50
      备忘文件/关于园区平台模式思考.md
  49. 0 23
      备忘文件/宣讲材料.md
  50. 0 502
      开发管理/Mybatisplus搭建多租户模式.md
  51. 0 19
      开发管理/对于主页前端调整讨论.md
  52. 0 7
      开发管理/接口分析.md
  53. 0 373
      开发管理/电力录波和谐波.md
  54. 0 11
      开发管理/租户获取方法.md
  55. 0 0
      技术分享/JSONRPC命令回调格式.md
  56. 0 0
      技术分享/产品体系.md
  57. 0 0
      技术分享/永天产品演示脚本.md
  58. 0 0
      设计管理/消息中心设计.md
  59. 0 92
      进度跟踪/东信园区冲刺计划.md
  60. 0 20
      进度跟踪/永天智慧消防平台.md
  61. 0 0
      项目架构/永天核心技术.md

+ 87 - 1
README.md

@@ -1,8 +1,94 @@
 # 永天开发团队文档中心 
 
+# 团队成员
 
+| 团队成员 |             |                     |        |
+| -------- | ----------- | ------------------- | ------ |
+| 人员     | 电话        | 微信号              | 岗位   |
+| 王哲     | 16621197124 | ruoyu7124           | 产品   |
+| 韩正义   | 15122423833 | HZY19950212         | 后端   |
+| 王涛     | 13127578837 | flight_wt           | 前端   |
+| 张婷     | 18827277292 | zt525258661         | UI设计 |
+| 詹叶俊   | 13817141383 | wxid_aelu2xnwqghf21 | 后端   |
+| 方惠圣   | 15575941817 | fang1813914505      | 前端   |
+| 赵金雨   | 15638838328 | zjy1614271464       | 测试   |
+| 付宇川   | 13576528709 | Who-dares_wins      | 后端   |
+| 郭恩洲   | 17717355687 | mrguo_2010.         | 后端   |
 
-## 安装使用
+
+
+
+
+| 历史贡献成员(曾经为团队贡献成员) |             |              |      |
+| ---------------------------------- | ----------- | ------------ | ---- |
+| 人员                               | 电话        | 微信号       | 岗位 |
+| 杨强                               | 18835187483 | YQ2429759623 | 后端 |
+| 吉超博                             | 17621295894 | b987253232   | 后端 |
+| 袁明明                             | 13262908435 | Julia-YuanM  | 前端 |
+| 薛羽                               | 13835969717 | gddlzyxy9527 | 测试 |
+| 陆文佳                             | 19121036221 | Grant-J      | 测试 |
+
+
+
+# 常用工具
+
+| 工具名称         | 地址                       | 备注 |
+| ---------------- | -------------------------- | ---- |
+| 代码质量管理系统 | http://47.111.81.118:3000/ |      |
+| mqtt服务         | http://47.98.201.73:18083/ |      |
+| 原型设计工具     | https://lanhuapp.com/      |      |
+
+
+
+
+
+# 数据平台
+
+|                 | 访问地址 | 负责人        | 开发手册 | 用户手册 | 部署地址 | 部署模式 | 源码地址 |
+| --------------- | -------- | ------------- | -------- | -------- | -------- | -------- | -------- |
+| IOT收集存储服务 |          | 韩正义,詹叶俊 |          |          |          |          |          |
+|                 |          |               |          |          |          |          |          |
+
+  
+
+
+
+## 技术平台常用系统
+
+
+
+| 系统名           | 开源组件 | 地址                                                        | 状态     |
+| ---------------- | -------- | ----------------------------------------------------------- | -------- |
+| 服务注册中心系统 |          | http://usky-cloud-nacos/nacos/#/login (nacos/naoc@Usky2022) | 建设完成 |
+| API文档系统      |          | http://101.133.214.75:7700/                                 | 没有API  |
+| 服务监控系统     |          | http://usky-cloud-admin/  (ruoyi/123456)                    | 建设完成 |
+| 持续集成发布系统 |          | http://usky-cloud-jenkins/login (admin/admin#usky123)       | 建设完成 |
+| 代码质量管理系统 |          | http://usky-cloud-git                                       | 建设完成 |
+| 容器管理系统     |          | http://192.168.31.114:9000/#/containers                     | 不建设   |
+| 基础监控         |          | http://192.168.31.114:3001/                                 | 建设完成 |
+| Nexus maven私服  |          | http://101.133.214.75:8081/ (admin/Usky@208                | 建设完成 |
+|                  |          |                                                             |          |
+
+
+
+# 业务平台
+
+| 项目     | 归属平台 | 地址                                                         | 负责人        | 用户手册                             | 开发手册 | 部署地址 | 部署模式 | 源码地址                                                     |
+| -------- | -------- | ------------------------------------------------------------ | ------------- | ------------------------------------ | -------- | -------- | -------- | ------------------------------------------------------------ |
+|          | 智慧消防 | 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

二进制
_book/gitbook/fonts/fontawesome/FontAwesome.otf


二进制
_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot


文件差异内容过多而无法显示
+ 0 - 196
_book/gitbook/fonts/fontawesome/fontawesome-webfont.svg


二进制
_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf


二进制
_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff


二进制
_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


二进制
_book/gitbook/images/apple-touch-icon-precomposed-152.png


二进制
_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


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


二进制
_book/项目架构/img.png


二进制
_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 - 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 → 团队制度/【产品规范】敏捷(SCRUM)开发规范.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));
-    }
-```
-

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


+ 0 - 0
会议记录/产品体系.md → 技术分享/产品体系.md


+ 0 - 0
会议记录/永天产品演示脚本.md → 技术分享/永天产品演示脚本.md


+ 0 - 0
后端开发/消息中心设计.md → 设计管理/消息中心设计.md


+ 0 - 92
进度跟踪/东信园区冲刺计划.md

@@ -1,92 +0,0 @@
-# 项目:东信园区最后冲刺计划
-
-# 人员规划
-
-项目Mentor:姚强,郭恩洲
-
-研发负责人:
-
-产品负责人: 
-
-UI设计:      张婷(机动)
-
-前端开发:王涛,小方(机动三维),
-
-后端开发:杨强
-
-硬件终端代表:苏金阳
-
-
-
-## 版本规划
-
-
-
-
-
-
-
-1.bug的闭环(
-
-2.每天报告是对方整理
-
-
-
-
-
-已关闭(确认,已修复)
-
-
-
-1.流程:bug提出bug ----->跟进处理,已修复-----》测一下---〉 东信测试人员确认;
-
-2.已修复带确认;
-
-
-
-#  接触bug
-
-
-
-1.【整体平台】
-
-今日修复关闭, 剩余总量,今日修复未关闭 
-
-
-
-2.【各个系统】
-
-  
-
-3.【今日解决明细】
-
-   bug提出,已修复时间,已关闭时间
-
-
-
-4.【修改】
-
-
-
-----------------------------
-
-1.确定真实bug数量,bug修改制定计划,
-
-
-
-3.本周三目标()
-
-
-
-4.BA系统
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 20
进度跟踪/永天智慧消防平台.md

@@ -1,20 +0,0 @@
-# 人员规划
-
-项目:智慧消防企业版
-
-项目Mentor:姚强,郭恩洲
-
-研发负责人:韩正义
-
-产品经理:王哲
-
-UI设计:张婷
-
-前端开发:方
-
-后端开发:韩正义,吉超博
-
-
-
-## 版本规划:
-

+ 0 - 0
会议记录/永天核心技术.md → 项目架构/永天核心技术.md


部分文件因为文件数量过多而无法显示