Browse Source

feature(branch_wlh): refactor business

wlhbdp 2 years ago
parent
commit
4de3e7e82f
100 changed files with 29 additions and 22502 deletions
  1. 0 0
      .gitkeep
  2. 9 9
      README-zh.md
  3. 19 19
      README.md
  4. 1 1
      bdp-ai/README.md
  5. 0 73
      bdp-business/backend-java/README.md
  6. 0 336
      bdp-business/backend-java/pom.xml
  7. 0 95
      bdp-business/backend/README.md
  8. 0 330
      bdp-business/devopsServer/pom.xml
  9. 0 19
      bdp-business/devopsWeb/.babelrc
  10. 0 55
      bdp-business/devopsWeb/app.js
  11. 0 94
      bdp-business/devopsWeb/conf/db.js
  12. 0 8
      bdp-business/devopsWeb/conf/development.js
  13. 0 9
      bdp-business/devopsWeb/conf/index.js
  14. 0 11
      bdp-business/devopsWeb/conf/production.js
  15. 0 41
      bdp-business/devopsWeb/controller/api/api_Project.js
  16. 0 13
      bdp-business/devopsWeb/controller/controller.js
  17. 0 86
      bdp-business/devopsWeb/controller/modules/login.js
  18. 0 55
      bdp-business/devopsWeb/controller/modules/project.js
  19. 0 9
      bdp-business/devopsWeb/controller/modules/test.js
  20. 0 42
      bdp-business/devopsWeb/middleware/passThrough.js
  21. 0 51
      bdp-business/devopsWeb/middleware/tokenAuth.js
  22. 0 26
      bdp-business/devopsWeb/nodemon.json
  23. 0 14377
      bdp-business/devopsWeb/package-lock.json
  24. 0 69
      bdp-business/devopsWeb/package.json
  25. 0 24
      bdp-business/devopsWeb/process.json
  26. 0 49
      bdp-business/devopsWeb/routes/route.js
  27. 0 26
      bdp-business/devopsWeb/src/index.html
  28. 0 350
      bdp-business/devopsWeb/src/js/interface.js
  29. 0 432
      bdp-business/devopsWeb/src/js/lib/show-hint.js
  30. 0 84
      bdp-business/devopsWeb/src/js/util.js
  31. 0 10
      bdp-business/devopsWeb/src/js/variable.js
  32. 0 31
      bdp-business/devopsWeb/src/main.js
  33. 0 17
      bdp-business/devopsWeb/src/main.pro.js
  34. 0 14
      bdp-business/devopsWeb/src/redux/actions/userActions.js
  35. 0 19
      bdp-business/devopsWeb/src/redux/devTools/DevTools.jsx
  36. 0 8
      bdp-business/devopsWeb/src/redux/reducers/main.js
  37. 0 12
      bdp-business/devopsWeb/src/redux/reducers/userReducer.js
  38. 0 19
      bdp-business/devopsWeb/src/redux/store/create.js
  39. 0 14
      bdp-business/devopsWeb/src/routes/routes.js
  40. 0 111
      bdp-business/devopsWeb/src/sass/_base.scss
  41. 0 811
      bdp-business/devopsWeb/src/sass/_mixin.scss
  42. 0 63
      bdp-business/devopsWeb/src/sass/_reset.scss
  43. 0 518
      bdp-business/devopsWeb/src/sass/main.scss
  44. 0 60
      bdp-business/devopsWeb/src/views/App.jsx
  45. 0 51
      bdp-business/devopsWeb/src/views/common/DataShow.jsx
  46. 0 32
      bdp-business/devopsWeb/src/views/layouts/ContentContainer.jsx
  47. 0 76
      bdp-business/devopsWeb/src/views/layouts/HeaderContainer.jsx
  48. 0 59
      bdp-business/devopsWeb/src/views/layouts/SiderMenu.jsx
  49. 0 42
      bdp-business/devopsWeb/src/views/modules/k8s/K8S.jsx
  50. 0 273
      bdp-business/devopsWeb/src/views/modules/k8s/components/AppMachine.jsx
  51. 0 102
      bdp-business/devopsWeb/src/views/modules/k8s/components/DotForm.jsx
  52. 0 161
      bdp-business/devopsWeb/src/views/modules/k8s/components/MachineForm.jsx
  53. 0 199
      bdp-business/devopsWeb/src/views/modules/k8s/components/ProjectMachine.jsx
  54. 0 243
      bdp-business/devopsWeb/src/views/modules/k8s/pages/MachineManage.jsx
  55. 0 341
      bdp-business/devopsWeb/src/views/modules/k8s/pages/Project.jsx
  56. 0 38
      bdp-business/devopsWeb/src/views/modules/login/Login.jsx
  57. 0 64
      bdp-business/devopsWeb/src/views/modules/login/components/LoginForm.jsx
  58. 0 49
      bdp-business/devopsWeb/util/log4js.js
  59. 0 30
      bdp-business/devopsWeb/util/util.js
  60. 0 95
      bdp-business/devopsWeb/webpack_config/build.js
  61. 0 9
      bdp-business/devopsWeb/webpack_config/config.js
  62. 0 102
      bdp-business/devopsWeb/webpack_config/develop.js
  63. 0 86
      bdp-business/devopsWeb/webpack_config/server.build.js
  64. 0 79
      bdp-business/devopsWeb/webpack_config/webpack.config.js
  65. 0 68
      bdp-business/docs/README.md
  66. BIN
      bdp-business/docs/img.png
  67. BIN
      bdp-business/docs/img_1.png
  68. BIN
      bdp-business/docs/img_10.png
  69. BIN
      bdp-business/docs/img_11.png
  70. BIN
      bdp-business/docs/img_2.png
  71. BIN
      bdp-business/docs/img_3.png
  72. BIN
      bdp-business/docs/img_4.png
  73. BIN
      bdp-business/docs/img_5.png
  74. BIN
      bdp-business/docs/img_6.png
  75. BIN
      bdp-business/docs/img_7.png
  76. BIN
      bdp-business/docs/img_8.png
  77. BIN
      bdp-business/docs/img_9.png
  78. 0 124
      bdp-business/dubbo-service/dubbo-impl/pom.xml
  79. 0 16
      bdp-business/dubbo-service/dubbo-impl/src/main/resources/conf/dubbo.properties
  80. 0 17
      bdp-business/dubbo-service/dubbo-impl/src/main/webapp/WEB-INF/web.xml
  81. 0 351
      bdp-business/dubbo-service/dubbo-spi/pom.xml
  82. 0 55
      bdp-business/dubbo-service/pom.xml
  83. 0 57
      bdp-business/frontend/README.md
  84. 0 336
      bdp-business/mall-pc-backend/pom.xml
  85. 0 15
      bdp-business/mall-pc-backend/src/main/resources/conf/dubbo.properties
  86. 0 56
      bdp-business/mall-pc-backend/src/main/resources/spring/springmvc.xml
  87. 0 38
      bdp-business/mall-pc-backend/src/main/webapp/WEB-INF/web.xml
  88. 0 242
      bdp-business/mall-service/pom.xml
  89. 0 16
      bdp-business/mall-service/src/main/resources/conf/dubbo.properties
  90. 0 60
      bdp-business/mall-service/src/main/resources/spring/dubbo-mobile-customer.xml
  91. 0 63
      bdp-business/mall-service/src/main/resources/spring/dubbo-mobile-customer.xml.backup
  92. 0 114
      bdp-business/mall-web-backend/.mvn/wrapper/MavenWrapperDownloader.java
  93. BIN
      bdp-business/mall-web-backend/.mvn/wrapper/maven-wrapper.jar
  94. 0 1
      bdp-business/mall-web-backend/.mvn/wrapper/maven-wrapper.properties
  95. 0 135
      bdp-business/mall-web-backend/mall-manage/pom.xml
  96. 0 16
      bdp-business/mall-web-backend/mall-manage/src/main/resources/conf/dubbo.properties
  97. 0 31
      bdp-business/mall-web-backend/mall-manage/src/main/resources/logback-spring.xml
  98. 0 60
      bdp-business/mall-web-backend/mall-manage/src/main/resources/spring/dubbo-manage-customer.xml
  99. BIN
      bdp-business/mall-web-backend/mall-search/.mvn/wrapper/maven-wrapper.jar
  100. 0 0
      bdp-business/mall-web-backend/mall-search/.mvn/wrapper/maven-wrapper.properties

bdp-business/.gitkeep → .gitkeep


+ 9 - 9
README-zh.md

@@ -157,11 +157,11 @@ DevOps:
 		mall-shopping-wc: 商城小程序
 		mall-shopping-mobile: 商城前台
 		mall-shopping-pc: 商城pc端
-		mall-pc-backend: 商城pc端服务
-		mall-shopping-service: 商城前台服务(小程序和前台接入此接口)
+		pcAdminService: 商城pc端服务
+		mobileService: 商城前台服务(小程序和前台接入此接口)
 	商城后台:
 		mall-admin-web: 商城后台
-		mall-admin-service: 商城后台服务
+		pcAdminService: 商城后台服务
 ~~~
 
 ~~~markdown
@@ -234,11 +234,11 @@ job-schedule: 任务提交平台
 
 10、启动配置教程
 
-10.1 启动前,打包dubbo-servie项目,进入dubbo-service目录,
+10.1 启动前,打包dubbo-servie项目,进入dubbo目录,
 
 执行mvn clean package -DskipTests=TRUE打包,然后执行mvn install.
 
-10.2 启动dubbo-service项目,配置tomcat端口为8091
+10.2 启动dubbo项目,配置tomcat端口为8091
 
 <img width="1210" alt="image" src="https://user-images.githubusercontent.com/20246692/160220455-45898c53-0de6-4a06-80b0-ae7e758b9457.png">
 
@@ -249,9 +249,9 @@ job-schedule: 任务提交平台
 
 10.3.1、前端:启动mall-admin-web项目,进入项目目录,执行npm install,然后执行npm run dev;
 
-10.3.2、后端:启动mall-admin-service/mall-admin-search项目,
+10.3.2、后端:启动pcAdminService/mall-admin-search项目,
 
-配置tomcat端口为8092,接着启动mall-manage-service项目,tomcat端口配置为8093;
+配置tomcat端口为8092,接着启动pcManage项目,tomcat端口配置为8093;
 
 <img width="1226" alt="image" src="https://user-images.githubusercontent.com/20246692/160220467-283a7964-27c1-4184-9ece-778e87fc38f7.png">
 <img width="1217" alt="image" src="https://user-images.githubusercontent.com/20246692/160220472-68a6d9a4-e295-4b86-a9e6-75b53f821d52.png">
@@ -276,7 +276,7 @@ job-schedule: 任务提交平台
 
 10.3.3.3、后端:小程序和移动端用的是同一个后台服务,
 
-启动mall-shopping-service项目,进入项目目录,配置tomcat端口8094
+启动mobileService项目,进入项目目录,配置tomcat端口8094
 
 <img width="1221" alt="image" src="https://user-images.githubusercontent.com/20246692/160220500-7c6b9097-7a82-4f23-95be-eda9c8f9eee5.png">
 
@@ -287,7 +287,7 @@ job-schedule: 任务提交平台
 
 进入项目目录,执行npm install和npm run dev;
 
-10.3.4.2、后端:启动mall-pc-backend项目,配置tomcat端口为8095;
+10.3.4.2、后端:启动pcAdminService项目,配置tomcat端口为8095;
 
 <img width="1221" alt="image" src="https://user-images.githubusercontent.com/20246692/160220506-688f51cc-1b3d-46a9-ad3e-ec033ee69562.png">
 

+ 19 - 19
README.md

@@ -102,18 +102,18 @@ PERJOB启动FlinkSQL
 
 | Component | Description | Important Composition |
 | --------------- | -----------------------|-----------------------|
-| [**bdp-ai**](https://github.com/authorwlh/alldata/tree/master/bdp-ai) | AI FOR BDP PLATFORM artificial intelligence engine | 人工智能引擎                |
-| [**bdp-business**](https://github.com/authorwlh/alldata/tree/master/bdp-business) | BUSINESS FOR BDP PLATFORM | 商业项目                  |
-| [**bdp-compute**](https://github.com/authorwlh/alldata/tree/master/bdp-compute) | BUSINESS FOR BDP PLATFORM CALCULATION ENGINE | 计算引擎
-| [**bdp-devops**](https://github.com/authorwlh/alldata/tree/master/bdp-devops) | DEVOPS FOR BDP PLATFORM O&M Engine | 运维引擎                  |
+| [**bdp-ai**](https://github.com/authorwlh/alldata/tree/master/bdp-ai) | AI FOR ALL DATA PLATFORM artificial intelligence engine | 人工智能引擎                |
+| [**bdp-business**](https://github.com/authorwlh/alldata/tree/master/bdp-business) | BUSINESS FOR ALL DATA PLATFORM | 商业项目                  |
+| [**bdp-compute**](https://github.com/authorwlh/alldata/tree/master/bdp-compute) | BUSINESS FOR ALL DATA PLATFORM CALCULATION ENGINE | 计算引擎
+| [**bdp-devops**](https://github.com/authorwlh/alldata/tree/master/bdp-devops) | DEVOPS FOR ALL DATA PLATFORM O&M Engine | 运维引擎                  |
 | [**bdp-assembly**](https://github.com/authorwlh/alldata/tree/master/bdp-assembly) | whole package build | 整包构建                  |
 | [**bdp-docs**](https://github.com/authorwlh/alldata/tree/master/bdp-docs) |  Document                   |       文档        | 
-| [**bdp-govern**](https://github.com/authorwlh/alldata/tree/master/bdp-govern) | DATA GOVERN FOR BDP PLATFORM Data Governance Engine | 数据治理引擎                |
-| [**bdp-integrate**](https://github.com/authorwlh/alldata/tree/master/bdp-integrate) | DATA Integrate FOR BDP PLATFORM Data Integration Engine | 数据集成引擎                |
-| [**bdp-ods**](https://github.com/authorwlh/alldata/tree/master/bdp-ods) | DATA ODS FOR BDP PLATFORM data acquisition engine | 数据采集引擎                |
-| [**bdp-olap**](https://github.com/authorwlh/alldata/tree/master/bdp-olap) | OLAP FOR BDP PLATFORM OLAP query engine | OLAP查询引擎              |
-| [**bdp-optimize**](https://github.com/authorwlh/alldata/tree/master/bdp-optimize) | OPTIMIZE FOR BDP PLATFORM performance optimization engine | 性能优化引擎                |
-| [**bdp-storage**](https://github.com/authorwlh/alldata/tree/master/bdp-storage) | DATABASES FOR BDP PLATFORM distributed storage engine | 分布式存储引擎               |
+| [**bdp-govern**](https://github.com/authorwlh/alldata/tree/master/bdp-govern) | DATA GOVERN FOR ALL DATA PLATFORM Data Governance Engine | 数据治理引擎                |
+| [**bdp-integrate**](https://github.com/authorwlh/alldata/tree/master/bdp-integrate) | DATA Integrate FOR ALL DATA PLATFORM Data Integration Engine | 数据集成引擎                |
+| [**bdp-ods**](https://github.com/authorwlh/alldata/tree/master/bdp-ods) | DATA ODS FOR ALL DATA PLATFORM data acquisition engine | 数据采集引擎                |
+| [**bdp-olap**](https://github.com/authorwlh/alldata/tree/master/bdp-olap) | OLAP FOR ALL DATA PLATFORM OLAP query engine | OLAP查询引擎              |
+| [**bdp-optimize**](https://github.com/authorwlh/alldata/tree/master/bdp-optimize) | OPTIMIZE FOR ALL DATA PLATFORM performance optimization engine | 性能优化引擎                |
+| [**bdp-storage**](https://github.com/authorwlh/alldata/tree/master/bdp-storage) | DATABASES FOR ALL DATA PLATFORM distributed storage engine | 分布式存储引擎               |
 
 ### 2、商城展示
 <br>
@@ -149,11 +149,11 @@ PERJOB启动FlinkSQL
 		mall-shopping-wc: 商城小程序
 		mall-shopping-mobile: 商城前台
 		mall-shopping-pc: 商城pc端
-		mall-pc-backend: 商城pc端服务
-		mall-shopping-service: 商城前台服务(小程序和前台接入此接口)
+		pcAdminService: 商城pc端服务
+		mobileService: 商城前台服务(小程序和前台接入此接口)
 	商城后台:
 		mall-admin-web: 商城后台
-		mall-admin-service: 商城后台服务
+		pcAdminService: 商城后台服务
 ~~~
 
 ### 4、数据收集
@@ -226,11 +226,11 @@ job-schedule: 任务提交平台
 
 ### 10、启动配置教程
 
-10.1 启动前,打包dubbo-servie项目,进入dubbo-service目录,
+10.1 启动前,打包dubbo-servie项目,进入dubbo目录,
 
 执行mvn clean package -DskipTests=TRUE打包,然后执行mvn install.
 
-10.2 启动dubbo-service项目,配置tomcat端口为8091
+10.2 启动dubbo项目,配置tomcat端口为8091
 
 <img width="1210" alt="image" src="https://user-images.githubusercontent.com/20246692/160220455-45898c53-0de6-4a06-80b0-ae7e758b9457.png">
 
@@ -241,9 +241,9 @@ job-schedule: 任务提交平台
 
 10.3.1、前端:启动mall-admin-web项目,进入项目目录,执行npm install,然后执行npm run dev;
 
-10.3.2、后端:启动mall-admin-service/mall-admin-search项目,
+10.3.2、后端:启动pcAdminService/mall-admin-search项目,
 
-配置tomcat端口为8092,接着启动mall-manage-service项目,tomcat端口配置为8093;
+配置tomcat端口为8092,接着启动pcManage项目,tomcat端口配置为8093;
 
 <img width="1226" alt="image" src="https://user-images.githubusercontent.com/20246692/160220467-283a7964-27c1-4184-9ece-778e87fc38f7.png">
 <img width="1217" alt="image" src="https://user-images.githubusercontent.com/20246692/160220472-68a6d9a4-e295-4b86-a9e6-75b53f821d52.png">
@@ -268,7 +268,7 @@ job-schedule: 任务提交平台
 
 10.3.3.3、后端:小程序和移动端用的是同一个后台服务,
 
-启动mall-shopping-service项目,进入项目目录,配置tomcat端口8094
+启动mobileService项目,进入项目目录,配置tomcat端口8094
 
 <img width="1221" alt="image" src="https://user-images.githubusercontent.com/20246692/160220500-7c6b9097-7a82-4f23-95be-eda9c8f9eee5.png">
 
@@ -279,7 +279,7 @@ job-schedule: 任务提交平台
 
 进入项目目录,执行npm install和npm run dev;
 
-10.3.4.2、后端:启动mall-pc-backend项目,配置tomcat端口为8095;
+10.3.4.2、后端:启动pcAdminService项目,配置tomcat端口为8095;
 
 <img width="1221" alt="image" src="https://user-images.githubusercontent.com/20246692/160220506-688f51cc-1b3d-46a9-ad3e-ec033ee69562.png">
 

+ 1 - 1
bdp-ai/README.md

@@ -1,4 +1,4 @@
-# AI FOR BDP PLATFORM 人工智能引擎
+# AI FOR ALL DATA PLATFORM 人工智能引擎
 
 ```markdown
 数据平台的人工智能引擎:AI算法驱动

+ 0 - 73
bdp-business/backend-java/README.md

@@ -1,73 +0,0 @@
-# JAVA BACKEND FOR BDP PLATFORM
-
-> 开源大数据平台Java后端
-> 基本上Java类型的接口都走backend-java, 譬如任务构建
-
-1、迁移logan埋点的表进入实时数仓
-
-```markdown
-
-use wlhbdp_mysql;
-CREATE TABLE `logan_task` (
-  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
-  `platform` tinyint(11) unsigned NOT NULL COMMENT '平台1android2iOS',
-  `amount` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '文件大小',
-  `app_id` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'app标识',
-  `union_id` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '用户标识',
-  `device_id` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '设备标识',
-  `app_version` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'app版本',
-  `build_version` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '构建版本',
-  `log_file_name` varchar(512) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '日志文件所在路径',
-  `log_date` bigint(20) unsigned DEFAULT NULL COMMENT '日志所属日期',
-  `add_time` bigint(20) unsigned NOT NULL COMMENT '业务字段,日志上报时间',
-  `status` tinyint(11) unsigned NOT NULL DEFAULT '0' COMMENT '0未分析过,1分析过',
-  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `idx_update_time` (`update_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='上报日志任务表';
-
-CREATE TABLE `logan_log_detail` (
-  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
-  `task_id` bigint(11) unsigned NOT NULL COMMENT '所属任务id',
-  `log_type` int(11) unsigned NOT NULL COMMENT '日志类型',
-  `content` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '原始日志',
-  `log_time` bigint(20) unsigned NOT NULL COMMENT '本条日志产生的具体时间戳',
-  `add_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '添加时间',
-  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `idx_update_time` (`update_time`),
-  KEY `idx_task_id` (`task_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='日志解析后的数据详情';
-
-CREATE TABLE `web_task` (
-  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
-  `device_id` varchar(128) NOT NULL DEFAULT '' COMMENT '设备id',
-  `web_source` varchar(128) DEFAULT NULL COMMENT '来源',
-  `environment` varchar(2048) DEFAULT NULL COMMENT '客户端自定义环境信息',
-  `page_num` int(11) NOT NULL COMMENT '日志页码',
-  `content` mediumtext NOT NULL COMMENT '日志内容',
-  `add_time` bigint(20) NOT NULL COMMENT '添加时间',
-  `log_date` bigint(20) NOT NULL COMMENT '日志所属日期',
-  `status` int(11) NOT NULL COMMENT '日志状态0未解析,1已解析',
-  `custom_report_info` varchar(2048) DEFAULT NULL COMMENT '自定义上报信息',
-  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `log_date_deviceid` (`log_date`,`device_id`),
-  KEY `add_time_deviceid` (`add_time`,`device_id`),
-  KEY `idx_update_time` (`update_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='H5上报任务表';
-
-CREATE TABLE `web_detail` (
-  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
-  `task_id` bigint(20) NOT NULL COMMENT '所属任务id',
-  `log_type` int(11) NOT NULL COMMENT '日志类型',
-  `content` mediumtext NOT NULL COMMENT '日志内容',
-  `log_time` bigint(20) NOT NULL COMMENT '日志所属时间',
-  `log_level` int(11) DEFAULT NULL COMMENT '日志等级',
-  `add_time` bigint(20) NOT NULL COMMENT '添加时间',
-  `minute_offset` int(11) NOT NULL COMMENT '距离当天0点的分钟数',
-  PRIMARY KEY (`id`),
-  KEY `taskid_logtype` (`task_id`,`log_type`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='H5日志详情表';
-
-```

+ 0 - 336
bdp-business/backend-java/pom.xml

@@ -1,336 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>com.platform</groupId>
-  <artifactId>backend-java</artifactId>
-  <version>1.0</version>
-  <packaging>war</packaging>
-
-  <name>backend-java Maven Webapp</name>
-  <!-- FIXME change it to the project's website -->
-  <url>http://www.example.com</url>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.8</maven.compiler.source>
-    <maven.compiler.target>1.8</maven.compiler.target>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>com.platform</groupId>
-      <artifactId>dubbo-service-interface</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>com.github.pagehelper</groupId>
-          <artifactId>pagehelper-spring-boot-starter</artifactId>
-        </exclusion>
-      </exclusions>
-      <version>1.0</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.11</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.8.0-alpha2</version>
-    </dependency>
-    <dependency>
-      <groupId>cn.hutool</groupId>
-      <artifactId>hutool-all</artifactId>
-      <version>4.1.2</version>
-    </dependency>
-    <!-- Spring -->
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-context</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-beans</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-webmvc</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-jdbc</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-aspects</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-jms</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-context-support</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>jsp-api</artifactId>
-      <version>2.0</version>
-    </dependency>
-    <!-- Httpclient -->
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-      <version>4.5.3</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.code.gson</groupId>
-      <artifactId>gson</artifactId>
-      <version>2.8.5</version>
-    </dependency>
-    <!-- Redis客户端 -->
-    <dependency>
-      <groupId>redis.clients</groupId>
-      <artifactId>jedis</artifactId>
-      <version>2.9.0</version>
-    </dependency>
-    <dependency>
-      <groupId>com.squareup.okhttp3</groupId>
-      <artifactId>okhttp</artifactId>
-      <version>3.14.4</version>
-    </dependency>
-    <dependency>
-      <groupId>io.swagger</groupId>
-      <artifactId>swagger-annotations</artifactId>
-      <version>1.5.10</version>
-    </dependency>
-    <!-- swagger2 -->
-    <dependency>
-      <groupId>io.springfox</groupId>
-      <artifactId>springfox-swagger2</artifactId>
-      <version>2.7.0</version>
-    </dependency>
-    <dependency>
-      <groupId>io.springfox</groupId>
-      <artifactId>springfox-swagger-ui</artifactId>
-      <version>2.7.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mybatis</groupId>
-      <artifactId>mybatis</artifactId>
-      <version>3.4.5</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mybatis</groupId>
-      <artifactId>mybatis-spring</artifactId>
-      <version>1.3.1</version>
-    </dependency>
-    <dependency>
-      <groupId>com.github.miemiedev</groupId>
-      <artifactId>mybatis-paginator</artifactId>
-      <version>1.2.15</version>
-    </dependency>
-    <!-- MySql -->
-    <dependency>
-      <groupId>mysql</groupId>
-      <artifactId>mysql-connector-java</artifactId>
-      <version>5.1.44</version>
-    </dependency>
-    <!-- 连接池 -->
-    <dependency>
-      <groupId>com.alibaba</groupId>
-      <artifactId>druid</artifactId>
-      <version>1.1.4</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.activemq</groupId>
-      <artifactId>activemq-all</artifactId>
-      <version>5.11.2</version>
-    </dependency>
-    <dependency>
-      <groupId>javax.jms</groupId>
-      <artifactId>javax.jms-api</artifactId>
-      <version>2.0.1</version>
-    </dependency>
-    <!--shiro-->
-    <dependency>
-      <groupId>org.apache.shiro</groupId>
-      <artifactId>shiro-all</artifactId>
-      <version>1.4.0</version>
-    </dependency>
-    <!-- Mail -->
-    <dependency>
-      <groupId>javax.mail</groupId>
-      <artifactId>mail</artifactId>
-      <version>1.5.0-b01</version>
-    </dependency>
-    <!--Elasticsearch-->
-    <dependency>
-      <groupId>org.elasticsearch.client</groupId>
-      <artifactId>transport</artifactId>
-      <version>6.2.3</version>
-    </dependency>
-    <!--Log4j 2-->
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <version>2.9.1</version>
-    </dependency>
-    <!--add begin-->
-    <!-- 时间操作组件 -->
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>2.9.9</version>
-    </dependency>
-    <!-- Apache工具组件 -->
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-      <version>3.3.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>1.3.2</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-net</groupId>
-      <artifactId>commons-net</artifactId>
-      <version>3.3</version>
-    </dependency>
-
-    <!-- 日志处理 -->
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <version>1.8.0-alpha2</version>
-    </dependency>
-    <!-- 七牛云图片上传SDK -->
-    <dependency>
-      <groupId>com.qiniu</groupId>
-      <artifactId>qiniu-java-sdk</artifactId>
-      <version>7.2.26</version>
-    </dependency>
-
-    <!-- 文件上传组件 -->
-    <dependency>
-      <groupId>commons-fileupload</groupId>
-      <artifactId>commons-fileupload</artifactId>
-      <version>1.3.3</version>
-    </dependency>
-
-    <!-- Json -->
-    <dependency>
-      <groupId>org.json</groupId>
-      <artifactId>json</artifactId>
-      <version>20171018</version>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-core</artifactId>
-      <version>2.9.1</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-annotations</artifactId>
-      <version>2.9.1</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-databind</artifactId>
-      <version>2.9.1</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.alibaba</groupId>
-      <artifactId>dubbo</artifactId>
-      <version>2.6.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.zookeeper</groupId>
-      <artifactId>zookeeper</artifactId>
-      <version>3.4.14</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.curator</groupId>
-      <artifactId>curator-framework</artifactId>
-      <version>4.0.1</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <finalName>backend-java</finalName>
-    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-      <plugins>
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>3.1.0</version>
-        </plugin>
-        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
-        <plugin>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.22.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-war-plugin</artifactId>
-          <version>3.2.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.5.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.8.2</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <resources>
-      <resource>
-        <directory>src/main/java</directory>
-        <includes>
-          <include>**/*.properties</include>
-          <include>**/*.xml</include>
-        </includes>
-        <filtering>true</filtering>
-      </resource>
-      <resource>
-        <directory>src/main/resources</directory>
-        <includes>
-          <include>**/*.properties</include>
-          <include>**/*.xml</include>
-        </includes>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-  </build>
-</project>

+ 0 - 95
bdp-business/backend/README.md

@@ -1,95 +0,0 @@
-# DJANGO BACKEND FOR BDP PLATFORM
-
-> 开源大数据平台Django后端
-> 基本上轻量级Django orm类型的接口都走backend, 譬如登陆
-
-## 环境配置
-1.建议在项目根目录创建 `venv` 虚拟环境,通过以下命令进入虚拟环境:
-
-```bash
-source venv/bin/activate
-```
-
-2.安装项目依赖:
-
-```bash
-建议使用mysql5.7, 而不是mysql8
-
-export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"
-
-export PATH="/opt/homebrew/opt/mysql-client@5.7/bin:$PATH"
-
-pip install -r requirements.txt
-```
-
-## 项目配置
-把公共变量提到配置项里是一个好的实践,项目的配置项在 `main/settings/*` 目录里,如下:
-
-```
-main/settings
-├── __init__.py         # 优先使用 local.py ,如果未提供,则应用 development.py
-├── default.py          # 公共的默认配置
-├── development.py      # 开发环境配置
-├── local.py            # 本地开发配置(可选,gitignore)
-├── production.py       # 生产环境配置
-├── secret.py           # 私密的配置,比如:OBS 的密钥,数据库密钥等(可选,gitignore)
-└── testing.py          # 测试环境配置
-```
-
-## 常用命令
-
-### 本地开发
-
-1.启动命令
-
-```bash
-python manage.py runserver localhost:9800
-```
-
-2.生成迁移文件
-
-```bash
-python manage.py makemigrations
-```
-
-3.执行迁移
-
-```bash
-python manage.py migrate
-```
-
-
-### 生产环境 & 测试环境
-
-**注意:环境千万不要用错**
-
-1.启动
-
-```bash
-./run.sh start       # prod
-./run.sh start:test  # test
-```
-
-2.重启
-
-```bash
-./run.sh reload       # prod
-./run.sh reload:test  # test
-```
-
-3.停止
-
-```bash
-./run.sh stop       # prod
-./run.sh stop       # test
-```
-
-更多命令,请执行 `./run.sh --help` 查看,或者直接查看 `run.sh` 脚本代码
-
-4、启动后超级超级用户
-
-```markdown
-python3 manage.py createsuperuser
-账号密码:admin/admin
-
-```

+ 0 - 330
bdp-business/devopsServer/pom.xml

@@ -1,330 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.example</groupId>
-    <artifactId>devopsServer</artifactId>
-    <version>1.0</version>
-
-    <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.platform</groupId>
-            <artifactId>dubbo-service-interface</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.github.pagehelper</groupId>
-                    <artifactId>pagehelper-spring-boot-starter</artifactId>
-                </exclusion>
-            </exclusions>
-            <version>1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.11</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.8.0-alpha2</version>
-        </dependency>
-        <dependency>
-            <groupId>cn.hutool</groupId>
-            <artifactId>hutool-all</artifactId>
-            <version>4.1.2</version>
-        </dependency>
-        <!-- Spring -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-beans</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-webmvc</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-jdbc</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aspects</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-jms</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>jsp-api</artifactId>
-            <version>2.0</version>
-        </dependency>
-        <!-- Httpclient -->
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.5.3</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.gson</groupId>
-            <artifactId>gson</artifactId>
-            <version>2.8.5</version>
-        </dependency>
-        <!-- Redis客户端 -->
-        <dependency>
-            <groupId>redis.clients</groupId>
-            <artifactId>jedis</artifactId>
-            <version>2.9.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.okhttp3</groupId>
-            <artifactId>okhttp</artifactId>
-            <version>3.14.4</version>
-        </dependency>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>1.5.10</version>
-        </dependency>
-        <!-- swagger2 -->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis</artifactId>
-            <version>3.4.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis-spring</artifactId>
-            <version>1.3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.miemiedev</groupId>
-            <artifactId>mybatis-paginator</artifactId>
-            <version>1.2.15</version>
-        </dependency>
-        <!-- MySql -->
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>5.1.44</version>
-        </dependency>
-        <!-- 连接池 -->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>1.1.4</version>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.activemq</groupId>
-            <artifactId>activemq-all</artifactId>
-            <version>5.11.2</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.jms</groupId>
-            <artifactId>javax.jms-api</artifactId>
-            <version>2.0.1</version>
-        </dependency>
-        <!--shiro-->
-        <dependency>
-            <groupId>org.apache.shiro</groupId>
-            <artifactId>shiro-all</artifactId>
-            <version>1.4.0</version>
-        </dependency>
-        <!-- Mail -->
-        <dependency>
-            <groupId>javax.mail</groupId>
-            <artifactId>mail</artifactId>
-            <version>1.5.0-b01</version>
-        </dependency>
-        <!--Elasticsearch-->
-        <dependency>
-            <groupId>org.elasticsearch.client</groupId>
-            <artifactId>transport</artifactId>
-            <version>6.2.3</version>
-        </dependency>
-        <!--Log4j 2-->
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <version>2.9.1</version>
-        </dependency>
-        <!--add begin-->
-        <!-- 时间操作组件 -->
-        <dependency>
-            <groupId>joda-time</groupId>
-            <artifactId>joda-time</artifactId>
-            <version>2.9.9</version>
-        </dependency>
-        <!-- Apache工具组件 -->
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.3.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>1.3.2</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-net</groupId>
-            <artifactId>commons-net</artifactId>
-            <version>3.3</version>
-        </dependency>
-
-        <!-- 日志处理 -->
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>1.8.0-alpha2</version>
-        </dependency>
-        <!-- 七牛云图片上传SDK -->
-        <dependency>
-            <groupId>com.qiniu</groupId>
-            <artifactId>qiniu-java-sdk</artifactId>
-            <version>7.2.26</version>
-        </dependency>
-
-        <!-- 文件上传组件 -->
-        <dependency>
-            <groupId>commons-fileupload</groupId>
-            <artifactId>commons-fileupload</artifactId>
-            <version>1.3.3</version>
-        </dependency>
-
-        <!-- Json -->
-        <dependency>
-            <groupId>org.json</groupId>
-            <artifactId>json</artifactId>
-            <version>20171018</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>2.9.1</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-annotations</artifactId>
-            <version>2.9.1</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>2.9.1</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>dubbo</artifactId>
-            <version>2.6.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>3.4.14</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-framework</artifactId>
-            <version>4.0.1</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <finalName>devopsServer</finalName>
-        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-            <plugins>
-                <plugin>
-                    <artifactId>maven-clean-plugin</artifactId>
-                    <version>3.1.0</version>
-                </plugin>
-                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
-                <plugin>
-                    <artifactId>maven-resources-plugin</artifactId>
-                    <version>3.0.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.8.0</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.22.1</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-war-plugin</artifactId>
-                    <version>3.2.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-install-plugin</artifactId>
-                    <version>2.5.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-deploy-plugin</artifactId>
-                    <version>2.8.2</version>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-    </build>
-</project>

+ 0 - 19
bdp-business/devopsWeb/.babelrc

@@ -1,19 +0,0 @@
-{
-    "presets": [
-        ["es2015",
-        {
-            "modules": false
-        }],
-        "stage-2",
-        "react"
-    ],
-    "plugins": [
-        "react-hot-loader/babel",
-        "transform-object-rest-spread",
-        // ["import",
-        // {
-        //     "libraryName": "antd",
-        //     "style": "css"
-        // }]
-    ]
-}

+ 0 - 55
bdp-business/devopsWeb/app.js

@@ -1,55 +0,0 @@
-if (process.env.NODE_ENV == 'development') {
-	require('babel-polyfill');
-
-	// Javascript required hook
-	// require('babel-register')({
-	// 	presets: ['es2015', 'stage-2']
-	// });
-}
-
-
-let express = require('express');
-let path = require('path');
-let bodyParser = require('body-parser');
-let cookieParser = require('cookie-parser');//cookie
-let ejs = require('ejs');
-let logger = require('./util/log4js').logger('app.js');
-let Config = require('./conf/index');
-
-logger.debug(process.env.NODE_ENV);
-
-let app = express();
-
-/* 允许跨域 ,开发环境可以把它允许跨域*/
-if(process.env.NODE_ENV == 'development'){
-	logger.debug('开发环境允许跨域');
-	app.all('*', function(req, res, next) {  
-	    res.header("Access-Control-Allow-Origin", "*");  
-	    res.header("Access-Control-Allow-Headers", "X-Requested-With,Content-Type");  
-	    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");  
-	//  res.header("Content-Type", "application/json;charset=utf-8");  
-	    next();  
-	});
-}
-
-app.set('views', path.join(__dirname, './dist'));	// 页面目录
-app.engine('html', ejs.__express);	// 模板引擎
-app.set('view engine', 'html');
-
-app.use(cookieParser());
-app.use(bodyParser.json());
-app.use(bodyParser.urlencoded({extended: false}));	// 用于提交表单
-app.use(express.static(path.join(__dirname, './dist'))); // 静态文件目录
-
-app.use(require('./routes/route'));	// API接口
-
-
-let port = Config.network.port || process.env.PORT || 3000;
-app.listen(port, function () {
-	console.log('server start on port ' + port);
-});
-
-
-
-
-module.exports = app;

+ 0 - 94
bdp-business/devopsWeb/conf/db.js

@@ -1,94 +0,0 @@
-// 连接MySQL
-var mysql = require('mysql');
-var config = require('./index')
-var pool = mysql.createPool(config.database);
-var Async = require('async');
-
-console.log("数据库环境",config.database);
-
-module.exports = {
-	// 处理一个数据库事务
-	transactionHandler: (callback) => {
-		pool.getConnection(function(err, connection) {
-			if (err) {
-				console.log("getConnection error", err);
-				return callback(err, null);
-			}
-
-			connection.beginTransaction(function(err) {
-				if (err) {
-					console.log("beginTransaction error", err);
-					return callback(err, null);
-				}
-
-				console.log("开始执行transaction");
-				callback(null, connection);
-			})
-		});
-	},
-
-	// 处理事务的结果
-	transactionResultHandler: (err, connection, callback) => {
-		if (err) {
-			connection.rollback(() => {
-				console.log("某事务出错,回滚成功, Error: ", err);
-				connection.release();
-			});
-			return;
-		}
-
-		connection.commit(err => {
-			if (err) {
-				connection.rollback(() => {
-					console.log("commit出错,回滚成功, Error: ", err);
-					connection.release();
-				});
-				return;
-			}
-			connection.release();
-			callback();
-		});
-	},
-
-	// 旧版数据库连接
-	query: (sql, callback) => {
-		pool.getConnection(function(err,connection){
-			if(err){
-				console.log("db err", err)
-				console.log("--------db 连接失败 ----------");
-				logger.error("DB CONNECTION ERROR",err);
-				
-				console.log("--------db 连接失败 error log end ----------");
-			}
-			connection.beginTransaction(function(err) {
-				if(err){
-					console.log("db connection error",err);
-					callback(err,null);
-				}else{
-					connection.query(sql,function(qerr,rows){
-						//释放连接
-						connection.release();
-						//事件驱动回调
-						if (qerr) {
-							connection.rollback(function() {
-								console.log("sql回滚成功1",qerr)
-								callback(qerr,null);
-								throw qerr;
-							});
-						}
-						connection.commit(function(err) {
-							if (err) {
-								connection.rollback(function() {
-									console.log("sql回滚成功")
-									throw err;
-								});
-							}
-							callback(qerr,rows);
-						});
-					});
-				}
-			})
-			
-		});
-	},
-}

+ 0 - 8
bdp-business/devopsWeb/conf/development.js

@@ -1,8 +0,0 @@
-module.exports = {
-	network: {
-		port: 18000,
-        serverHost: 'https://localhost',
-        serverHost2: 'https://localhost',
-	},
-	
-}

+ 0 - 9
bdp-business/devopsWeb/conf/index.js

@@ -1,9 +0,0 @@
-let path = require('path')
-// 通过NODE_ENV来设置环境变量,如果没有指定则默认为生产环境
-let env = process.env.NODE_ENV || 'production';
-env = env.toLowerCase();
-
-let file_dev = require('./development');
-let file_prod = require('./production');
-let _config = env == 'development' ? file_dev : file_prod;
-module.exports = _config;

+ 0 - 11
bdp-business/devopsWeb/conf/production.js

@@ -1,11 +0,0 @@
-
-module.exports = {
-	network: {
-		port: 18000,
-		//backend
-        serverHost: 'https://localhost',
-        //k8s
-        serverHost2: 'http://localhost:19000',
-	},
-	
-}

+ 0 - 41
bdp-business/devopsWeb/controller/api/api_Project.js

@@ -1,41 +0,0 @@
-/**
- * Desc: 获取项目数据
- */
-
-let Util = require('../../util/util'); // 定义一些常用方法
-let request = require('request'); // 发送http请求
-let Config = require('../../conf/index');
-let logger = require('../../util/log4js').logger('api_Project.js');
-
-module.exports = {
-   	// 获取项目列表
-	getProjectList: (reqData, callback) => {
-        let options = Util.setRequestOptions({
-            url: Config.network.serverHost + '/v1/project/list',
-            method: "POST",
-            json: true,
-            body: reqData
-		});
-		request(options, (error, response, data) => {
-			if (error) {
-                logger.warn(JSON.stringify(options));
-                logger.error(JSON.stringify(error));
-				return callback({
-                    code: -500,
-                    msg: JSON.stringify(error),
-                });
-			}
-			if (response.statusCode == 200) {
-				if (!data.isSuccess) {
-                    logger.warn(JSON.stringify(options));
-                    logger.warn(JSON.stringify(data));
-                }
-                callback({
-                    code: data.isSuccess ? 0 : -1,
-                    data: data.data,
-                    msg: data.msg,
-                });
-			}
-		});
-    },
-};

+ 0 - 13
bdp-business/devopsWeb/controller/controller.js

@@ -1,13 +0,0 @@
-/**
- * controller
- */
-let test = require('./modules/test');
-//let login = require('./modules/login');
-let project = require('./modules/project');
-
-
-module.exports = {
-    test,
-    login,
-    project,
-};

+ 0 - 86
bdp-business/devopsWeb/controller/modules/login.js

@@ -1,86 +0,0 @@
-// let tokenAuth = require('../middlewares/tokenAuth')
-let request = require('request'); //发送http请求,login请求
-let Async = require('async');
-let logger = require('../../util/log4js').logger('login');
-let Util = require('../../util/util');
-let tokenAuth = require('../../middleware/tokenAuth')
-
-
-module.exports = {
-	// 登录验证
-	login: function(req, res) {
-		logger.info("登录接口参数", req.body);
-		let method = req.method.toUpperCase(),
-			username = req.body.username,
-			password = req.body.password;
-		let proxy_url = 'http://localhost:8000/auth';
-		let options = {
-			headers: {
-				"Connection": "keep-alive;",
-				"Content-Type": "application/json;charset=UTF-8;",
-			},
-			url: proxy_url,
-			method: method,
-			json: true,
-			body: req.body,
-		};
-		request(options, callback);
-
-		function callback(error, response, data) {
-			logger.info(data, response.statusCode); //http请求状态码
-			if(!error && response.statusCode == 200) {
-				logger.debug('------login接口返回成功------');
-				var state = data.state;
-				if(data.state.code == 0) {
-					let token = tokenAuth.setToken({username: username}); //生成token
-                    let resData = {
-                        "token": token,
-                        "username": username,
-                    };
-                    res.cookie('username', resData.username, {
-                        expires: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7)
-                    }); //设置cookie
-                    res.cookie('token', resData.token, {
-                        expires: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7)
-                    }); //设置cookie
-						
-					Util.resHandler(res, {
-                        isSuccess: true,
-                        data: resData,
-                    });
-                    
-				} else {
-					//登录失败,密码错误或账号不存在
-					logger.error('-------登录失败------');
-                    logger.error('用户账号:', username);
-                    Util.resHandler(res, {
-                        isSuccess: false,
-                        msg: "登录失败,账号或密码错误"
-                    });
-				}
-			} else {
-				logger.error('-------登录出错------');
-				logger.error(JSON.stringify(error, response, data));
-				logger.error('-------登录出错end------');
-				Util.resHandler(res, {
-                    isSuccess: false,
-                    msg: "登录失败,账号或密码错误"
-                });
-			}
-		}
-    },
-    // 退出登录
-    logout: function(req, res) {
-        res.cookie('username', '', {
-            expires: new Date(Date.now() - 1000)
-        }); //设置cookie
-        res.cookie('token', '', {
-            expires: new Date(Date.now() - 1000)
-        }); //设置cookie
-        // res.status(203);
-        Util.resHandler(res, {
-            isSuccess: true,
-            msg: "已退出登录"
-        });
-    }
-}

+ 0 - 55
bdp-business/devopsWeb/controller/modules/project.js

@@ -1,55 +0,0 @@
-/**
- * 项目模块
- */
-let Util = require('../../util/util');
-let api = require('../api/api_Project');
-let request = require('request'); // 发送http请求
-let Config = require('../../conf/index');
-module.exports = {
-	list: function(req, res, next) {
-		// api.getProjectList(req.body, function(resData) {
-        //     Util.resHandler(res, resData);
-        // });
-        // return;
-        request(Util.setRequestOptions({
-            url: Config.network.serverHost + '/v1/project/list',
-            method: "POST",
-            json: true,
-            body: req.body
-		}), (error, response, data) => {
-             console.log(response)
-             response.on('pipe', (src) => {
-                 console.error('有数据正通过管道流入写入器');
-                 // assert.equal(src, reader);
-               });
-               response.on('end', function () {
-                 console.log('读取完成');
-             });
-             response.pipe(res)
-
-             res.pipe(response);
-             res.end();
-			 if (error) {
-			 	logger.error('-------获取项目列表出错------');
-			 	logger.error(JSON.stringify(error));
-			 	return callback({
-                     code: -500,
-                     msg: JSON.stringify(error),
-                 });
-			 }
-			 if (response.statusCode == 200) {
-			 	if (data.isSuccess) {
-                     logger.debug('------获取项目列表成功------');
-			 	} else {
-                     logger.warn('-------获取项目列表失败------');
-			 		logger.warn(code + ' ' + data.msg);
-                 }
-                 callback({
-                     code: data.isSuccess ? 0 : -1,
-                     data: data.data,
-                     msg: data.msg,
-                 });
-			 }
-        }).pipe(res);
-	},
-};

+ 0 - 9
bdp-business/devopsWeb/controller/modules/test.js

@@ -1,9 +0,0 @@
-/**
- * 测试模块
- */
-module.exports = {
-	write: function(req, res, next) {
-		console.log(req.url)
-		res.send(200, {code: -1, data: 'data', msg: 'error'});
-	},
-};

+ 0 - 42
bdp-business/devopsWeb/middleware/passThrough.js

@@ -1,42 +0,0 @@
-// 透明传输
-// let logger = require('../util/log4js').logger('passThrough');
-let request = require('request'); // 发送http请求
-let Config = require('../conf/index');
-
-module.exports = {
-    // k8s server
-    server: function(req, res, next) {
-        let path = req.path.slice(4); // 例 /api/v1/* => /v1/*
-		request({
-            url: Config.network.serverHost + path,
-            method: req.method,
-            json: true,
-            body: req.body
-		}, (error, response, data) => {
-            
-        }).pipe(res);
-    },
-    server2: function(req, res, next) {
-        let path = req.path.slice(7); // 例 /api/s2/v1/* => /v1/*
-		request({
-            url: Config.network.serverHost2 + path,
-            method: req.method,
-            json: true,
-            body: req.body
-		}, (error, response, data) => {
-            
-        }).pipe(res);
-    },
-    server3: function(req, res, next) {
-        let path = req.path.slice(7); // 例 /api/s3/v1/* => /v1/*
-		request({
-            url: Config.network.serverHost3 + path,
-            method: req.method,
-            json: true,
-            body: req.body
-		}, (error, response, data) => {
-            
-        }).pipe(res);
-	},
-	
-}

+ 0 - 51
bdp-business/devopsWeb/middleware/tokenAuth.js

@@ -1,51 +0,0 @@
-// 检查用户会话
-let jwt = require('jsonwebtoken'); //用来创建和确认用户信息摘要
-let Util = require('../util/util');//用来返回抽取的
-let logger = require('../util/log4js').logger('tokenAuth');
-let jwtSecret = 'kkk'; // token secret
-
-module.exports = {
-	setToken: function(userInfo){
-		let token = jwt.sign({userInfo: userInfo}, jwtSecret , {
-			expiresIn: '7d',
-        });
-        return token;
-	},
- 	auth: function(req, res, next) {
-		//检查cookie或者post的信息或者url查询参数或者头信息
-		let token = req.cookies.token || req.body.token || req.query.token || req.headers['x-access-token'] ;
-		let username = req.cookies.username || req.body.username || req.query.username ;
-		// 解析 token
-		if (token) {
-		    // 确认token
-		    jwt.verify(token, jwtSecret, function(err, decoded) {
-		        if (err || decoded.userInfo.username != username) {
-                    logger.info('TOKEN AUTH ERROR:', err)
-                    res.status(203);
-                    Util.resHandler(res, {
-                        isSuccess: false,
-                        msg: "TOKEN AUTH ERROR"
-                    });
-                } else {
-                    // 如果没问题就把解码后的信息保存到请求中,供后面的路由使用
-                    let userInfo = decoded.userInfo;
-                    req._userInfo = userInfo;
-                    
-                    // 检测权限是否有修改
-                    // todo...
-
-                    next();
-                }
-		    });
-		} else {
-		    // 如果没有token,则返回错误
-            logger.info('no token')
-            res.status(203);
-            Util.resHandler(res, {
-                isSuccess: false,
-                msg: "登录失效"
-            });
-		}
-	},
-	
-}

+ 0 - 26
bdp-business/devopsWeb/nodemon.json

@@ -1,26 +0,0 @@
-{
-  "restartable": "rs",
-  "ignore": [
-    ".git",
-    "node_modules",
-    "dist",
-    "src",
-    "logs",
-    "pids",
-    "log"
-  ],
-  "verbose": true,
-  "execMap": {
-    "js": "node --harmony"
-  },
-  "events": {
-    "restart": "osascript -e 'display notification \"App restarted due to:\n'$FILENAME'\" with title \"nodemon\"'"
-  },
-  "watch": [
-   
-  ],
-  "env": {
-    "NODE_ENV": "development"
-  },
-  "ext": "js json jsx"
-}

File diff suppressed because it is too large
+ 0 - 14377
bdp-business/devopsWeb/package-lock.json


+ 0 - 69
bdp-business/devopsWeb/package.json

@@ -1,69 +0,0 @@
-{
-  "name": "Devops",
-  "version": "1.0.0",
-  "description": "node react webpack",
-  "main": "index.js",
-  "scripts": {
-    "dev": "webpack-dev-server --config webpack_config/develop.js",
-    "build": "node webpack_config/build.js",
-    "server": "nodemon app.js",
-    "server:build": "node webpack_config/server.build.js",
-    "pm2": "NODE_ENV=production pm2 start process.json"
-  },
-  "author": "authorwlh",
-  "license": "ISC",
-  "dependencies": {
-    "antd": "^3.10.0",
-    "async": "^2.6.1",
-    "axios": "^0.18.0",
-    "cookie-parser": "^1.4.3",
-    "ejs": "^2.5.7",
-    "es6-promise": "^4.2.5",
-    "jsonwebtoken": "^8.3.0",
-    "log4js": "^3.0.5",
-    "md5": "^2.2.1",
-    "moment": "^2.22.2",
-    "prop-types": "^15.6.2",
-    "react": "^16.5.2",
-    "react-dom": "^16.5.2",
-    "react-redux": "^5.0.7",
-    "react-router": "^3.2.1",
-    "react-router-dom": "^4.2.2",
-    "redux": "^3.7.2",
-    "request": "^2.88.0"
-  },
-  "devDependencies": {
-    "autoprefixer": "^8.1.0",
-    "babel-core": "^6.26.0",
-    "babel-loader": "^7.1.4",
-    "babel-plugin-import": "^1.6.6",
-    "babel-plugin-transform-object-rest-spread": "^6.26.0",
-    "babel-polyfill": "^6.26.0",
-    "babel-preset-es2015": "^6.24.1",
-    "babel-preset-react": "^6.24.1",
-    "babel-preset-stage-2": "^6.24.1",
-    "babel-register": "^6.26.0",
-    "css-loader": "^3.5.2",
-    "extract-text-webpack-plugin": "^4.0.0-beta.0",
-    "file-loader": "^1.1.11",
-    "html-webpack-plugin": "^3.0.6",
-    "node-sass": "^4.7.2",
-    "nodemon": "^1.17.2",
-    "open-browser-webpack-plugin": "0.0.5",
-    "optimize-css-assets-webpack-plugin": "^5.0.3",
-    "pm2": "^4.3.1",
-    "postcss-loader": "^2.1.1",
-    "react-hot-loader": "^4.0.0",
-    "redux-devtools": "^3.4.1",
-    "redux-devtools-dock-monitor": "^1.1.3",
-    "redux-devtools-log-monitor": "^1.4.0",
-    "rimraf": "^2.6.2",
-    "sass-loader": "^6.0.7",
-    "style-loader": "^0.20.3",
-    "url-loader": "^1.0.1",
-    "webpack": "^4.20.2",
-    "webpack-cli": "^3.1.2",
-    "webpack-dev-server": "^3.1.1",
-    "webpack-merge": "^4.1.2"
-  }
-}

+ 0 - 24
bdp-business/devopsWeb/process.json

@@ -1,24 +0,0 @@
-{
- "apps": [
-	 {
-	  "name": "k8s-middlelayer",
-	  "cwd": "./",
-	  "script": "app.js",
-	  "log_date_format": "YYYY-MM-DD HH:mm:ss Z",
-	  "error_file": "./log/node-app-stderr.log",
-	  "out_file": "./log/node-app-stdout.log",
-	  "pid_file": "./pids/node-geo-api.pid",
-	  "instances": 1,
-	  "min_uptime": "200s",
-	  "max_restarts": 10,
-	  "cron_restart": "1 0 * * *",
-	  "watch": false,
-	  "merge_logs": true,
-	  "exec_interpreter": "node",
-	  "exec_mode": "cluster",
-	  "instance_var": "INSTANCE_ID",
-	  "autorestart": false,
-	  "vizion": false
-	 }
- 	]
-}

+ 0 - 49
bdp-business/devopsWeb/routes/route.js

@@ -1,49 +0,0 @@
-/**
- * 后端API
- */
-let express = require('express');
-let route = express.Router();
-let tokenAuth = require('../middleware/tokenAuth'); // 用户验证
-let passThrough = require('../middleware/passThrough'); // 用户验证
-let ctrl = require('../controller/controller'); // 业务层
-
-
-/******************** API ********************/
-
-// ------------------ 测试
-// 测试数据
-route.all('/api/test', tokenAuth.auth, ctrl.test.write);
-
-// ------------------ 登录模块
-route.post('/api/login', ctrl.login.login); // 登录
-route.post('/api/logout', ctrl.login.logout); // 注销
-
-// ------------------ 项目数据
-route.all('/api/v1/*', tokenAuth.auth, passThrough.server); // 透传
-route.all('/api/s2/v1/*', tokenAuth.auth, passThrough.server2); // 透传(机器配置)
- route.all('/api/s3/v1/*', tokenAuth.auth, passThrough.server3); // 透传(日志查询)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/******************* 页面路由 *******************/
-
-route.get('*', function(req, res, next) {
-	if (req.url.indexOf('api') < 0) {
-		res.render('index');
-	} else {
-		next();
-	}
-});
-
-module.exports = route;

+ 0 - 26
bdp-business/devopsWeb/src/index.html

@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>运维管理平台</title>
-    <link rel="shortcut icon" href="https://my-macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/design/%E8%BF%90%E7%BB%B4%E7%AE%A1%E7%90%86web/20246692.jpeg">
-    <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
-    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
-    <script src="https://momentjs.com/downloads/moment.js" type="text/javascript"></script>
-
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/antd/3.10.0/antd.js" type="text/javascript"></script>
-    <link href="https://cdnjs.cloudflare.com/ajax/libs/antd/3.10.0/antd.css" rel="stylesheet">
-    
-    <script src="	https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.14.1/addon/merge/dep/diff_match_patch.js" type="text/javascript"></script>
-    <!-- <script src="../node_modules/hterm/dist/amd/lib/hterm.amd.js" type="text/javascript"></script> -->
-    <!-- <script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script> -->
-</head>
-
-<body id="body" ontouchstart="">
-    <div id="root"></div>
-    <!-- built files will be auto injected -->
-</body>
-
-</html>

+ 0 - 350
bdp-business/devopsWeb/src/js/interface.js

@@ -1,350 +0,0 @@
-require('es6-promise').polyfill(); // 支持axios里的promise(兼容ie)
-import axios from 'axios';
-import { message } from 'antd';
-import { browserHistory } from 'react-router';
-import md5 from 'md5';
-/**
- * interface function
- *
- */
-const InterfaceFn = {
-	origin: '', // 生产环境修改接口origin
-	handleResponse: function (res, cb200) {
-		switch (res.status) {
-			case 200:
-				cb200(res.data);
-				break;
-			case 203:
-                message.destroy();
-                browserHistory.push('/login');
-                message.error('登录失效,请重新登录');
-				break;
-			default:
-                message.destroy();
-                message.error('ERROR ' + res.status);
-				break;
-		}
-	},
-	handleCatchError: function (res, api, cb) {
-		cb();
-		if (res.response) {
-			message.error(api + ' ERROR: ' + res.response.status);
-			console.log("%c " + api + " ERROR", "background: red; color: #fff", res.response.status);
-			return;
-		}
-		console.log("%c CATCH ERROR", "background: red; color: #fff", res);
-    },
-    
-    // axios回调抽取
-	axiosThen: function (response, succCallback, errorCallback, apiName, msgHide) {
-		msgHide();
-		this.handleResponse(response, (resData) => {
-			console.log("%c " + apiName + " response", "background: green; color: #fff", resData);
-			if (resData.isSuccess) {
-				succCallback(resData.data);
-			} else {
-				message.error(resData.msg);
-				if (errorCallback) errorCallback(resData);
-			}
-		});
-	},
-	axiosCatch: function (error, apiName, msgHide) {
-		this.handleCatchError(error, apiName, () => {
-			msgHide();
-		});
-	},
-
-	// 登入
-	login: function (reqData, succCallback, errorCallback) {
-        let data = {
-			username: reqData.username,
-			password: md5(reqData.password)
-			// pass: md5(reqData.password)
-		};
-        let apiName = 'login';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('登录中...', 0);
-
-		axios({
-			url: this.origin + '/api/login',
-			method: 'POST',
-			data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-
-	// 登出
-	logout: function (succCallback, errorCallback) {
-        let apiName = 'logout';
-        console.log(`%c ${apiName} request`, "background: blue; color: #fff");
-		const msgHide = message.loading('登出中...', 0);
-
-		axios({
-			url: this.origin + '/api/logout',
-			method: 'POST'
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-
-    // 获取项目列表
-	getProjectList: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'getProjectList';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/v1/project/list',
-			method: 'POST',
-			data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-    },
-    // 获取App列表
-	getAppList: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'getAppList';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/v1/app/list',
-			method: 'POST',
-			data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	// 获取 cluster
-    getCluster: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'getCluster';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/v1/cluster/list',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-    },
-	
-	//获取全部机器列表
-	getAllMachine: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'getAllMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/s2/v1/machine/list',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	//删除机器
-	deleteMachine: function (reqData, succCallback, errorCallback){
-		let data = reqData;
-        let apiName = 'deleteMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-		axios({
-			url: this.origin + `/api/s2/v1/machine/delete/${data.id}`,
-            method: 'POST',
-            data: data.id
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-
-	//添加机器
-	addMachine: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'addMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/s2/v1/machine/create',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	
-	//更新机器
-	updateMachine: function (reqData, succCallback, errorCallback){
-		let data = reqData;
-        let apiName = 'updateMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-		axios({
-			url: this.origin + `/api/s2/v1/machine/update/${data.id}`,
-            method: 'POST',
-            data: data.id
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-
-	//获取项目机器列表
-	getProjectMachine: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'getProjectMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/s2/v1/projectmachine/list',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	//添加项目机器
-	addProjectmachine: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'addProjectmachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/s2/v1/projectmachine/create',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	//移除项目机器
-	deleteProjectMachine: function (reqData, succCallback, errorCallback) {
-		let data = reqData.id;
-        let apiName = 'deleteProjectMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + `/api/s2/v1/projectmachine/delete/${data}`,
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-    // 获取App appcluster
-    getAppcluster: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'getAppcluster';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/v1/appcluster/list',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-    },
-	//获取app机器列表
-	getAppMachine: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'getAppMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/s2/v1/appmachine/list',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	//添加App机器
-	addAppMachine: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'addAppMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/s2/v1/appmachine/create',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	//移除APP机器
-	deleteAppMachine: function (reqData, succCallback, errorCallback) {
-		let data = reqData.id;
-        let apiName = 'deleteAppMachine';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + `/api/s2/v1/appmachine/delete/${data}`,
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	//获取非继承机器的App列表
-	getAppNotExtendsList: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'getAppNotExtendsList';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/s2/v1/appnotextends/list',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	//继承机器
-	cancelAppNotExtends: function (reqData, succCallback, errorCallback) {
-		let data = reqData.id;
-        let apiName = 'cancelAppNotExtends';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + `/api/s2/v1/appnotextends/delete/${data}`,
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-	//取消继承
-	addAppNotExtends: function (reqData, succCallback, errorCallback) {
-		let data = reqData;
-        let apiName = 'addAppNotExtends';
-		console.log(`%c ${apiName} request`, "background: blue; color: #fff", data);
-		const msgHide = message.loading('加载中...', 0);
-
-		axios({
-			url: this.origin + '/api/s2/v1/appnotextends/create',
-            method: 'POST',
-            data: data
-        })
-        .then((response) => this.axiosThen(response, succCallback, errorCallback, apiName, msgHide))
-		.catch((error) => this.axiosCatch(error, apiName, msgHide));
-	},
-};
-
-export default InterfaceFn;

+ 0 - 432
bdp-business/devopsWeb/src/js/lib/show-hint.js

@@ -1,432 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: http://codemirror.net/LICENSE
-
-(function(mod) {
-  if (typeof exports == "object" && typeof module == "object") // CommonJS
-    mod(require("../../lib/codemirror"));
-  else if (typeof define == "function" && define.amd) // AMD
-    define(["../../lib/codemirror"], mod);
-  else // Plain browser env
-    mod(CodeMirror);
-})(function(CodeMirror) {
-  "use strict";
-
-  var HINT_ELEMENT_CLASS        = "CodeMirror-hint";
-  var ACTIVE_HINT_ELEMENT_CLASS = "CodeMirror-hint-active";
-
-  // This is the old interface, kept around for now to stay
-  // backwards-compatible.
-  CodeMirror.showHint = function(cm, getHints, options) {
-    if (!getHints) return cm.showHint(options);
-    if (options && options.async) getHints.async = true;
-    var newOpts = {hint: getHints};
-    if (options) for (var prop in options) newOpts[prop] = options[prop];
-    return cm.showHint(newOpts);
-  };
-
-  CodeMirror.defineExtension("showHint", function(options) {
-    options = parseOptions(this, this.getCursor("start"), options);
-    var selections = this.listSelections()
-    if (selections.length > 1) return;
-    // By default, don't allow completion when something is selected.
-    // A hint function can have a `supportsSelection` property to
-    // indicate that it can handle selections.
-    if (this.somethingSelected()) {
-      if (!options.hint.supportsSelection) return;
-      // Don't try with cross-line selections
-      for (var i = 0; i < selections.length; i++)
-        if (selections[i].head.line != selections[i].anchor.line) return;
-    }
-
-    if (this.state.completionActive) this.state.completionActive.close();
-    var completion = this.state.completionActive = new Completion(this, options);
-    if (!completion.options.hint) return;
-
-    CodeMirror.signal(this, "startCompletion", this);
-    completion.update(true);
-  });
-
-  function Completion(cm, options) {
-    this.cm = cm;
-    this.options = options;
-    this.widget = null;
-    this.debounce = 0;
-    this.tick = 0;
-    this.startPos = this.cm.getCursor("start");
-    this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;
-
-    var self = this;
-    cm.on("cursorActivity", this.activityFunc = function() { self.cursorActivity(); });
-  }
-
-  var requestAnimationFrame = window.requestAnimationFrame || function(fn) {
-    return setTimeout(fn, 1000/60);
-  };
-  var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;
-
-  Completion.prototype = {
-    close: function() {
-      if (!this.active()) return;
-      this.cm.state.completionActive = null;
-      this.tick = null;
-      this.cm.off("cursorActivity", this.activityFunc);
-
-      if (this.widget && this.data) CodeMirror.signal(this.data, "close");
-      if (this.widget) this.widget.close();
-      CodeMirror.signal(this.cm, "endCompletion", this.cm);
-    },
-
-    active: function() {
-      return this.cm.state.completionActive == this;
-    },
-
-    pick: function(data, i) {
-      var completion = data.list[i];
-      if (completion.hint) completion.hint(this.cm, data, completion);
-      else this.cm.replaceRange(getText(completion), completion.from || data.from,
-                                completion.to || data.to, "complete");
-      CodeMirror.signal(data, "pick", completion);
-      this.close();
-    },
-
-    cursorActivity: function() {
-      if (this.debounce) {
-        cancelAnimationFrame(this.debounce);
-        this.debounce = 0;
-      }
-
-      var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);
-      if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||
-          pos.ch < this.startPos.ch || this.cm.somethingSelected() ||
-          (pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {
-        this.close();
-      } else {
-        var self = this;
-        this.debounce = requestAnimationFrame(function() {self.update();});
-        if (this.widget) this.widget.disable();
-      }
-    },
-
-    update: function(first) {
-      if (this.tick == null) return
-      var self = this, myTick = ++this.tick
-      fetchHints(this.options.hint, this.cm, this.options, function(data) {
-        if (self.tick == myTick) self.finishUpdate(data, first)
-      })
-    },
-
-    finishUpdate: function(data, first) {
-      if (this.data) CodeMirror.signal(this.data, "update");
-
-      var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle);
-      if (this.widget) this.widget.close();
-
-      this.data = data;
-
-      if (data && data.list.length) {
-        // if (picked && data.list.length == 1) {
-        //   this.pick(data, 0);
-        // } else {
-          this.widget = new Widget(this, data);
-          CodeMirror.signal(data, "shown");
-        // }
-      }
-    }
-  };
-
-  function parseOptions(cm, pos, options) {
-    var editor = cm.options.hintOptions;
-    var out = {};
-    for (var prop in defaultOptions) out[prop] = defaultOptions[prop];
-    if (editor) for (var prop in editor)
-      if (editor[prop] !== undefined) out[prop] = editor[prop];
-    if (options) for (var prop in options)
-      if (options[prop] !== undefined) out[prop] = options[prop];
-    if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)
-    return out;
-  }
-
-  function getText(completion) {
-    if (typeof completion == "string") return completion;
-    else return completion.text;
-  }
-
-  function buildKeyMap(completion, handle) {
-    var baseMap = {
-      Up: function() {handle.moveFocus(-1);},
-      Down: function() {handle.moveFocus(1);},
-      PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},
-      PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},
-      Home: function() {handle.setFocus(0);},
-      End: function() {handle.setFocus(handle.length - 1);},
-      Enter: handle.pick,
-      Tab: handle.pick,
-      Esc: handle.close
-    };
-    var custom = completion.options.customKeys;
-    var ourMap = custom ? {} : baseMap;
-    function addBinding(key, val) {
-      var bound;
-      if (typeof val != "string")
-        bound = function(cm) { return val(cm, handle); };
-      // This mechanism is deprecated
-      else if (baseMap.hasOwnProperty(val))
-        bound = baseMap[val];
-      else
-        bound = val;
-      ourMap[key] = bound;
-    }
-    if (custom)
-      for (var key in custom) if (custom.hasOwnProperty(key))
-        addBinding(key, custom[key]);
-    var extra = completion.options.extraKeys;
-    if (extra)
-      for (var key in extra) if (extra.hasOwnProperty(key))
-        addBinding(key, extra[key]);
-    return ourMap;
-  }
-
-  function getHintElement(hintsElement, el) {
-    while (el && el != hintsElement) {
-      if (el.nodeName.toUpperCase() === "LI" && el.parentNode == hintsElement) return el;
-      el = el.parentNode;
-    }
-  }
-
-  function Widget(completion, data) {
-    this.completion = completion;
-    this.data = data;
-    this.picked = false;
-    var widget = this, cm = completion.cm;
-
-    var hints = this.hints = document.createElement("ul");
-    hints.className = "CodeMirror-hints";
-    this.selectedHint = data.selectedHint || 0;
-
-    var completions = data.list;
-    for (var i = 0; i < completions.length; ++i) {
-      var elt = hints.appendChild(document.createElement("li")), cur = completions[i];
-      var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? "" : " " + ACTIVE_HINT_ELEMENT_CLASS);
-      if (cur.className != null) className = cur.className + " " + className;
-      elt.className = className;
-      if (cur.render) cur.render(elt, data, cur);
-      else elt.appendChild(document.createTextNode(cur.displayText || getText(cur)));
-      elt.hintId = i;
-    }
-
-    var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);
-    var left = pos.left, top = pos.bottom, below = true;
-    hints.style.left = left + "px";
-    hints.style.top = top + "px";
-    // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
-    var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);
-    var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight);
-    (completion.options.container || document.body).appendChild(hints);
-    var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH;
-    var scrolls = hints.scrollHeight > hints.clientHeight + 1
-    var startScroll = cm.getScrollInfo();
-
-    if (overlapY > 0) {
-      var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);
-      if (curTop - height > 0) { // Fits above cursor
-        hints.style.top = (top = pos.top - height) + "px";
-        below = false;
-      } else if (height > winH) {
-        hints.style.height = (winH - 5) + "px";
-        hints.style.top = (top = pos.bottom - box.top) + "px";
-        var cursor = cm.getCursor();
-        if (data.from.ch != cursor.ch) {
-          pos = cm.cursorCoords(cursor);
-          hints.style.left = (left = pos.left) + "px";
-          box = hints.getBoundingClientRect();
-        }
-      }
-    }
-    var overlapX = box.right - winW;
-    if (overlapX > 0) {
-      if (box.right - box.left > winW) {
-        hints.style.width = (winW - 5) + "px";
-        overlapX -= (box.right - box.left) - winW;
-      }
-      hints.style.left = (left = pos.left - overlapX) + "px";
-    }
-    if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling)
-      node.style.paddingRight = cm.display.nativeBarWidth + "px"
-
-    cm.addKeyMap(this.keyMap = buildKeyMap(completion, {
-      moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },
-      setFocus: function(n) { widget.changeActive(n); },
-      menuSize: function() { return widget.screenAmount(); },
-      length: completions.length,
-      close: function() { completion.close(); },
-      pick: function() { widget.pick(); },
-      data: data
-    }));
-
-    if (completion.options.closeOnUnfocus) {
-      var closingOnBlur;
-      cm.on("blur", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });
-      cm.on("focus", this.onFocus = function() { clearTimeout(closingOnBlur); });
-    }
-
-    cm.on("scroll", this.onScroll = function() {
-      var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();
-      var newTop = top + startScroll.top - curScroll.top;
-      var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop);
-      if (!below) point += hints.offsetHeight;
-      if (point <= editor.top || point >= editor.bottom) return completion.close();
-      hints.style.top = newTop + "px";
-      hints.style.left = (left + startScroll.left - curScroll.left) + "px";
-    });
-
-    CodeMirror.on(hints, "dblclick", function(e) {
-      var t = getHintElement(hints, e.target || e.srcElement);
-      if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}
-    });
-
-    CodeMirror.on(hints, "click", function(e) {
-      var t = getHintElement(hints, e.target || e.srcElement);
-      if (t && t.hintId != null) {
-        widget.changeActive(t.hintId);
-        if (completion.options.completeOnSingleClick) widget.pick();
-      }
-    });
-
-    CodeMirror.on(hints, "mousedown", function() {
-      setTimeout(function(){cm.focus();}, 20);
-    });
-
-    CodeMirror.signal(data, "select", completions[this.selectedHint], hints.childNodes[this.selectedHint]);
-    return true;
-  }
-
-  Widget.prototype = {
-    close: function() {
-      if (this.completion.widget != this) return;
-      this.completion.widget = null;
-      this.hints.parentNode.removeChild(this.hints);
-      this.completion.cm.removeKeyMap(this.keyMap);
-
-      var cm = this.completion.cm;
-      if (this.completion.options.closeOnUnfocus) {
-        cm.off("blur", this.onBlur);
-        cm.off("focus", this.onFocus);
-      }
-      cm.off("scroll", this.onScroll);
-    },
-
-    disable: function() {
-      this.completion.cm.removeKeyMap(this.keyMap);
-      var widget = this;
-      this.keyMap = {Enter: function() { widget.picked = true; }};
-      this.completion.cm.addKeyMap(this.keyMap);
-    },
-
-    pick: function() {
-      this.completion.pick(this.data, this.selectedHint);
-    },
-
-    changeActive: function(i, avoidWrap) {
-      if (i >= this.data.list.length)
-        i = avoidWrap ? this.data.list.length - 1 : 0;
-      else if (i < 0)
-        i = avoidWrap ? 0  : this.data.list.length - 1;
-      if (this.selectedHint == i) return;
-      var node = this.hints.childNodes[this.selectedHint];
-      node.className = node.className.replace(" " + ACTIVE_HINT_ELEMENT_CLASS, "");
-      node = this.hints.childNodes[this.selectedHint = i];
-      node.className += " " + ACTIVE_HINT_ELEMENT_CLASS;
-      if (node.offsetTop < this.hints.scrollTop)
-        this.hints.scrollTop = node.offsetTop - 3;
-      else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)
-        this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3;
-      CodeMirror.signal(this.data, "select", this.data.list[this.selectedHint], node);
-    },
-
-    screenAmount: function() {
-      return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;
-    }
-  };
-
-  function applicableHelpers(cm, helpers) {
-    if (!cm.somethingSelected()) return helpers
-    var result = []
-    for (var i = 0; i < helpers.length; i++)
-      if (helpers[i].supportsSelection) result.push(helpers[i])
-    return result
-  }
-
-  function fetchHints(hint, cm, options, callback) {
-    if (hint.async) {
-      hint(cm, callback, options)
-    } else {
-      var result = hint(cm, options)
-      if (result && result.then) result.then(callback)
-      else callback(result)
-    }
-  }
-
-  function resolveAutoHints(cm, pos) {
-    var helpers = cm.getHelpers(pos, "hint"), words
-    if (helpers.length) {
-      var resolved = function(cm, callback, options) {
-        var app = applicableHelpers(cm, helpers);
-        function run(i) {
-          if (i == app.length) return callback(null)
-          fetchHints(app[i], cm, options, function(result) {
-            if (result && result.list.length > 0) callback(result)
-            else run(i + 1)
-          })
-        }
-        run(0)
-      }
-      resolved.async = true
-      resolved.supportsSelection = true
-      return resolved
-    } else if (words = cm.getHelper(cm.getCursor(), "hintWords")) {
-      return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) }
-    } else if (CodeMirror.hint.anyword) {
-      return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }
-    } else {
-      return function() {}
-    }
-  }
-
-  CodeMirror.registerHelper("hint", "auto", {
-    resolve: resolveAutoHints
-  });
-
-  CodeMirror.registerHelper("hint", "fromList", function(cm, options) {
-    var cur = cm.getCursor(), token = cm.getTokenAt(cur);
-    var to = CodeMirror.Pos(cur.line, token.end);
-    if (token.string && /\w/.test(token.string[token.string.length - 1])) {
-      var term = token.string, from = CodeMirror.Pos(cur.line, token.start);
-    } else {
-      var term = "", from = to;
-    }
-    var found = [];
-    for (var i = 0; i < options.words.length; i++) {
-      var word = options.words[i];
-      if (word.slice(0, term.length) == term)
-        found.push(word);
-    }
-
-    if (found.length) return {list: found, from: from, to: to};
-  });
-
-  CodeMirror.commands.autocomplete = CodeMirror.showHint;
-
-  var defaultOptions = {
-    hint: CodeMirror.hint.auto,
-    completeSingle: true,
-    alignWithWord: true,
-    closeCharacters: /[\s()\[\]{};:>,]/,
-    closeOnUnfocus: true,
-    completeOnSingleClick: true,
-    container: null,
-    customKeys: null,
-    extraKeys: null
-  };
-
-  CodeMirror.defineOption("hintOptions", null);
-});

+ 0 - 84
bdp-business/devopsWeb/src/js/util.js

@@ -1,84 +0,0 @@
-/**
- * util function
- * 
- */
-
-const UtilFn = {
-    // 获取location search参数,返回一个search对象
-    getLocationSearchObj: function(qstring) {
-        let splitUrl = qstring.split("?");
-        let strUrl = (splitUrl.length > 1) ? decodeURIComponent(splitUrl[1]).split("&") : [];
-        let str = "";
-        let obj = {};
-        for (let i = 0, l = strUrl.length; i < l; i++) {
-            str = strUrl[i].split("=");
-            obj[str[0]] = str[1];
-        }
-        return Array.prototype.sort.call(obj);
-    },
-
-    // 判断是否空对象
-    isEmptyObject: function(e) {
-        var t;  
-        for (t in e)  
-            return !1;  
-        return !0  
-    },
-
-	// 设置cookie
-    setCookie: function(name, value, days) {
-        days = days || 0;
-        let expires = "";
-        if (days != 0) { //设置cookie过期时间  
-            let date = new Date();
-            let ms = days * 24 * 60 * 60 * 1000;
-            date.setTime(date.getTime() + ms);
-            expires = "; expires=" + date.toGMTString();
-        }
-        if (days == Infinity) { // 设置最大过期时间
-            expires = "; expires=Fri, 31 Dec 9999 23:59:59 GMT";
-        }
-        document.cookie = name + "=" + value + expires + "; path=/";
-    },
-
-    // 获取cookie
-    getCookie: function(name) {
-        let nameEQ = name + "=";
-        let ca = document.cookie.split(';'); //把cookie分割成组  
-        for (let i = 0; i < ca.length; i++) {
-            let c = ca[i]; //取得字符串  
-            while (c.charAt(0) == ' ') { //判断一下字符串有没有前导空格  
-                c = c.substring(1, c.length); //有的话,从第二位开始取  
-            }
-            if (c.indexOf(nameEQ) == 0) { //如果含有我们要的name  
-                return c.substring(nameEQ.length, c.length);
-            }
-        }
-        return false;
-    },
-
-    // 清除cookies
-    clearCookie: function(name) {
-        this.setCookie(name, "", -1);
-    },
-
-    // 绑定多个函数到onresize上
-    addEventOnResize: function (callback) {
-        let originFn = window.onresize;
-        window.onresize = function () {
-            originFn && originFn();
-            callback();
-        }
-    },
-    // 深度克隆
-    cloneObj: function(obj) {
-        let newObj = obj instanceof Array ? [] : {};
-        for(let i in obj) {
-            let item = obj[i];
-            newObj[i] = typeof item === 'object' ? this.cloneObj(item) : item;
-        }
-        return newObj;
-    }
-};
-
-export default UtilFn;

+ 0 - 10
bdp-business/devopsWeb/src/js/variable.js

@@ -1,10 +0,0 @@
-/**
- * global variable
- * 
- */
-
-const Variable = {
-	isLogin: false
-};
-
-export default Variable;

+ 0 - 31
bdp-business/devopsWeb/src/main.js

@@ -1,31 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-
-import { LocaleProvider } from 'antd';
-import zhCN from 'antd/lib/locale-provider/zh_CN';
-
-import { AppContainer } from 'react-hot-loader';
-// AppContainer 是一个 HMR 必须的包裹(wrapper)组件
-
-import App from './views/App';
-
-let counter = 1;
-
-const render = () => {
-	ReactDOM.render(
-	    <AppContainer>
-        	<LocaleProvider locale={zhCN}><App counter={counter}/></LocaleProvider>
-	    </AppContainer>,
-	    document.getElementById('root')
-	);
-};
-
-render();
-
-// 模块热替换的 API
-if (module.hot) {
-  	module.hot.accept('./views/App', () => {
-		counter++;
-    	render();
-  	});
-}

+ 0 - 17
bdp-business/devopsWeb/src/main.pro.js

@@ -1,17 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-
-import { LocaleProvider } from 'antd';
-import zhCN from 'antd/lib/locale-provider/zh_CN';
-
-import App from './views/App';
-
-
-// 生产环境修改接口origin
-// import Interface from './js/interface';
-// Interface.origin = '';
-
-ReactDOM.render(
-    <LocaleProvider locale={zhCN}><App/></LocaleProvider>,
-  	document.getElementById('root')
-);

+ 0 - 14
bdp-business/devopsWeb/src/redux/actions/userActions.js

@@ -1,14 +0,0 @@
-// user
-export const signIn = (signData) => {
-  	return {
-		type: 'SIGN_IN',
-		signData
-  	};
-};
-
-export const signOut = () => {
-  	return {
-		type: 'SIGN_OUT'
-  	};
-};
-

+ 0 - 19
bdp-business/devopsWeb/src/redux/devTools/DevTools.jsx

@@ -1,19 +0,0 @@
-
-import React from 'react'
-
-//从redux-devtools中引入createDevTools
-import { createDevTools } from 'redux-devtools';
-
-//显示包是单独的,要额外指定
-import LogMonitor from 'redux-devtools-log-monitor';
-import DockMonitor from 'redux-devtools-dock-monitor';
-
-//创建DevTools组件
-const DevTools = createDevTools(
-  <DockMonitor toggleVisibilityKey='ctrl-h'
-               changePositionKey  ='ctrl-q'>
-    <LogMonitor theme='tomorrow' />
-  </DockMonitor>
-);
-
-export default DevTools;

+ 0 - 8
bdp-business/devopsWeb/src/redux/reducers/main.js

@@ -1,8 +0,0 @@
-import { combineReducers } from 'redux';
-import signData from './userReducer';
-
-const reducer = combineReducers({
-	signData
-});
-
-export default reducer;

+ 0 - 12
bdp-business/devopsWeb/src/redux/reducers/userReducer.js

@@ -1,12 +0,0 @@
-const userReducer = (state = null, action) => {
-	switch (action.type) {
-		case 'SIGN_IN':
-		  return {...action.signData};
-		case 'SIGN_OUT':
-		  return null;
-		default:
-		  return state;
-	}
-};
-
-export default userReducer;

+ 0 - 19
bdp-business/devopsWeb/src/redux/store/create.js

@@ -1,19 +0,0 @@
-// 开发环境的store
-import { createStore, applyMiddleware, compose } from 'redux'
-import reducer from '../reducers/main';
-
-// import thunk from './middleware/thunk'
-import DevTools from '../devTools/DevTools'
-
-const enhancer = compose(
-  //你要使用的中间件,放在前面
-  //   applyMiddleware(thunk),
-  //必须的!启用带有monitors(监视显示)的DevTools
-  DevTools.instrument()
-)
-
-export default function createStoreWithMiddleware(initialState) {
-  //注意:仅仅只有redux>=3.1.0支持第三个参数
-  const store = createStore(reducer, initialState, enhancer);
-  return store;
-}

+ 0 - 14
bdp-business/devopsWeb/src/routes/routes.js

@@ -1,14 +0,0 @@
-// Hook for server
-// if (typeof require.ensure !== 'function') {
-//     require.ensure = function(dependencies, callback) {
-//         callback(require)
-//     }
-// }
-
-
-const routes = {
-        path: '/',
-        component: require('views/Index').default,
-    }
-
-export default routes

+ 0 - 111
bdp-business/devopsWeb/src/sass/_base.scss

@@ -1,111 +0,0 @@
-@charset "UTF-8";
-
-/**
- * _base.scss 项目基础样式、项目用方法、项目用function
- */
-
-body,
-input,
-textarea,
-select,
-button {
-    font-family: "SF Pro Text", "Myriad Set Pro", "SF Pro Icons", "Helvetica Neue", "Roboto", "Helvetica", "Arial", STheiti, sans-serif, sans-serif;
-}
-
-body {
-    background: #f8f9fb;
-    font-size: 14px;
-    color: #666;
-    -webkit-tap-highlight-color: transparent; // keyNote:该属性可继承,可以去掉button标签、textarea标签、标签绑定javascript事件等点击触发的高亮表现。a标签除外
-}
-
-a {
-    -webkit-tap-highlight-color: transparent;
-    color: #e5b56f;
-    &,
-    &:hover,
-    &:active {
-        outline: none;
-    }
-    &,
-    &:hover {
-        text-decoration: none;
-    }
-    /* 扩大通用a标签点击时的表现区域 */
-    &:active {
-        position: relative;
-        &:before {
-            content: '';
-            position: absolute;
-            z-index: -1;
-            pointer-events: none;
-            /* key note:事件穿透 */
-            top: -6px;
-            left: -6px;
-            width: 100%;
-            height: 100%;
-            padding: 6px;
-        }
-    }
-}
-
-
-/* 为适配旧版不支持flex的缩写方法,要设置这样一个空标签 */
-
-.func_growSpace {
-    display: block;
-    width: 0;
-    @include flex_grow(1);
-    @include flex_basis(0);
-}
-
-
-/* 修改placeholder颜色值 */
-
-:-moz-placeholder {
-    /* Mozilla Firefox 4 to 18 */
-    color: #c8c8c8;
-}
-
-::-moz-placeholder {
-    /* Mozilla Firefox 19+ */
-    color: #c8c8c8;
-}
-
-input:-ms-input-placeholder,
-textarea:-ms-input-placeholder {
-    color: #c8c8c8;
-}
-
-input::-webkit-input-placeholder,
-textarea::-webkit-input-placeholder {
-    color: #c8c8c8;
-}
-
-
-/* input appearance */
-
-input::-webkit-outer-spin-button,
-input::-webkit-inner-spin-button {
-    -webkit-appearance: none;
-}
-
-input[type="number"] {
-    -moz-appearance: textfield;
-}
-
-input[type="radio"] {
-    -webkit-appearance: none;
-    -moz-appearance: none;
-    &:checked {
-        background-color: transparent;
-    }
-}
-
-label {
-    display: inline-block;
-    font-size: 14px;
-    line-height: 24px;
-    color: #333;
-    font-weight: bold;
-}

+ 0 - 811
bdp-business/devopsWeb/src/sass/_mixin.scss

@@ -1,811 +0,0 @@
-@charset "utf-8";
-
-/**
- * _mixin.scss 常见样式封装、兼容性封装、常见工具方法
- *
- * --- prefixer ---
- *
- * --- flex ----
- * display_flex
- * flex
- * flex_grow
- * flex_shrink
- * flex_basis
- * flex_align_items
- * flex_justify_content
- * flex_childPos
- *
- * --- layout  ---
- * box_sizing
- * clear
- *
- * --- appearance ---
- * text_ellipsis
- * opacity
- * box_shadow
- * appearance
- * bg_gradient
- *   #twoColor
- *   #threeColor
- *
- * --- transform ---
- * transform
- * scale
- * skew
- * translate
- * rotate
- * perspective
- * origin
- *
- * --- transition ---
- * transition
- * transition-transform
- *
- * --- animation ---
- * animation
- * keyframes
- *
- * --- media ---
- * screenResolution
- * screenForIE10AndLater
- * screenForIE8
- * media
- *
- * --- other ---
- * inlineBlock
- * square
- * absoluteCenter
- * triangle
- * bfc
- * retina 1px line
- * update in 2016-05-18
- * setFontSizeForRem
- *
- * --- function ---
- * update in 2016-01-21
- * stripUnits
- * px2rem
- * 
- */
-
-
-/* ------------------------------ prefixer ------------------------------ */
-
-
-/* 是否支持某个浏览器的前缀,如果你不想支持,可以设置为false */
-
-$prefix-for-webkit: true !default;
-$prefix-for-mozilla: true !default;
-$prefix-for-microsoft: true !default;
-$prefix-for-opera: true !default;
-$prefix-for-spec: true !default; // 标准版
-@mixin prefixer($property, $value, $prefixes) {
-    @each $prefix in $prefixes {
-        @if $prefix==webkit and $prefix-for-webkit==true {
-            -webkit-#{$property}: $value;
-        }
-        @else if $prefix==moz and $prefix-for-mozilla==true {
-            -moz-#{$property}: $value;
-        }
-        @else if $prefix==ms and $prefix-for-microsoft==true {
-            -ms-#{$property}: $value;
-        }
-        @else if $prefix==o and $prefix-for-opera==true {
-            -o-#{$property}: $value;
-        }
-        @else if $prefix==spec and $prefix-for-spec==true {
-            #{$property}: $value;
-        }
-        @else {
-            @warn "Unrecognized prefix: #{$prefix}";
-        }
-    }
-}
-
-// 调用范例:
-// selector {
-//   @include prefixer(box-shadow, $shadow, webkit spec);
-// }
-
-/* ------------------------------ flex ------------------------------ */
-
-
-/* display_flex */
-
-%display_flex {
-    display: -o-box;
-    display: -moz-box;
-    display: -webkit-box;
-    display: box;
-    display: -ms-flexbox;
-    display: -webkit-flex;
-    display: flex;
-}
-
-
-/**
- * 容器的属性
- * flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content
- */
-
-
-/**
- * flex_direction 伸缩流方向,决定主轴 main axis 的方向
- * @param: row | row-reverse | column | column-reverse
- */
-
-@mixin flex_direction_ForOld($direction) {
-    @if $direction==row {
-        //old版本还有 inline-axis | block-axis,暂不考虑
-        @include prefixer(box-orient, horizontal, webkit moz spec);
-    }
-    @else if $direction==column {
-        @include prefixer(box-orient, vertical, webkit moz spec);
-    }
-    @else if $direction==row-reverse {
-        @include prefixer(box-orient, horizontal, webkit moz spec);
-        @include prefixer(box-direction, reverse, webkit moz spec);
-    }
-    @else {
-        @include prefixer(box-orient, vertical, webkit moz spec);
-        @include prefixer(box-direction, reverse, webkit moz spec);
-    }
-}
-
-@mixin flex_direction($direction) {
-    @include flex_direction_ForOld($direction);
-    @include prefixer(flex-direction, $direction, webkit moz ms spec);
-}
-
-
-/* 
- * flex_justify_content 属性定义了项目在主轴上的对齐方式
- * @param: flex-start | flex-end | center | space-between | space-around
- */
-
-@mixin flex_justify_content($value) {
-    // box-pack:start|end|center|justify
-    // flex-pack:start|end|center|justify|distribute, for IE10
-    @if $value=='space-around' {
-        @include prefixer(box-pack, justify, webkit moz);
-        -ms-flex-pack: distribute;
-    }
-    @else if $value=='flex-start' {
-        @include prefixer(box-pack, start, webkit moz);
-        -ms-flex-pack: start;
-    }
-    @else if $value=='flex-end' {
-        @include prefixer(box-pack, end, webkit moz);
-        -ms-flex-pack: end;
-    }
-    @else {
-        @include prefixer(box-pack, $value, webkit moz);
-        -ms-flex-pack: $value;
-    }
-    -ms-flex-pack: $value; // for IE10
-    @include prefixer(justify-content, $value, webkit ms spec);
-}
-
-
-/* 
- * flex_align_items 属性定义项目在交叉轴上如何对齐
- * @param: flex-start | flex-end | center | baseline | stretch
- */
-
-@mixin flex_align_items($value) {
-    // box-align:start|end|center|baseline|stretch
-    @if $value=='flex-start' {
-        @include prefixer(box-align, start, webkit moz ms o);
-    }
-    @else if $value=='flex-end' {
-        @include prefixer(box-align, end, webkit moz ms o);
-    }
-    @else {
-        @include prefixer(box-align, $value, webkit moz ms o);
-    }
-    -ms-flex-align: $value; // for IE10
-    @include prefixer(align-items, $value, webkit moz ms o spec);
-}
-
-
-/* flex_childPos horizontal/vertical */
-
-@mixin flex_childPos($dir, $value) {
-    @if $dir=='horizontal' {
-        @include flex_justify_content($value);
-    }
-    @if $dir=='vertical' {
-        @include flex_align_items($value);
-    }
-}
-
-
-/**
- * flex_align_content 属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用,所以此时 flex-wrap 必须为 wrap。
- * @param: flex-start | flex-end | center | space-between | space-around | stretch
- */
-
-@mixin flex_align_content($value) {
-    @include prefixer(align-content, $value, webkit moz ms o spec);
-}
-
-
-/**
- * 项目的属性
- * orderflex-growflex-shrinkflex-basisflexalign-self
- */
-
-
-/* 
- * flex_grow 属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
- * @param: <number>(default 0)
- */
-
-@mixin flex_grow($num) {
-    -ms-flex: $num; // for IE10
-    -moz-box-flex-grow: $num;
-    @include prefixer(box-flex, $num, webkit moz ms o);
-    @include prefixer(flex-grow, $num, webkit ms spec);
-}
-
-
-/* 
- * flex_shrink 属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
- * @param: <number>(default 1)
- */
-
-@mixin flex_shrink($num) {
-    @include prefixer(box-flex-shrink, $num, webkit moz);
-    @include prefixer(flex-shrink, $num, webkit ms spec);
-}
-
-
-/* 
- * flex_basis 属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
- * @param: <length> | auto(default)
- */
-
-@mixin flex_basis($num) {
-    @include prefixer(box-flex-basis, $num, webkit moz);
-    @include prefixer(flex-basis, $num, webkit ms spec);
-}
-
-
-/* 
- * flexflex-grow, flex-shrinkflex-basis的简写,默认值为 0 1 auto,后两个属性可选。
- * @param: flex-grow flex-shrink flex-basis
- */
-
-@mixin flex($value) {
-    display: -webkit-box;
-    display: -moz-box;
-    display: -ms-flexbox;
-    @include prefixer(box-flex, $value, webkit moz ms o);
-    @include prefixer(flex, $value, webkit moz ms o spec);
-}
-
-
-/* 
- * align_self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
- * @param: auto(default) | flex-start | flex-end | center | baseline | stretch
- */
-
-@mixin align_self($value) {
-    @include prefixer(align-self, $value, webkit moz ms o spec);
-}
-
-
-/* ------------------------------ layout ------------------------------ */
-
-
-/* box_sizing */
-
-@mixin box_sizing($value) {
-    @include prefixer(box-sizing, $value, webkit moz spec);
-}
-
-
-/* clear */
-
-%clear {
-    *zoom: 1;
-    &:after {
-        clear: both;
-        content: ".";
-        display: block;
-        line-height: 0;
-        font-size: 0;
-        overflow: hidden;
-        visibility: hidden;
-    }
-}
-
-
-/* ------------------------------ appearance ------------------------------ */
-
-
-/* text_ellipsis */
-
-%text_ellipsis {
-    overflow: hidden;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    -o-text-overflow: ellipsis;
-    word-break: break-all;
-}
-
-
-/* opacity */
-
-@mixin opacity($var) {
-    -khtml-opacity: $var;
-    filter: alpha(opacity=$var*100);
-    @include prefixer(opacity, $var, webkit moz spec);
-}
-
-
-/* box_shadow */
-
-@mixin box_shadow($value...) {
-    @include prefixer(box-shadow, $value, webkit moz spec);
-}
-
-
-/* appearance */
-
-@mixin appearance($value) {
-    // 暂不支持IE和Opera
-    @include prefixer(appearance, $value, webkit moz spec);
-}
-
-
-/* bg_gradient 跨浏览器的渐变背景 */
-
-
-/* twoColor 两种颜色的渐变 */
-
-
-/* 垂直渐变,自上而下 */
-
-@mixin gradient_vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
-    background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
-    background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
-    background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
-    background-repeat: repeat-x;
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
-}
-
-
-/* 水平渐变,自左而右 */
-
-@mixin gradient_horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
-    background-image: -webkit-linear-gradient(left, color-stop($start-color $start-percent), color-stop($end-color $end-percent)); // Safari 5.1-6, Chrome 10+
-    background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12
-    background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
-    background-repeat: repeat-x;
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
-}
-
-
-/* threeColor 三种颜色的渐变 */
-
-
-/* 垂直渐变,自上而下 */
-
-@mixin gradient_vertical_threeColor($start-color: #555, $middle-color: #444, $end-color: #333, $start-percent: 0%, $middle-percent: 50%, $end-percent: 100%) {
-    background-image: -webkit-linear-gradient(top, $start-color $start-percent, $middle-color $middle-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
-    background-image: -o-linear-gradient(top, $start-color $start-percent, $middle-color $middle-percent, $end-color $end-percent); // Opera 12
-    background-image: linear-gradient(to bottom, $start-color $start-percent, $middle-color $middle-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
-    background-repeat: repeat-x;
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
-}
-
-
-/* 水平渐变,自左而右 */
-
-@mixin gradient_horizontal_threeColor($start-color: #555, $middle-color: #444, $end-color: #333, $start-percent: 0%, $middle-percent: 50%, $end-percent: 100%) {
-    background-image: -webkit-linear-gradient(left, color-stop($start-color $start-percent), color-stop($middle-color $middle-percent), color-stop($end-color $end-percent)); // Safari 5.1-6, Chrome 10+
-    background-image: -o-linear-gradient(left, $start-color $start-percent, $middle-color $middle-percent, $end-color $end-percent); // Opera 12
-    background-image: linear-gradient(to right, $start-color $start-percent, $middle-color $middle-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
-    background-repeat: repeat-x;
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
-}
-
-
-/* ------------------------------ transform ------------------------------ */
-
-
-/* transform */
-
-@mixin transform($value...) {
-    @include prefixer(transform, $value, webkit moz ms o spec);
-}
-
-
-/* scale */
-
-@mixin scale($ratio...) {
-    @include prefixer(transform, scale($ratio), webkit moz ms o spec);
-}
-
-@mixin scale($ratioX, $ratioY...) {
-    @include prefixer(transform, scale($ratioX, $ratioY), webkit moz ms o spec);
-}
-
-@mixin scaleX($ratio) {
-    @include prefixer(transform, scaleX($ratio), webkit moz ms o spec);
-}
-
-@mixin scaleY($ratio) {
-    @include prefixer(transform, scaleY($ratio), webkit moz ms o spec);
-}
-
-
-/* skew */
-
-@mixin skew($x, $y) {
-    @include prefixer(transform, skew($x, $y), webkit moz o spec);
-    -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
-}
-
-
-/* translate */
-
-@mixin translate($x, $y) {
-    @include prefixer(transform, translate($x, $y), webkit moz ms o spec);
-}
-
-@mixin translate3d($x, $y, $z) {
-    @include prefixer(transform, translate3d($x, $y, $z), webkit moz spec);
-}
-
-
-/* rotate */
-
-@mixin rotate($degrees) {
-    @include prefixer(transform, rotate($degrees), webkit moz ms o spec);
-}
-
-@mixin rotateX($degrees) {
-    @include prefixer(transform, rotateX($degrees), webkit moz ms o spec);
-}
-
-@mixin rotateY($degrees) {
-    @include prefixer(transform, rotateY($degrees), webkit moz ms o spec);
-}
-
-
-/* perspective */
-
-@mixin perspective($perspective) {
-    @include prefixer(perspective, $perspective, webkit moz spec);
-}
-
-
-/* origin */
-
-@mixin perspective-origin($perspective) {
-    @include prefixer(perspective-origin, $perspective, webkit moz spec);
-}
-
-@mixin transform-origin($origin) {
-    @include prefixer(transform-origin, $origin, webkit moz ms spec);
-}
-
-
-/* ------------------------------ transition ------------------------------ */
-
-
-/* transition */
-
-@mixin transition($transition...) {
-    @include prefixer(transition, $transition, webkit moz o spec);
-}
-
-@mixin transition-property($transition-property...) {
-    @include prefixer(transition-property, $transition-property, webkit moz o spec);
-}
-
-@mixin transition-delay($transition-delay) {
-    @include prefixer(transition-delay, $transition-delay, webkit moz o spec);
-}
-
-@mixin transition-duration($transition-duration...) {
-    @include prefixer(transition-duration, $transition-duration, webkit moz o spec);
-}
-
-@mixin transition-timing-function($timing-function) {
-    @include prefixer(transition-timing-function, $timing-function, webkit moz o spec);
-}
-
-
-/* ------------------------------ animation ------------------------------ */
-
-
-/* animation */
-
-@mixin animation($animation) {
-    @include prefixer(animation, $animation, webkit moz o spec);
-}
-
-@mixin animation-name($name) {
-    @include prefixer(animation-name, $name, webkit moz o spec);
-}
-
-@mixin animation-duration($duration) {
-    @include prefixer(animation-duration, $duration, webkit moz o spec);
-}
-
-@mixin animation-timing-function($timing-function) {
-    @include prefixer(animation-timing-function, $timing-function, webkit moz o spec);
-}
-
-@mixin animation-delay($delay) {
-    @include prefixer(animation-delay, $delay, webkit moz o spec);
-}
-
-@mixin animation-iteration-count($iteration-count) {
-    @include prefixer(animation-iteration-count, $iteration-count, webkit moz o spec);
-}
-
-@mixin animation-direction($direction) {
-    @include prefixer(animation-direction, $direction, webkit moz o spec);
-}
-
-@mixin animation-fill-mode($fill-mode) {
-    @include prefixer(animation-fill-mode, $fill-mode, webkit moz o spec);
-}
-
-
-/* keyframes */
-
-@mixin keyframes($name) {
-    @-webkit-keyframes #{$name} {
-        @content;
-    }
-    @-moz-keyframes #{$name} {
-        @content;
-    }
-    @-o-keyframes #{$name} {
-        @content;
-    }
-    @keyframes #{$name} {
-        @content;
-    }
-}
-
-// 封装keyframes作用不大,上面的写法不能根据前缀对应相应的内容。当然可以在内部做前缀的判断,但 sass v3.4.1 之后有修改日志:
-// Don’t put rulesets inside @keyframes directives when bubbling them up to the top level.
-// 以下例子可用于说明区别:(可自行用不同版本sass测试,也可线上测试:http://sassmeister.com/)
-// @mixin keyframes($animationName) {
-//     @-webkit-keyframes #{$animationName} {
-//         $browser: '-webkit-'; @content;
-//     }
-//     @-moz-keyframes #{$animationName} {
-//         $browser: '-moz-'; @content;
-//     }
-//     @-o-keyframes #{$animationName} {
-//         $browser: '-o-'; @content;
-//     }
-//     @keyframes #{$animationName} {
-//         $browser: ''; @content;
-//     }
-// } 
-// $browser: null;
-// @include keyframes('rotate') {
-//     from { #{$browser}transform: rotate(0deg);}
-//     to { #{$browser}transform: rotate(360deg);}
-// }
-
-/* ------------------------------ media ------------------------------ */
-
-
-/* screenResolution */
-
-@mixin screenResolution($num) {
-    @media only screen and (-webkit-min-device-pixel-ratio: $num), only screen and (min--moz-device-pixel-ratio: $num), only screen and (-o-min-device-pixel-ratio: $num), only screen and (min-device-pixel-ratio: $num), only screen and (min-resolution: #{$num}dppx), only screen and (min-resolution: #{$num*96}dpi) {
-        @content;
-    }
-}
-
-
-/* screenForIE10AndLater 兼容IE10&11 */
-
-@mixin screenForIE10AndLater {
-    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
-        @content;
-    }
-}
-
-
-/* screenForIE8 */
-
-@mixin forIE8 {
-    @media \0screen {
-        @content;
-    }
-}
-
-
-/**
-  * media 通用media设置
-  * @param {String} $attr (eg: "min-width" "max-width")
-  * @param {String} $val (eg: "1024px")
-  */
-
-@mixin setMedia($attr, $val) {
-    @media (#{$attr}: $val) {
-        @content;
-    }
-}
-
-
-/* ------------------------------ other ------------------------------ */
-
-
-/* inlineBlock */
-
-@mixin inlineBlock {
-    display: inline-block;
-    *display: inline;
-    *zoom: 1;
-}
-
-
-/* square 产生正方形的宽高 */
-
-@mixin square($length) {
-    width: $length;
-    height: $length;
-}
-
-
-/* absoluteCenter */
-
-@mixin absoluteCenter($width, $height) {
-    position: absolute;
-    left: 50%;
-    top: 50%;
-    margin: (-$height)/2, 0, 0, (-$width)/2;
-}
-
-
-/* triangle 小三角 */
-
-%triangleCommonStyle {
-    display: block;
-    content: " ";
-    width: 0;
-    line-height: 0;
-    font-size: 0;
-    border-style: solid;
-    border-color: transparent;
-}
-
-@mixin triangle($width, $height, $direction, $borderColor, $ie6borderColor:#f00) {
-    @extend %triangleCommonStyle;
-    border-width: $width $height;
-    _border-color: $ie6borderColor;
-    _filter: chroma(color=$ie6borderColor);
-    /* 向上小三角 */
-    @if $direction==top {
-        border-top: 0;
-        border-bottom-color: $borderColor;
-        _border-bottom-color: $borderColor;
-    }
-    /* 向下小三角 */
-    @else if $direction==bottom {
-        border-bottom: 0;
-        border-top-color: $borderColor;
-        _border-top-color: $borderColor;
-    }
-    /* 向左小三角 */
-    @else if $direction==left {
-        border-left: 0;
-        border-right-color: $borderColor;
-        _border-right-color: $borderColor;
-    }
-    /* 向右小三角 */
-    @else if $direction==right {
-        border-right: 0;
-        border-left-color: $borderColor;
-        _border-left-color: $borderColor;
-    }
-}
-
-
-/* bfc */
-
-@mixin bfc {
-    overflow: hidden;
-    zoom: 1;
-}
-
-
-/* retina 1px line */
-
-%line1px {
-    content: '';
-    width: 200%;
-    height: 1px;
-    background: url(../images/bg_line.png) repeat-x 0 0;
-    -webkit-transform: scale(0.5);
-    transform: scale(0.5);
-    -webkit-transform-origin: 0 0;
-    transform-origin: 0 0;
-}
-
-
-/**
- * setFontSizeForRem
- * 如果要精确控制,则用js来计算设置html的fontSize,如下:
- * 
- * (function (doc, win) {
-    var docEl = doc.documentElement,
-    resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
-    recalc = function () {
-      var clientWidth = docEl.clientWidth;
-      if (!clientWidth) return;
-      docEl.style.fontSize = 37.5 * (clientWidth / 375) + 'px';
-    };
-
-    if (!doc.addEventListener) return;
-    win.addEventListener(resizeEvt, recalc, false);
-    doc.addEventListener('DOMContentLoaded', recalc, false); // DOM加载之后及资源加载之前去执行,即对应jQuery中的document ready
-    })(document, window);
- * 
- */
-
-$driveWidth: (240, 320, 360, 375, 384, 412, 411, 414, 435, 480, 540, 600, 640, 720, 768, 800, 1080, 1280, 1440, 2160, 1600);
-@mixin remProject {
-    @each $i in $driveWidth {
-        @media (width: #{$i}px) {
-            html {
-                font-size: $i/10 * 1px;
-            }
-        }
-    }
-}
-
-
-/* ------------------------------ function ------------------------------ */
-
-
-/* stripUnits */
-
-@function stripUnits($val) {
-    @return $val / ($val * 0 + 1);
-}
-
-
-/* px2rem */
-
-$design-width: 750px!default;
-$px-only: false; // true for lt IE8
-@function px2rem($pxs) {
-    $list: ();
-    @each $px in $pxs {
-        @if (unitless($px)) {
-            /*@warn 'Assuming #{$px} to be in pixels, attempting to convert it into pixels for you';
-      @return px2em($px + 0px); // That may fail.*/
-            @warn 'No unit. Pls set "px" to the numbers.';
-        }
-        @else if (unit($px)=='px') {
-            @if ($px-only) {
-                $list: append($list, $px);
-            }
-            @else {
-                // 这里的0.1对应计算html的font-size时的0.1
-                // 推导:
-                // 因为 designContentWidth / designWidth = htmlFontSize / deviceWidth * ? rem
-                // 其中 htmlFontSize = deviceWidth * 0.1
-                // 所以 ? rem = (designContentWidth / (designWidth * 0.1)) * 1rem
-                $list: append($list, ($px / ($design-width * 0.1)) * 1rem);
-            }
-        }
-        @else {
-            @warn 'Wrong unit. Pls set "px" to the numbers.';
-        }
-    }
-    @return $list();
-}

+ 0 - 63
bdp-business/devopsWeb/src/sass/_reset.scss

@@ -1,63 +0,0 @@
-@charset "utf-8";
-/**
- * _reset.scss 重置样式
- *
- */
-
-body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td, figure {
-	margin: 0;
-	padding: 0;
-}
-
-article, aside, details, figcaption, figure, footer,header, hgroup, menu, nav, section, summary {
-	display: block;
-}
-
-body, input, textarea, select, button {
-	outline: none;
-	-webkit-text-size-adjust: none;
-}
-
-input, textarea, select, button {
-	font-size: inherit; // form control's default font in webkit is "-webkit-small-control"
-	-webkit-tap-highlight-color: rgba(0,0,0,0); // remove widget tap highlighted in mobile safari 
-}
-
-input, textarea, fieldset, img {
-	border: none;
-}
-
-ul, ol, li {
-	list-style: none;
-}
-
-html, body {
-	height: 100%;
-	position: relative;
-}
-
-table {
-	border-collapse: collapse;
-	border-spacing: 0;
-	font-size: inherit;
-}
-
-textarea {
-	overflow: auto;
-}
-
-img {
-	max-width: 100%;
-}
-
-:focus {
-	outline: none;
-}
-
-input[type=radio]::-ms-check, input[type=checkbox]::-ms-check {
-	display: none; // 去掉IE10&11的默认样式
-}
-
-select::-ms-expand {
-	display: none; // 去掉IE10&11的默认样式
-}

+ 0 - 518
bdp-business/devopsWeb/src/sass/main.scss

@@ -1,518 +0,0 @@
-@charset "utf-8";
-/**
- * main.scss
- *
- */
-
-
-/* compass Helper */
-
-/* @import "compass"; */
-
-/* mixin */
-
-@import "_mixin";
-
-/* reset 重置样式 */
-
-@import "_reset";
-
-/* base 基础样式,一般改这个,看不同项目的需要 */
-
-@import "_base";
-
-/* 设计稿宽度,默认750px,按实际设置,这样下面用到的px2rem方法所需的参数值都是设计稿上量度的px值 */
-
-// ------------------变量---------------------
-// 尺寸
-$fontSize: 14px;
-$topHeight: 50px;
-$leftWidth: 240px;
-
-// 颜色
-$themeBg: #fff;
-$headBoxShadow: 0 2px 8px #f0f1f2;
-$sidebarBg: #f8f9fb; // 侧边栏底色
-
-// 全屏显示
-:-webkit-full-screen {
-    width: 100%;
-    height: 100%;
-    #root {
-        width: 100%;
-        height: 100%;
-        background-color: #fff;
-        overflow: auto;
-    }
-    .g_head {
-        display: none;
-    }
-    
-}
-
-// ---------滚动条样式-----------
-::-webkit-scrollbar {
-    width: 7px;
-    height: 7px;
-}
-
-::-webkit-scrollbar-trace {
-    background-color: #fff;
-}
-
-::-webkit-scrollbar-thumb {
-    background-color: #ccc;
-    border-radius: 1px;
-}
-
-// .ant-table-header::-webkit-scrollbar {
-//     width: 0px;
-//     height: 0px;
-//     display: none;
-// }
-
-// 将样式放在body下,提高优先级(针对antd样式的重写)
-body {
-font-size: 14px !important;
-color: #666 !important;
-
-// ------------------布局---------------------
-#root {
-    width: 100%;
-    height: 100%;
-    overflow: hidden;
-}
-.g_layout_fill {
-    width: 100%;
-    height: 100%;
-    max-height: 100%;
-}
-.g_layout_row {
-    display: flex;
-    flex-direction: row;
-    justify-content: flex-start;
-    // align-items: flex-start;
-}
-.g_layout_column {
-    display: flex;
-    flex-direction: column;
-}
-.flex_auto {
-    flex: 1 1 auto;
-}
-.flex_none {
-    flex: 0 0 auto;
-    // align-self: flex-start;
-}
-
-.ant-layout {
-    background: transparent;
-}
-
-.ant-layout-content {
-    overflow: auto;
-}
-
-.g_head {
-    // width: 100%;
-    // min-width: 1200px;
-    height: $topHeight;
-    padding: 0px;
-    position: relative;
-    background: $themeBg;
-    @include box_shadow($headBoxShadow);
-    .w_logo {
-        position: absolute;
-        top: 0;
-        left: $leftWidth/2 - ($leftWidth/2/2);
-        width: $leftWidth/2;
-        height: $topHeight;
-        // background: url(../images/logo2.png) no-repeat center;
-        background-size: contain;
-    }
-}
-
-// 侧边栏菜单
-.g_siderMenu {
-    .logo {
-        width: 200px;
-        height: 50px;
-        // background: url(../images/logo.jpg) no-repeat center;
-    }
-    .title {
-        height: 40px;
-        line-height: 40px;
-        text-align: center;
-        font-size: 20px;
-        color: rgba(255,255,255,.8);
-        background: rgba(#021336,.2);
-        margin: 6px;
-    }
-}
-
-.g_body {
-    // padding: 20px + $topHeight 30px 20px;
-    padding: 10px;
-    background: #f8f9fb;
-    overflow: auto;
-    // height: 100%;
-    // transition: margin linear .3s;
-}
-
-
-.pre_css { 
-    // border: 1px solid #ccc;
-    padding: 5px;
-    // margin-bottom: 20px;
-    .string { color: green; white-space: normal;}
-    .number { color: darkorange; }
-    .boolean { color: blue; }
-    .null { color: magenta; }
-    .key { color: red; }
-}
-
-.text_ellipsis{
-    @extend %text_ellipsis;
-}
-
-// ------------------登录模块---------------------
-.m_login {
-    background: #fff;
-    form {
-        margin: 10% auto 0;
-    }
-}
-
-
-// ------------------主体顶部导航---------------------
-.m_topNav, .m_topNav_Setting {
-    position: absolute;
-    top: 0;
-    background: transparent;
-    line-height: $topHeight;
-    border-bottom: 0;
-    .ant-menu {
-        border-bottom: 0;
-    }
-    .ant-menu-item {
-        padding: 0;
-        a {
-            padding: 0 20px;
-        }
-    }
-}
-.m_topNav {
-    left: $leftWidth;
-}
-.m_topNav_Setting {
-    right: 0;
-    padding-right: 10px;
-    .ant-menu-item a {
-        padding: 0 10px;
-    }
-}
-
-// 按钮组
-.w_button_group {
-    @extend %clear;
-    // margin-bottom: 20px;
-}
-
-
-// ------------------antd---------------------
-
-.ant-form-item-control {
-    line-height: 1.0;
-}
-
-.ant-form-item-label {
-    line-height: 32px;
-}
-
-.anticon {
-    cursor: pointer;
-    transition: all linear .3s;
-}
-
-.anticon-close-circle-o {
-    &:hover {
-        color: #d9534f;
-    }
-}
-
-// ------------------表格---------------------
-$tableBdc: #d9d9d9;
-.ant-table {
-    border-color: $tableBdc;
-    font-size: $fontSize;
-    .ant-table-thead > tr > th {
-        background: #f7f7f7 !important;
-        font-weight: bold;
-    }
-    .ant-table-tbody > tr > td {
-        position: relative;
-        div.grid {
-            width: 100%;
-            .bg {
-                position: absolute;
-                left: 0;
-                top: 0;
-                bottom: 0;
-                background: #56acf1;
-                z-index: 0;
-            }
-            p {
-                position: absolute;
-                left: 0;
-                top: 50%;
-                right: 0;
-                transform: translateY(-50%);
-                z-index: 1;
-            }
-        }
-    }
-}
-.ant-table.ant-table-bordered  {
-    .ant-table-title {
-        border-color: $tableBdc;
-    }
-    .ant-table-content {
-        border-right: 1px solid $tableBdc;
-    }
-    .ant-table-header > table,
-    .ant-table-body > table {
-        border-color: $tableBdc;
-        border-left: 0;
-    }
-    .ant-table-thead > tr > th,
-    .ant-table-tbody > tr > td {
-        border-color: $tableBdc;
-        &:last-child {
-            border-right: 0;
-        }
-    }
-    .ant-table-tbody > tr:last-child > td {
-        border-bottom: 0;
-    }
-}
-.ant-table-fixed-header .ant-table-scroll .ant-table-header {
-    margin: 0;
-    padding: 0;
-}
-.trEven {
-    background:rgba(236, 246, 253, .6);
-}
-
-.ant-table.ant-table-bordered .ant-table-thead > tr > th:last-child,
-.ant-table.ant-table-bordered .ant-table-tbody > tr > td:last-child {
-    border-right: 1px solid #d9d9d9;
-}
-
-.ant-table-small .ant-table-tbody > tr > td {
-    padding: 4px 8px !important;
-}
-
-.ant-table-pagination.ant-pagination {
-    margin: 14px 0;
-}
-
-table {
-    padding: 0 !important;
-}
-
-
-
-// ------------------antd button---------------------
-.ant-btn {
-    font-size: $fontSize;
-    font-weight: normal;
-    max-height: 30px;
-}
-
-// ------------------antd modal---------------------
-.ant-confirm-body {
-    .ant-confirm-title {
-        font-size: 16px;
-    }
-    .ant-confirm-content {
-        font-size: $fontSize;
-    }
-}
-
-// ------------------antd popover---------------------
-
-// .ant-popover-inner-content {
-//     padding: 4px 8px;
-//     box-shadow: 1px 1px 5px #ccc;
-//     ul {
-//         text-align: left;
-//         font-size: 14px;
-//         line-height: 28px;
-//         li {
-//             cursor: pointer;
-//             padding: 0px 6px;
-//             min-width: 120px;
-//             a {
-//                 color: #666;
-//                 display: block;
-//             }
-//             &:hover {
-//                 background-color: #d9d9d9;
-//             }
-//         }
-//     }
-// }
-
-// ------------------antd btn danger---------------------
-.ant-btn-danger {
-    color: #fff;
-    background-color: #d9534f;
-    border-color: #d9534f;
-}
-
-// ------------------其他---------------------
-.ant-tooltip-inner {
-    max-width: 350px;
-    max-height: 300px;
-    overflow: auto;
-    font-size: 12px;
-}
-
-
-// -----------------------------------
-
-.m_group_container {
-    .m_group {
-        margin-bottom: 0px;
-        .group_title {
-            font-size:  14px;
-            line-height: 28px;
-            font-weight: bold;
-            color: #333;
-            padding: 5px 10px;
-            font-weight: bold;
-            background: #f7f7f7;
-            margin-bottom: 10px;
-        }
-        .group_content {
-            .ant-radio-group {
-                padding: 5px;
-            }
-        }
-    }
-    
-}
-
-.m_pagination {
-    margin-top: 12px;
-}
-
-.m_block_white {
-    box-shadow: 0 1px 4px rgba(150,150,150,0.3);
-    background: #fff;
-    border-radius: 4px;
-    padding: 15px;
-    // margin-bottom: 15px;
-}
-
-// 项目管理页面
-.m_page_Project {
-    .list_container {
-        .list_item {
-            // flex-wrap: wrap;
-            border: 1px solid #ccc;
-            border-radius: 3px;
-            margin-bottom: 10px;
-            box-shadow: 3px 3px 3px #e8e8e8;
-            transition: all linear .3s;
-            cursor: pointer;
-            overflow: hidden;
-            &:hover {
-                border-color: #56acf1;
-                box-shadow: 5px 5px 6px #61a9e483;
-            }
-            &.selected {
-                border-color: #56acf1;
-            }
-            .content {
-                padding: 8px;
-            }
-            .control {
-                z-index: 5;
-                padding: 6px 10px;
-                background: #fafafa;
-                border-top: 1px solid #ccc;
-            }
-        }
-    }
-    // 左侧项目栏
-    .page_left {
-        width: 255px;
-        margin-right: 10px;
-        overflow: auto;
-    }
-    // 右侧内容
-    .page_right {
-        overflow: auto;
-        .list_container {
-            flex-wrap: wrap;
-        }
-        .list_item {
-            margin: 0 10px 10px 0;
-            cursor: default;
-            &:hover {
-                border-color: #ccc;
-                box-shadow: 3px 3px 3px #e8e8e8;
-            }
-        } 
-        .block {
-            border: 1px solid #ccc;
-            border-radius: 4px;
-            margin-bottom: 10px;
-            overflow: hidden;
-            .title {
-                background: #fafafa;
-                line-height: 40px;
-                font-size: 16px;
-                font-weight: bold;
-                padding-left: 10px; 
-            }
-            .content {
-                padding: 10px;
-            }
-        }
-    }
-}
-.select_cluster {
-    margin-bottom: 10px;
-    .text {
-        font-weight: bold;
-        line-height: 30px;
-    }
-}
-
-.table_block{
-    border-left: #ccc solid 1px;
-    margin-bottom: 20px;
-    min-width: 700px;
-    .table_row{
-                height: 40px;
-            }
-            .form_item_title{
-                background: #f0f1f2;
-                border-top:  #ccc solid 1px;
-            }
-            .form_item{
-                display: inline-block;
-                height:40px;
-                width:200px;
-                text-align: center;
-                line-height: 30px;
-                padding: 5px;
-                border-right: #ccc solid 1px;
-                border-bottom: #ccc solid 1px;
-            }
-}
-
-}
-

+ 0 - 60
bdp-business/devopsWeb/src/views/App.jsx

@@ -1,60 +0,0 @@
-import React from 'react';
-import {Router, Route, browserHistory, IndexRedirect} from 'react-router'
-import Login from './modules/login/Login';
-
-import K8S from './modules/k8s/K8S';
-import Project from './modules/k8s/pages/Project';
-import MachineManage from './modules/k8s/pages/MachineManage';
-
-import '../sass/main.scss';
-
-const getPathname4redirect = (nextState, replace) => {
-    let location = nextState.location;
-    localStorage.setItem('pathname4redirect', location.pathname + location.search);
-}
-
-// 需权限
-const requireRole = (nextState, replace) => {
-    let roleData = localStorage.getItem('roleData');
-        roleData = roleData ? JSON.parse(roleData) : roleData;
-    let pathnameArr = nextState.location.pathname.split('/');
-    let flag = true;
-    if (roleData.role) {
-        // switch(pathnameArr[1]) {
-        //     case 'config': 
-        //         if (!(roleData.role.authorityRule && roleData.role.authorityRule.includes('manage_authority'))) {
-        //             flag = false;
-        //         }
-        //         break;
-        //     default: ;
-        // }
-    } else {
-        flag = false;
-    }
-    
-    if (!flag) {
-        replace({
-            pathname: '/'
-        });
-    }
-}
-
-class App extends React.Component {
-    render() {
-        return (
-            <Router key={this.props.counter || 0} history={browserHistory}>
-                <Route path="/login" component={Login}></Route>
-                <Route path="/" onEnter={getPathname4redirect} onChange={getPathname4redirect}>
-                    <IndexRedirect to="/k8s/project"/>
-                    <Route path="k8s" component={K8S}>
-                        <Route path="project" component={Project}/>
-                        <Route path="machine" component={MachineManage}/>
-                    </Route>
-                    
-                </Route>
-            </Router>
-        );
-    }
-}
-
-export default App;

+ 0 - 51
bdp-business/devopsWeb/src/views/common/DataShow.jsx

@@ -1,51 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import UtilFn from 'js/util.js';
-import { Button } from 'antd';
-
-class DataShow extends React.Component {
-    constructor(props) {
-        super(props);
-    }
-
-    syntaxHighlight(json) {
-        if (typeof json == 'string' && this.props.type == 'string') { // 只是字符串
-            json = json.replace(/\n/g, '</br>');
-            return '<span class="string">' + json + '</span>';
-        }
-
-        if (typeof json == 'string') {
-            json = JSON.parse(json);
-        }
-        if (typeof json != 'string') {
-            json = JSON.stringify(json, undefined, 2);
-        }
-        json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\n/g, '</br>');
-        return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function(match) {
-            var cls = 'number';
-            if (/^"/.test(match)) {
-                if (/:$/.test(match)) {
-                    cls = 'key';
-                } else {
-                    cls = 'string';
-                }
-            } else if (/true|false/.test(match)) {
-                cls = 'boolean';
-            } else if (/null/.test(match)) {
-                cls = 'null';
-            }
-            return '<span class="' + cls + '">' + match + '</span>';
-        });
-    }
-
-    render() {
-        const data = this.props.data;
-        return (
-            <div style={this.props.style || {}}>
-                <pre className="pre_css" dangerouslySetInnerHTML={{ __html: this.syntaxHighlight(data) }} />
-            </div>
-        );
-    }
-}
-
-export default DataShow;

+ 0 - 32
bdp-business/devopsWeb/src/views/layouts/ContentContainer.jsx

@@ -1,32 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { Layout, Icon } from 'antd';
-
-
-class ContentContainer extends React.Component {
-	constructor(props) {
-        super(props);
-        this.state = {
-        };
-    }
-
-    render() {
-    	// 根据children的类型复制children
-    	let children = this.props.children;
-        return (
-            <Layout
-            	id="mainbody"
-            	className="g_body"
-                style={this.props.style || {}}
-            >
-                { children }
-            </Layout>
-        );
-    }
-}
-
-ContentContainer.propTypes = {
-    hasSidebar: PropTypes.bool
-}
-
-export default ContentContainer;

+ 0 - 76
bdp-business/devopsWeb/src/views/layouts/HeaderContainer.jsx

@@ -1,76 +0,0 @@
-import React from 'react';
-import { Layout, Menu, Icon, Popover, Button } from 'antd';
-import { Link } from 'react-router';
-import PropTypes from 'prop-types';
-import InterfaceFn from 'js/interface.js';
-const { Header } = Layout;
-const SubMenu = Menu.SubMenu;
-
-class HeaderContainer extends React.Component {
-    constructor(props) {
-        super(props);
-        this.state = {
-        };
-    }
-
-    logout = () => {
-        InterfaceFn.logout(() => {
-            localStorage.setItem('pathname4redirect', '');
-            localStorage.setItem('username', '');
-            localStorage.setItem('roleData', '');
-            this.context.router.push('/login');
-        });
-    }
-
-    componentDidMount() {
-       
-    }
-
-    render() {
-        let username = localStorage.getItem('username');
-        let roleData = localStorage.getItem('roleData');
-        roleData = roleData ? JSON.parse(roleData) : {role: {}};
-        
-
-        return (
-        	<Header className="g_head">
-                {
-                    // username && location.pathname.indexOf('login') < 0 ? <Menu
-                    //     // theme="dark"
-                    //     mode="horizontal"
-                    //     selectedKeys={[this.props.currentNav]}
-                    //     className="m_topNav"
-                    // >
-                    //     <Menu.Item key="project"><Link to="/project/detail">项目管理</Link></Menu.Item>
-                    //     <Menu.Item key="pack"><Link to="/pack/list">打包任务</Link></Menu.Item>
-                    // </Menu> : null
-                }
-                {
-                    username && location.pathname.indexOf('login') < 0 ? <Menu
-                        // theme="dark"
-                        mode="horizontal"
-                        className="m_topNav_Setting"
-                    >
-                        <Menu.Item key="account"><a href="javascript:;"><Icon type="user"/>{username}</a></Menu.Item>
-                       
-                        <Menu.Item key="logout">
-                            <a href="javascript:;" onClick={this.logout} title="注销"><Icon type="logout" style={{margin: 0}} /></a>
-                        </Menu.Item>
-                    </Menu> : null
-                }
-	            {this.props.children}
-	        </Header>
-        );
-    }
-}
-
-HeaderContainer.propTypes = {
-    currentNav: PropTypes.string
-};
-
-HeaderContainer.contextTypes = {
-    router: PropTypes.object
-}
-
-
-export default HeaderContainer;

+ 0 - 59
bdp-business/devopsWeb/src/views/layouts/SiderMenu.jsx

@@ -1,59 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { Link } from 'react-router';
-import { Layout, Menu, Icon } from 'antd';
-const { Header, Sider, Content } = Layout;
-const { SubMenu } = Menu;
-
-// 侧边栏菜单
-class SiderMenu extends React.Component {
-    constructor(props) {
-        super(props);
-        this.state = {
-            collapsed: false,
-        };
-    }
-
-    onCollapse = () => {
-        this.setState({
-            collapsed: !this.state.collapsed,
-        });
-    }
-
-    render() {
-        let currentNav = this.props.currentNav;
-        return (
-            <Sider
-                // trigger={null}
-                onCollapse={this.onCollapse}
-                collapsible
-                collapsed={this.state.collapsed}
-                className="g_siderMenu"
-            >
-                {/* {<div className="logo"></div>} */}
-                <div className="title">{!this.state.collapsed ? "运维平台" : "运维平台"}</div>
-                <Menu
-                    theme="dark"
-                    mode="inline"
-                    selectedKeys={[currentNav]}
-                    defaultOpenKeys={['k8s']}
-                >
-                    <SubMenu key="k8s" title={<span><Icon type="code-o" /><span>容器管理</span></span>}>
-                        <Menu.Item key="project">
-                            <Link to="/k8s/project"><Icon type="user" /><span>项目管理</span></Link>
-                        </Menu.Item>
-                        <Menu.Item key="machine">
-                            <Link to="/k8s/machine"><Icon type="video-camera" /><span>机器管理</span></Link>
-                        </Menu.Item>
-                    </SubMenu>
-                </Menu>
-            </Sider>
-        );
-    }
-}
-
-SiderMenu.contextTypes = {
-    router: PropTypes.object
-}
-
-export default SiderMenu;

+ 0 - 42
bdp-business/devopsWeb/src/views/modules/k8s/K8S.jsx

@@ -1,42 +0,0 @@
-import React from 'react';
-import {Layout} from 'antd';
-import HeaderContainer from 'views/layouts/HeaderContainer';
-import SiderMenu from 'views/layouts/SiderMenu';
-import ContentContainer from 'views/layouts/ContentContainer';
-import UtilFn from 'js/util.js';
-import InterfaceFn from 'js/interface.js';
-
-class K8S extends React.Component {
-    constructor(props) {
-        super(props);
-        this.state = {};
-    }
-   
-    componentDidMount() {
-    
-    }
-    render() {
-        let pathnameArr = location.pathname.split('/'),
-            current = pathnameArr.length > 2 ? pathnameArr[pathnameArr.length - 1] : pathnameArr[1];
-        let searchObj = UtilFn.getLocationSearchObj(location.search);
-        return (
-            <Layout className="g_layout_fill">
-                <SiderMenu currentNav={current}/>
-                <Layout>
-                    <HeaderContainer/>
-                    <ContentContainer
-                        style={{
-                            // padding: '63px 15px 15px',
-                            // background: current == 'query' ? '#f1f1f1' : '#fff',
-                            // minWidth: 1000
-                        }}
-                    >
-                        {React.cloneElement(this.props.children, {projectId: Number(searchObj.projectId) || '', appId: Number(searchObj.appId) || ''} )}
-                    </ContentContainer>
-                </Layout>
-            </Layout>
-        );
-    }
-}
-
-export default K8S;

+ 0 - 273
bdp-business/devopsWeb/src/views/modules/k8s/components/AppMachine.jsx

@@ -1,273 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import {Layout} from 'antd';
-import { Select, Button } from 'antd';
-const {Content} = Layout;
-const Option = Select.Option;
-import InterfaceFn from 'js/interface.js';
-
-// 项目--机器列表
-class AppMachine extends React.Component {
-    constructor(props) {
-        super(props);
-        this.state = {
-            currCluster: '', // 当前环境
-            clusterList:[],
-            projectId: this.props.projectId,
-            appId: this.props.appId,
-            operatorFlag: true,
-            totalMachineArr: [],
-            projectMachineArr:[],
-            projectApplyMachineArr:[],
-            appMachineArr: [],
-            appApplyMachinArr: [],
-        };
-    }
-    // 获取App appcluster
-    getAppClusterList = () => {
-        let reqData = {
-            where: `appid = ${this.state.appId}`,
-            offset: 0,
-            limit: 1000,
-        };
-        InterfaceFn.getAppcluster(reqData, (resData) => {
-            if (resData.length > 0) {
-                this.state.currCluster = resData[0].clusterName;
-                this.setState({
-                    clusterList: resData,
-                    currCluster: resData[0].clusterName,
-                })
-                this.getAllMachine();
-                this.getProjectMachine();
-                this.getAppMachine();
-            }
-        });
-    }
-    // 切换 currCluster
-    handleChangeCluster = (value) => {
-        this.state.currCluster = value;
-        this.setState({
-            currCluster: value,
-        });
-        // 重新拉取机器列表
-        this.getAllMachine();
-        this.getProjectMachine();
-        this.getAppMachine();
-    }
-
-    //是否显示可添加列表
-    handleChangeoperatorFlag = () => {
-        this.setState({
-            operatorFlag: !this.state.operatorFlag,
-        })
-    }
-
-    //移除项目机器
-    handleDeleteProjectMachine = (id) => {
-        let arr = this.state.projectMachineArr.filter(item => item.machine_id == id);
-        let reqData = {
-            id: arr[0].id,
-        };
-        InterfaceFn.deleteProjectMachine(reqData, (resData) => {
-            this.getProjectMachine();
-        })
-    }
-    //添加项目机器
-    handleAddProjectMachine = (machine) => {
-        let username = localStorage.getItem('username');
-        let reqData = {
-            projectId: this.state.projectId,
-            k8sCluster: this.state.currCluster,
-            machine_id: `${machine.id}`,
-            operator: username,
-        };
-        InterfaceFn.addProjectMachine(reqData, (resData) => {
-            this.getProjectMachine();
-        })    
-    }
-    
-    //获取项目机器列表
-    getProjectMachine = () => {
-       InterfaceFn.getProjectMachine({
-            where: `k8s_cluster="${this.state.currCluster}" and project_id=${this.state.projectId}`,
-            offset: 0,
-            limit: 1000,
-        }, (resData) => {
-            this.setState({
-                projectMachineArr: resData,
-
-            })
-        })
-    }
-
-    //拉取全部机器列表
-    getAllMachine = () => {
-        InterfaceFn.getAllMachine({
-            where: `k8s_cluster="${this.state.currCluster}"`,
-            offset: 0,
-            limit: 1000,
-       }, (resData) => {
-           this.setState({
-               totalMachineArr: resData,
-           })
-       });
-    }
-
-    //拉取APP机器列表
-    getAppMachine = () => {
-        InterfaceFn.getAppMachine({
-                where: `k8s_cluster="${this.state.currCluster}" and appId=${this.state.appId}`,
-                offset: 0,
-                limit: 1000,
-            }, (resData) => {
-                let projectApplyMachineArr = this.state.totalMachineArr.filter((item) => {
-                    let flag = false;
-                    resData.forEach((pm) => {
-                        if (pm.machine_id == item.id) {
-                            flag = true;
-                        }
-                    });
-                    return flag ;
-                });
-                this.setState({
-                    appMachineArr: resData,
-                    projectApplyMachineArr: projectApplyMachineArr,
-                })
-            })
-    }
-    //添加APP机器列表
-    handleAddAppMachine = (machine) => {
-        let username = localStorage.getItem('username');
-        let reqData = {
-            appid: this.state.appId,
-            k8sCluster: this.state.currCluster,
-            machine_id: `${machine.id}`,
-            operator: machine.operator,
-            operator: username, 
-        };
-        InterfaceFn.addAppMachine(reqData, (resData) => {
-            this.getAppMachine();
-        })    
-    }
-
-    //移除App机器
-    handleDeleteAppMachine = (id) => {
-        let arr = this.state.apptMachineArr.filter(item => item.machine_id == id);
-        let reqData = {
-            id: arr[0].id,
-        };
-        InterfaceFn.deleteAppMachine(reqData, (resData) => {
-            this.getAppMachine();
-        })
-    }
-
-    componentDidMount = () => {
-       // 拉取机器列表
-       this.getAppClusterList();
-    }
-
-    render() {
-        let projectMachineArr = this.state.projectMachineArr;
-        let appMachineArr = this.state.appMachineArr;
-        let projectApplyMachineArr = this.state.totalMachineArr.filter((item) => {
-            let flag1 = false;
-            projectMachineArr.forEach((pm) => {
-                if (pm.machine_id == item.id) {
-                    flag1 = true;
-                }
-            });
-            return flag1 ;
-        });
-        let appApplyMachineArr = projectApplyMachineArr.filter((item) => {
-            let flag2 = false;
-            appMachineArr.forEach((am) => {
-                if (am.machine_id == item.id) {
-                    flag2 = true;
-                }
-            });
-            return flag2 ;
-        });
-        return (
-            <div>
-                <div className=" g_layout_row select_cluster">
-                    <span className="text">环境:</span>
-                    <Select value={this.state.currCluster} style={{ width: 120 }} onChange={this.handleChangeCluster}>
-                        {
-                            this.state.clusterList.map(item => {
-                                return <Option key={item.clusterName} value={item.clusterName}>{item.clusterName}</Option>;
-                            })
-                        }
-                    </Select>
-                </div>
-                {/* 已经配置的机器列表 */}
-                {
-                    this.state.currCluster ? 
-                    <div className="table_block">
-                        <div className="table_row">
-                            <span className="form_item form_item_title">机器名称</span>
-                            <span className="form_item form_item_title">机器信息</span>
-                            <span className="form_item form_item_title">状态</span>
-                            {
-                                this.state.operatorFlag ? <span className="form_item form_item_title" style={{width:'80px'}}>操作</span> : null
-                            }
-                        </div>
-                            {   
-                                    appApplyMachineArr.map(item =>{
-                                    return (
-                                        <div className="table_row">
-                                            <span className="form_item">{item.name}</span>
-                                            {
-                                                item.info == '' ? <span className="form_item">无</span> : <span className="form_item">{item.info}</span>
-                                            }
-                                            <span className="form_item">{item.status}</span>
-                                            <span className="form_item" style={{width:'80px'}}>
-                                                <Button type="danger" size="small" onClick={() => {this.handleDeleteProjectMachine(item.id)}}>移除</Button>
-                                            </span>    
-                                        </div>
-                                    )
-                                })
-                            }
-                    </div> : null
-                }
-                {/* 可添加的机器列表 */}
-                {
-                    this.state.operatorFlag ? 
-                        <div>
-                            <p>可添加的机器列表</p>
-                            <div className="table_block">
-                                <div className="table_row">
-                                    <span className="form_item form_item_title">机器名称</span>
-                                    <span className="form_item form_item_title">机器信息</span>
-                                    <span className="form_item form_item_title">状态</span>
-                                    {
-                                        this.state.operatorFlag ? <span className="form_item form_item_title" style={{width:'80px'}}>操作</span> : null
-                                    }
-                                </div>
-                                    { 
-                                        projectApplyMachineArr.filter((item) => appMachineArr.every(am => am.machine_id != item.id)).map((item => {
-                                            return (
-                                                <div className="table_row">
-                                                    <span className="form_item">{item.name}</span>
-                                                    {
-                                                        item.info == '' ? <span className="form_item">无</span> : <span className="form_item">{item.info}</span>
-                                                    }
-                                                    <span className="form_item">{item.status}</span>
-                                                    <span className="form_item" style={{width:'80px'}}>
-                                                        <Button type="primary" size="small" onClick={() => {this.handleAddAppMachine(item)}}>添加</Button>
-                                                    </span>   
-                                                </div>
-                                            )
-                                        }))
-                                    }
-                            </div>
-                        </div> : null
-                }
-                
-                
-
-            </div>
-        );
-    }
-}
-
-export default AppMachine;

+ 0 - 102
bdp-business/devopsWeb/src/views/modules/k8s/components/DotForm.jsx

@@ -1,102 +0,0 @@
-import React from 'react';
-import { Form, Select, Input, Button, Radio, DatePicker, InputNumber, Icon, Row, Col } from 'antd';
-import moment from 'moment';
-import InterfaceFn from 'js/interface.js';
-const { Option } = Select;
-const FormItem = Form.Item;
-const RadioGroup = Radio.Group;
-const { TextArea } = Input;
-
-class DotForm extends React.Component{
-    constructor(props){
-        super(props);
-        this.state = {
-            firstDotList: ['wlhbdp', 'wlhbdp','wlhbdp'],
-            secondDotList: ['lalala','dadadda','aaaa'],
-        }
-    }
-    
-    handleDotFromSubmit = (e) => {
-        e.preventDefault();
-        this.props.form.validateFields((err, values) => {
-            if (!err) {
-               
-            }
-        });
-    }
-
-    //修改机器污点
-    handleChangeDot = () => {
-
-    }
-    
-    render(){
-        const { getFieldDecorator} = this.props.form;
-        //当编辑的时候请了Dot的数据,需要渲染出来
-        return(
-            <Form
-                onSubmit = {this.handleDotFromSubmit}
-                className = "m_group_container"
-            >
-                <div className = "m_group">
-                    <div className = "group_content"> 
-                        <FormItem
-                            label = {'机器污点1'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator( 'name' , {
-                                rules: [{ required: true}],
-                                // initialValue: this.props.data.name || '',
-                            })(
-                                <Select value={''} style={{ width: 120 }}>
-                                    {
-                                        this.state.firstDotList.map((item) => {
-                                            return (
-                                                <Option value={item}>{item}</Option>
-                                            )
-                                        })
-                                    }
-                                </Select>
-                            )}
-                        </FormItem>
-                        <FormItem
-                            label = {'机器污点2'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator('department' , {
-                                rules: [{ required: true}],
-                                // initialValue: this.props.data.department || '',
-                            })(
-                                <Select value={''} style={{ width: 120 }}>
-                                    {
-                                        this.state.secondDotList.map((item) => {
-                                            return (
-                                                <Option value={item}>{item}</Option>
-                                            )
-                                        })
-                                    }
-                                </Select>
-                            )}
-                        </FormItem>
-                    </div>
-                </div>
-                
-                
-                <div className = "w_button_group">
-                    <Button type = "primary" onClick = {this.props.toggleModalDotForm} style = {{ float: 'right', marginLeft: 20 }} >
-                        取消
-                    </Button>
-                    <Button type = "primary" htmlType = "submit" style = {{ float: 'right' }} >
-                        确定
-                    </Button>
-                </div>
-            </Form>
-        );
-    }
-}
-
-
-DotForm = Form.create()(DotForm);
-export default DotForm ;

+ 0 - 161
bdp-business/devopsWeb/src/views/modules/k8s/components/MachineForm.jsx

@@ -1,161 +0,0 @@
-import React from 'react';
-import { Form, Select, Input, Button, Radio, DatePicker, InputNumber, Icon, Row, Col } from 'antd';
-import moment from 'moment';
-import InterfaceFn from 'js/interface.js';
-const { Option } = Select;
-const FormItem = Form.Item;
-const RadioGroup = Radio.Group;
-const { TextArea } = Input;
-
-class MachineForm extends React.Component{
-    constructor(props){
-        super(props);
-
-    }
-    
-    handleProFromSubmit = (e) => {
-        e.preventDefault();
-        this.props.form.validateFields((err, values) => {
-            if (!err) {
-                console.log(values);
-                let username = localStorage.getItem('username');
-                let reqData = {
-                    inip: values.inIp,
-                    outip: values.outIp,
-                    name: values.name,
-                    info: values.info,
-                    account: values.account,
-                    status: values.status,
-                    k8sCluster: values.k8sCluster,
-                    k8sName: values.k8sName,
-                    operator: username,
-                };
-                InterfaceFn.addMachine(reqData, (resData) => {
-                    this.props.toggleModalMachineForm();
-                    this.props.getAllMachine();
-                });
-                
-            }
-        });
-    }
-    render(){
-        const { getFieldDecorator} = this.props.form;
-        return(
-            <Form
-                onSubmit = {this.handleProFromSubmit}
-                className = "m_group_container"
-            >
-                <div className = "m_group">
-                    <div className = "group_content"> 
-                        <FormItem
-                            label = {'机器名称'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator( 'name' , {
-                                rules: [{ required: true}],
-                                initialValue: '',
-                            })(
-                                <Input placeholder = "请填写机器名称"/>
-                            )}
-                        </FormItem>
-                        <FormItem
-                            label = {'机器组别'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator('account' , {
-                                rules: [{ required: true}],
-                                initialValue:  '',
-                            })(
-                                <Input placeholder = "请填写机器组别"/>
-                            )}
-                        </FormItem>
-                        <FormItem
-                            label = {'机器信息'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator( 'info' , {
-                                rules: [{ required: true}],
-                                initialValue: '',
-                            })(
-                                <Input placeholder = "请填写机器信息"/>
-                            )}
-                        </FormItem>
-                        <FormItem
-                            label = {'状态'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator( 'status' , {
-                                rules: [{ required: true}],
-                                initialValue: '',
-                            })(
-                                <Input placeholder = "请填写机器状态"/>
-                            )}
-                        </FormItem>
-                        <FormItem
-                            label = {'InIp'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator( 'inIp' , {
-                                rules: [{ required: true}],
-                            })(
-                                <Input placeholder = "请填写InIp"/>
-                            )}
-                        </FormItem>
-                        <FormItem
-                            label = {'OutIp'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator( 'outIp' , {
-                                rules: [{ required: true}],
-                            })(
-                                <Input placeholder = "请填写OutIp"/>
-                            )}
-                        </FormItem>
-                        <FormItem
-                            label = {'环境'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator( 'k8sCluster' , {
-                                rules: [{ required: true}],
-                            })(
-                                <Input placeholder = "请填写环境"/>
-                            )}
-                        </FormItem>
-                        <FormItem
-                            label = {'k8s名称'}
-                            labelCol = {{ span: 4 }}
-                            wrapperCol = {{ span: 18 }}
-                        >
-                            {getFieldDecorator( 'k8sName' , {
-                                rules: [{ required: true}],
-                            })(
-                                <Input placeholder = "请填写k8s名称"/>
-                            )}
-                        </FormItem>
-                    </div>
-                </div>
-                
-                
-                <div className = "w_button_group">
-                    <Button type = "primary" onClick = {this.props.toggleModalMachineForm} style = {{ float: 'right', marginLeft: 20 }} >
-                        取消
-                    </Button>
-                    <Button type = "primary" htmlType = "submit" style = {{ float: 'right' }} >
-                        确定
-                    </Button>
-                </div>
-            </Form>
-        );
-    }
-}
-
-
-MachineForm = Form.create()(MachineForm);
-export default MachineForm ;

+ 0 - 199
bdp-business/devopsWeb/src/views/modules/k8s/components/ProjectMachine.jsx

@@ -1,199 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import {Layout} from 'antd';
-import { Form, Select, Button, Table, Row, Col, Input, Modal, Popconfirm } from 'antd';
-const {Content} = Layout;
-const Option = Select.Option;
-import InterfaceFn from 'js/interface.js';
-
-// 项目--机器列表
-class ProjectMachine extends React.Component {
-    constructor(props) {
-        super(props);
-        let columns = [{
-            title: '机器名称',
-            dataIndex: 'name',
-            width: '30%'
-        }, {
-            title: '状态',
-            dataIndex: 'status',
-            width: '20%'
-        }, {
-            title: '机器信息',
-            dataIndex: 'info',
-            width: '30%'
-        }];
-        this.projectOperateColumn = {
-            title: '操作',
-            width: '20%',
-            render: (text, record, index) => {
-                return (
-                    <span>
-                        <Popconfirm title="确定移除该机器吗?" onConfirm={() => {this.handleDeleteProjectMachine(record.id)}} okText="确定" cancelText="取消">
-                            <Button type="danger" size="small" type="danger" style={{margin: '2px'}}>移除</Button>
-                        </Popconfirm>    
-                    </span>
-                );
-            }
-        };
-        this.machineOperateColumn = [{
-            title: '操作',
-            width: '20%',
-            render: (text, record, index) => {
-                return (
-                    <span>
-                        <Popconfirm title="确定添加该机器吗?" onConfirm={() => {this.handleAddProjectMachine(record)}} okText="确定" cancelText="取消">
-                            <Button size="small" type="primary" style={{margin: '2px'}}>添加</Button>
-                        </Popconfirm>    
-                    </span>
-                );
-            }
-        }];
-        let machineColumns = columns;
-        this.projectColumns = columns;
-        this.machineColumns = machineColumns.concat(this.machineOperateColumn);
-        this.state = {
-            currCluster: this.props.currCluster, // 当前环境
-            projectId: this.props.projectId,
-            projectFlag: false,
-            totalMachineArr: [],
-            projectMachineArr: [],
-            btnText: '修改机器配置',
-        };
-    }
-
-    
-
-    //是否显示可添加列表
-    handleChangeProjectFlag = () => {
-        let btnText = '';
-        if (!this.state.projectFlag) {
-            btnText = '退出修改配置';
-        } else {
-            btnText = '修改机器配置';
-        };
-        this.setState({
-            projectFlag: !this.state.projectFlag,
-            btnText: btnText,
-        })
-    }
-
-    //移除项目机器
-    handleDeleteProjectMachine = (id) => {
-        let arr = this.state.projectMachineArr.filter(item => item.machine_id == id);
-        let reqData = {
-            id: arr[0].id,
-        };
-        InterfaceFn.deleteProjectMachine(reqData, (resData) => {
-            this.getProjectMachine();
-        })
-    }
-    //添加项目机器
-    handleAddProjectMachine = (machine) => {
-        let username = localStorage.getItem('username');
-        let reqData = {
-            projectId: this.state.projectId,
-            k8sCluster: this.state.currCluster,
-            machine_id: `${machine.id}`,
-            operator: username,
-        };
-        InterfaceFn.addProjectmachine(reqData, (resData) => {
-            this.getProjectMachine();
-        })
-        
-    }
-
-    getProjectMachine = () => {
-        //获取项目机器列表
-       InterfaceFn.getProjectMachine({
-            where: `k8s_cluster="${this.state.currCluster}" and project_id=${this.state.projectId}`,
-            offset: 0,
-            limit: 1000,
-        }, (resData) => {
-            this.setState({
-                projectMachineArr: resData,
-            })
-        })
-    }
-
-    //拉取机器列表
-    getAllMachine = () => {
-        InterfaceFn.getAllMachine({
-            where: `k8s_cluster="${this.state.currCluster}"`,
-            offset: 0,
-            limit: 1000,
-       }, (resData) => {
-           this.setState({
-               totalMachineArr: resData,
-           })
-       });
-    }
-
-    // 自适应表格高度
-    getTableScrollHeight = () => {
-        return getComputedStyle(document.getElementById('mainbody')).height.split('px')[0] - 200;
-    }
-
-    componentDidMount = () => {
-        // 拉取机器列表
-        this.getAllMachine();
-        this.getProjectMachine();
-        this.getTableScrollHeight();
-    }
-
-    render() {
-        let projectMachineArr = this.state.projectMachineArr;
-        let projectApplyMachineArr = this.state.totalMachineArr.filter((item) => {
-            let flag = false;
-            projectMachineArr.forEach((pm) => {
-                if (pm.machine_id == item.id) {
-                    flag = true;
-                }
-            });
-            return flag ;
-        });
-        let addableMachineArr = this.state.totalMachineArr.filter((item) => projectMachineArr.every(pm => pm.machine_id != item.id));
-        console.log(projectApplyMachineArr);
-        let projectColumns = this.projectColumns;
-        if (this.state.projectFlag) {
-            projectColumns = projectColumns.concat(this.projectOperateColumn);
-        }; 
-        return (
-            <div>
-                <div className=" g_layout_row select_cluster">
-                    <Button type="primary" style={{marginLeft: "5px"}} onClick={() => {this.handleChangeProjectFlag()}}>{this.state.btnText}</Button>
-                </div>
-                {/* 已经配置的机器列表 */}
-                <Table
-                    size={'small'}
-                    bordered={true}
-                    pagination={{
-                        pageSize: 25
-                    }}
-                    dataSource={projectApplyMachineArr}
-                    columns={projectColumns}
-                    scroll={{ x: '800px', y: this.state.tableHeight + 'px' }}
-                />
-                {/* 可添加的机器列表 */}
-                {
-                    this.state.projectFlag ? 
-                        <div>
-                            <p>可添加的机器列表</p>
-                            <Table
-                                size={'small'}
-                                bordered={true}
-                                pagination={{
-                                    pageSize: 25
-                                }}
-                                dataSource={addableMachineArr}
-                                columns={this.machineColumns}
-                                scroll={{ x: '800px', y: this.state.tableHeight + 'px' }}
-                            />
-                        </div> : null
-                }
-            </div>
-        );
-    }
-}
-
-export default ProjectMachine;

+ 0 - 243
bdp-business/devopsWeb/src/views/modules/k8s/pages/MachineManage.jsx

@@ -1,243 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import {Layout} from 'antd';
-import { Form, Select, Button, Table, Row, Col, Input, Modal, Popconfirm } from 'antd';
-const {Content} = Layout;
-const Option = Select.Option;
-const FormItem = Form.Item;
-import DotFrom from '../components/DotForm';
-import MachineForm from '../components/MachineForm';
-import InterfaceFn from 'js/interface.js';
-
-class MachineManage extends React.Component {
-    constructor(props) {
-        super(props);
-        this.columns = [{
-            title: '编号',
-            dataIndex: 'id',
-            width: '6%'
-        }, {
-            title: '机器名称',
-            dataIndex: 'name',
-            width: '16%'
-        }, {
-            title: '状态',
-            dataIndex: 'status',
-            width: '16%'
-        }, {
-            title: '机器组别',
-            dataIndex: 'account',
-            width: '15%'
-        },{
-            title: '机器信息',
-            dataIndex: 'info',
-            width: '15%'
-        }, {
-            title: '环境',
-            dataIndex: 'k8sCluster',
-            width: '16%'
-        },{
-            title: '操作',
-            width: '16%',
-            render: (text, record, index) => {
-                return (
-                    <span>
-                        {/* <Button size="small" type="primary" style={{margin: '2px'}} onClick={() => {this.toggleModalDotForm()}}>修改</Button> */}
-                        <Popconfirm title="确定删除该配置吗?" onConfirm={() => {this.handleDeleteMachine(record.id)}} okText="确定" cancelText="取消">
-                            <Button size="small" type="danger" style={{margin: '2px'}}>删除</Button>
-                        </Popconfirm>    
-                    </span>
-                );
-            },
-        }];
-        this.state = {
-            data: [], //机器列表数据
-            tableHeight: 600,   // 表格初始高度
-            machineMatchData: [],//查询机器的匹配数据
-            flag: false,
-            modalDotClose: true,
-            modalMachinFormClose: true,
-        };
-    }
-
-    //获取machine列表
-    //拉取机器列表
-    getAllMachine = () => {
-        InterfaceFn.getAllMachine({
-            where: `k8s_name != ''`,
-            order: 'id',
-            offset: 0,
-            limit: 1000,
-       }, (resData) => {
-           this.setState({
-               data: resData,
-           })
-       });
-    }
-
-    // 查询
-    handleCheckSubmit = (e) => {
-        e.preventDefault();
-        this.props.form.validateFields((err, values) => {
-            if (!err) {
-                console.log(values);
-                let checkInfo = {
-                    group: values.group || '',
-                    name: values.name || '',
-                };
-                let nameReg = new RegExp(checkInfo.name);
-                let groupReg = new RegExp(checkInfo.group);
-                let matchData = this.state.data.filter((item) => {
-                    return (nameReg.test(item.name) || checkInfo.name == '') &&
-                            (groupReg.test(item.account) || checkInfo.group =='')
-                });
-                this.setState({
-                    machineMatchData: matchData,
-                    flag: true,
-                });
-            }
-        });
-    }
-    //修改机器,是否显示dotForm
-    toggleModalDotForm = () => {
-        this.setState({
-            modalDotClose: !this.state.modalDotClose,
-        });
-        //过滤出该机器污点列表
-    }
-    //删除机器
-    handleDeleteMachine = (id) => {
-        let reqData = {
-            id: id,
-        };
-        InterfaceFn.deleteMachine(reqData, (resData) => {
-            this.getAllMachine();
-        })
-
-    }
-    //添加机器,显示machineForm
-    toggleModalMachineForm = () => {
-        this.setState({
-            modalMachinFormClose: !this.state.modalMachinFormClose,
-        });
-    }
-
-    // 自适应表格高度
-    getTableScrollHeight = () => {
-        return getComputedStyle(document.getElementById('mainbody')).height.split('px')[0] - 200;
-    }
-
-    componentDidMount() {
-        this.getAllMachine();
-        this.setState({
-            tableHeight: this.getTableScrollHeight(),
-        });
-    }
-
-    render() {
-        const { getFieldDecorator } = this.props.form;
-        const columns = this.columns;
-        let dataSource = this.state.flag ? this.state.machineMatchData : this.state.data;
-        return (
-            <Layout className="m_page_MachineManage m_block_white">
-                <Form
-                    id="contentToolbar"
-                    onSubmit={this.handleCheckSubmit}
-                >
-                    <Row>
-                        <Col span={5}>
-                            <FormItem
-                                wrapperCol={{ span: 24 }}
-                                style={{ marginRight: '20px' }}
-                            >
-                                {getFieldDecorator('group', {
-                                    initialValue: '',
-                                })(
-                                    <Input
-                                        addonBefore="机器组"
-                                    />
-                                )}
-                            </FormItem>
-                        </Col>
-                        <Col span={5}>
-                            <FormItem
-                                wrapperCol={{ span: 24 }}
-                                style={{ marginRight: '20px' }}
-                            >
-                                {getFieldDecorator('name', {
-                                    initialValue: '',
-                                })(
-                                    <Input
-                                        addonBefore="名称"
-                                    />
-                                )}
-                            </FormItem>
-                        </Col>
-                        <Button
-                            htmlType="submit"
-                            type="primary"
-                            style={{ marginRight: '20px' }}
-                        >
-                            查询
-                        </Button>
-                        <Button
-                            type="primary"
-                            style={{ marginRight: '20px' }}
-                            onClick={() => {this.toggleModalMachineForm()}}
-                        >
-                            添加机器
-                        </Button>
-                    </Row>
-                </Form>
-                <Table
-                    size={'small'}
-                    bordered={true}
-                    pagination={{
-                        pageSize: 25
-                    }}
-                    dataSource={dataSource}
-                    columns={columns}
-                    scroll={{ x: '800px', y: this.state.tableHeight + 'px' }}
-                />
-                {
-                    this.state.modalDotClose ? null : 
-                        <Modal
-                            title="修改机器"
-                            visible={true}
-                            // maskCloseable = {false}
-                            maskStyle={{backgroundColor:'rgba(0,0,0,0.2)'}}
-                            footer = {null}
-                            width = {800}
-                            onCancel = {this.toggleModalDotForm}
-                        >
-                            <DotFrom
-                                toggleModalDotForm={this.toggleModalDotForm}
-                            />
-                        </Modal>
-                }
-                {
-                    this.state.modalMachinFormClose ? null : 
-                        <Modal
-                            title="添加机器"
-                            visible={true}
-                            // maskCloseable = {false}
-                            maskStyle={{backgroundColor:'rgba(0,0,0,0.2)'}}
-                            footer = {null}
-                            width = {800}
-                            onCancel = {this.toggleModalMachineForm}
-                            >
-                            <MachineForm
-                                toggleModalMachineForm={this.toggleModalMachineForm}
-                                getAllMachine={this.getAllMachine}
-                            />
-                        </Modal>    
-                }
-                
-            </Layout>
-        );
-    }
-}
-
-MachineManage = Form.create()(MachineManage);
-
-export default MachineManage;

+ 0 - 341
bdp-business/devopsWeb/src/views/modules/k8s/pages/Project.jsx

@@ -1,341 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import {Layout} from 'antd';
-import { Select, Button, Modal, Row, Col, Popconfirm, Radio, Checkbox} from 'antd';
-const {Content} = Layout;
-const Option = Select.Option;
-import { Link } from 'react-router';
-import UtilFn from 'js/util.js';
-import InterfaceFn from 'js/interface.js';
-import ProjectMachine from '../components/ProjectMachine';
-import AppMachine from '../components/AppMachine';
-
-class Project extends React.Component {
-    constructor(props) {
-        super(props);
-        this.state = {
-            projectId: this.props.projectId,
-            appId: this.props.appId,
-            modalProjectConfigClose: true,
-            viewKey: 'projectList',
-            projectList: [], // 所有项目数据
-            appList: [], // 所有app数据
-            appNotExtendsArr: [],//继承机器的APP
-            clusterList: null, // 环境列表
-            currCluster: '', // 当前环境
-            currProject: null, // 当前项目
-            currAppList: [], // 当前项目的app列表
-            currAppId: 0,
-            appModalClose: false,
-            visibleFlag: [],//气泡确认框可见
-            extendsFlag: [],
-            changeFlag: false,
-            tipText: '',
-        };
-    }
-
-    // 切换 currCluster
-    handleChangeCluster = (value) => {
-        this.setState({
-            currCluster: '',
-        });
-        setTimeout(() => {
-            this.state.currCluster = value;
-            this.setState({
-                currCluster: value,
-            });
-            this.getAppNotExtends();
-        }, 1000);
-    }
-
-    //获取项目列表数据
-    loadProjectList = () => {
-        InterfaceFn.getProjectList({
-            offset: 0,
-            limit: 1000,
-        }, (resData) => {
-            this.setState({
-                projectList: resData,
-            });
-        });
-    }
-
-    //获取App列表数据
-    loadAppList = () => {
-        InterfaceFn.getAppList({
-            // where: `project_id = ${this.state.projectId}`,
-            offset: 0,
-            limit: 1000,
-        }, (resData) => {
-            this.setState({
-                appList: resData,
-            });
-        });
-    }
-    //获取环境列表数据
-    loadCluster = () => {
-        InterfaceFn.getCluster({
-            offset: 0,
-            limit: 1000,
-        }, (resData) => {
-            //先判断环境列表的长度大于零,再改变当前环境
-            if (resData.length > 0) {
-                this.setState({
-                    clusterList: resData,
-                    currCluster: resData[0].name,
-                });
-            };
-            // this.getAppNotExtends();
-        });
-    }
-    // 选择项目
-    selectProject = (index) => {
-        let currProject = this.state.projectList[index];
-        this.setState({
-            currProject: null,
-            currAppList: this.state.appList.filter(app => app.projectId == currProject.id),
-            visibleFlag: [],
-            extendsFlag: [],
-        });
-        this.getAppNotExtends();
-        setTimeout(() => {
-            this.setState({
-                currProject: currProject,
-            });
-        }), 1;
-    }
-
-    //显示App机器列表的Modal
-    handleAppModal = (appId) => {
-        this.setState({
-            appModalClose: !this.state.appModalClose,
-            currAppId: appId,
-        })
-    }
-    //拉取非继承的applist
-    getAppNotExtends = () =>{
-        InterfaceFn.getAppNotExtendsList({
-            where: `k8s_cluster = "${this.state.currCluster}"`,
-            offset:0,
-            limit:100,
-        }, (resData) => {
-            let extendsFlag = [];
-            let visibleFlag = [];
-            this.state.currAppList.forEach((app) => {
-                let eFlag = true;
-                let vFlag = false;
-                resData.forEach((item) => {
-                    if (item.appid == app.id){
-                        eFlag = false;
-                        vFlag = false;
-                    };
-                });
-                extendsFlag.push(eFlag);
-                visibleFlag.push(vFlag);
-            })
-            this.setState({
-                    appNotExtendsArr: resData,
-                    extendsFlag: extendsFlag,
-                    visibleFlag: visibleFlag,
-            })
-        })
-    }
-    //继承机器
-    addAppExtends = (app) => {
-        let id = 0;
-        this.state.appNotExtendsArr.forEach((item) => {
-            if (item.appid == app.id) {
-                id = item.id 
-            }
-        })
-        let reqData = {
-            id: id,
-        };
-        InterfaceFn.cancelAppNotExtends(reqData, (resData) => {
-           this.getAppNotExtends();
-        })
-    }
-    //取消继承机器
-    //extendsFlag在这里改变
-    cancelAppExtends = (app) => {
-        let username = localStorage.getItem('username');
-        let reqData = {
-            appid: app.id,
-            k8sCluster: this.state.currCluster,
-            operator: username,
-        };
-        InterfaceFn.addAppNotExtends(reqData, (resData) => {
-            this.getAppNotExtends();
-        });
-    }
-    //确认改变继承
-    confirmChangeExtends = (app, index) => {
-        if (this.state.changeFlag) {
-            this.addAppExtends(app, index);
-        } else {
-            this.cancelAppExtends(app, index);
-        }
-    }
-    //改变继承按钮
-    handleExtendsChange = (e, app, index) => {
-        let visibleFlag = [...this.state.visibleFlag];
-        let changeFlag = e.target.checked;
-        let tipText = e.target.checked ? '确认继承机器?' : '确认取消继承机器?';
-        for (var i = 0; i < visibleFlag.length; i++)  {
-            visibleFlag[i] = false;
-        } ;
-        visibleFlag[index] = true;
-        this.setState({
-            visibleFlag: visibleFlag,
-            currAppId: app.id,
-            changeFlag: changeFlag,
-            tipText: tipText,
-        });
-    }
-
-    //隐藏气泡对话框
-    cancelChosePop = (index) => {
-        let visibleFlag = [...this.state.visibleFlag];
-        visibleFlag[index] = false;
-        this.setState({
-            visibleFlag: visibleFlag,
-        });
-    }
-
-
-
-    componentDidMount = () => {
-        this.loadProjectList();
-        this.loadAppList();
-        this.loadCluster();
-    }
-
-    render() {
-        let currProject = this.state.currProject;
-        return (
-            <Layout className="m_page_Project g_layout_row">
-                <div className="page_left flex_none m_block_white">
-                    <div className="list_container">
-                    {
-                        this.state.projectList.map((p, index) => {
-                            return (
-                                <div
-                                    className={`list_item ${currProject && currProject.id == p.id ? 'selected' : ''}`}
-                                    onClick={() => this.selectProject(index)}
-                                >
-                                    <div class="content">
-                                        <p>项目ID: {p.id}</p>
-                                        <p>名称: {p.name}</p>
-                                        <p>负责人:{p.owner}</p>
-                                        <p>创建时间: {p.createTime}</p>
-                                    </div>
-                                </div>
-                            )
-                        })
-                    }
-                    </div>
-                </div>
-                <Layout className="page_right m_block_white">
-                {
-                    currProject ? <div>
-                        <div className="block">
-                            <p className="title">项目</p>
-                            <div className="content">
-                                <p>项目ID:{currProject.id}</p>
-                                <p>名称:{currProject.name}</p>
-                                <p>负责人:{currProject.owner}</p>
-                                <p>成员:{currProject.owner}</p>
-                                <p>创建时间:{currProject.createTime}</p>
-                                <p>更新时间:{currProject.updateTime}</p>
-                                <p>项目描述:{currProject.description}</p>
-                            </div>
-                        </div>
-                        <div className=" g_layout_row select_cluster">
-                            <span className="text">环境:</span>
-                            <Select value={this.state.currCluster} style={{ width: 120 }} onChange={this.handleChangeCluster}>
-                                {
-                                    this.state.clusterList.map(item => {
-                                        return <Option key={item.name} value={item.name}>{item.name}</Option>;
-                                    })
-                                }
-                            </Select>
-                        </div>
-                        <div className="block">
-                            <p className="title">机器列表</p>
-                            <div className="content">
-                            {
-                                this.state.currCluster ?
-                                    <ProjectMachine
-                                        currCluster={this.state.currCluster}
-                                        projectId={currProject.id}
-                                    /> : null
-                            }
-                            </div>
-                        </div>
-                        <div className="block">
-                            <p className="title">APP列表</p>
-                            <div className="content list_container g_layout_row">
-                            {
-                                this.state.currAppList.map((app, index )=> {
-                                    return (
-                                        <div className="list_item">
-                                            <div class="content">
-                                                <p>应用ID:{app.id}</p>
-                                                <p>名称:{app.name}</p>
-                                                <p>负责人:{app.owner}</p>
-                                                <p>创建时间:{app.createTime}</p>
-                                            </div>
-                                            <div class="control">
-                                                <Popconfirm 
-                                                    placement="topLeft"
-                                                    title={this.state.tipText}
-                                                    visible={this.state.visibleFlag[index]}
-                                                    onConfirm={() => {this.confirmChangeExtends(app)}}
-                                                    onCancel={() => {this.cancelChosePop(index)}}
-                                                    okText="Yes"
-                                                    cancelText="No"
-                                                >  
-                                                    <Checkbox checked={this.state.extendsFlag[index]} onChange={(e) => {this.handleExtendsChange(e, app, index)}}>继承机器</Checkbox>
-                                                </Popconfirm>
-                                                {!this.state.extendsFlag[index] ? <Button size="small" style={{float: 'right'}} onClick={()=>{this.handleAppModal(app.id)}}>机器列表</Button> : null}
-                                            </div>   
-                                        </div>
-                                    )
-                                })
-                            }
-                            {
-                                this.state.appModalClose ? 
-                                    <Modal
-                                        title="机器列表"
-                                        visible={true}
-                                        onOk={this.handleAppModal}
-                                        onCancel={this.handleAppModal}
-                                        width={800}
-                                        maskStyle={{backgroundColor:'rgba(0,0,0,0.2)'}}
-                                        >
-                                        <div className="block">
-                                            <div className="content">
-                                                <AppMachine
-                                                    // clusterList={this.state.clusterList}
-                                                    projectId={currProject.id}
-                                                    appId={this.state.currAppId}
-                                                />
-                                            </div>
-                                        </div>
-                                    </Modal> : null
-                            }
-                            </div>
-                        </div>
-                    </div> : null
-                }
-                </Layout>
-            </Layout>
-        );
-    }
-}
-
-Project.contextTypes = {
-    router: PropTypes.object
-}
-
-export default Project;

+ 0 - 38
bdp-business/devopsWeb/src/views/modules/login/Login.jsx

@@ -1,38 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { Layout } from 'antd';
-import HeaderContainer from 'views/layouts/HeaderContainer';
-import UtilFn from 'js/util.js';
-import LoginForm from './components/LoginForm';
-const { Content } = Layout;
-
-class NormalLogin extends React.Component {
-    constructor(props) {
-        super(props);
-    }
-
-    succCallback = (username, roleData) => {
-        localStorage.setItem('username', username);
-        localStorage.setItem('roleData', JSON.stringify(roleData));
-        let redirect = localStorage.getItem('pathname4redirect');
-        if (!redirect) redirect = '/';
-        this.context.router.push(redirect);
-    }
-
-    render() {
-        return (
-            <Layout>
-                <HeaderContainer/>
-                <Content className="m_login">
-                    <LoginForm succCallback={this.succCallback} />
-                </Content>
-            </Layout>
-        );
-    }
-}
-
-NormalLogin.contextTypes = {
-    router: PropTypes.object
-}
-
-export default NormalLogin;

+ 0 - 64
bdp-business/devopsWeb/src/views/modules/login/components/LoginForm.jsx

@@ -1,64 +0,0 @@
-import React from 'react';
-import { Link } from 'react-router';
-import PropTypes from 'prop-types';
-
-import { Form, Icon, Input, Button } from 'antd';
-import InterfaceFn from 'js/interface.js';
-import UtilFn from 'js/util.js';
-import Variable from 'js/variable.js';
-const FormItem = Form.Item;
-
-class LoginForm extends React.Component {
-    constructor(props) {
-        super(props);
-    }
-
-    handleSubmit = (e) => {
-        e.preventDefault();
-        this.props.form.validateFields((err, values) => {
-            if (!err) {
-                InterfaceFn.login(values, (resData) => {
-                    // UtilFn.setCookie('sessiontoken', resData.sessiontoken);
-                    // Variable.isLogin = true;
-
-                    this.props.succCallback(values['username'], resData);
-                });
-            }
-        });
-    }
-
-    render() {
-        const { getFieldDecorator } = this.props.form;
-        return (
-            <Form onSubmit={this.handleSubmit} style={{maxWidth: '300px'}}>
-                <FormItem>
-                    {getFieldDecorator('username', {
-                        rules: [{ required: true, message: '请输入你的用户名!' }],
-                    })(
-                        <Input prefix={<Icon type="user" style={{ fontSize: 13 }} />} placeholder="用户名" />
-                    )}
-                </FormItem>
-                <FormItem>
-                    {getFieldDecorator('password', {
-                        rules: [{ required: true, message: '请输入你的密码!' }],
-                    })(
-                        <Input prefix={<Icon type="lock" style={{ fontSize: 13 }} />} type="password" placeholder="密码" />
-                    )}
-                </FormItem>
-                <FormItem>
-                    <Button type="primary" htmlType="submit" className="login-form-button" style={{width: '100%'}}>
-                        Log in
-                    </Button>
-                </FormItem>
-            </Form>
-        );
-    }
-}
-
-LoginForm = Form.create()(LoginForm);
-
-LoginForm.propTypes = {
-    succCallback: PropTypes.func.isRequired
-};
-
-export default LoginForm;

+ 0 - 49
bdp-business/devopsWeb/util/log4js.js

@@ -1,49 +0,0 @@
-var express = require('express');
-var log4js = require('log4js');
-var app = express();
-
-console.log("当前环境",process.env.NODE_ENV);
-var logLevel = process.env.NODE_ENV === 'development' ? "debug" : "info";
-
-log4js.configure({
-	appenders: {
-	    console: { type: 'stdout' },
-	    normal: {
-	    	type: 'dateFile', 
-    		filename: 'logs/application' ,
-    		maxLogSize: 1024*1024*10, //只有type为file时生效
-    		backups: 10,//只有type为file时生效,表示超过10个log文件时,删除旧的,保留最新的10个
-    		pattern: "_yyyy-MM-dd.log",
-    		alwaysIncludePattern: true
-    	},
-	    log_error: {
-	    	type: "file",  
-            filename: "logs/error",
-			maxLogSize: 1024*1024*100, //只有type为file时生效
-	    },
-	    error: {
-	    	type: 'logLevelFilter',
-	    	level: 'warn',
-	    	appender: 'log_error',
-	    }
-	},
-	categories: {
-	    default: { appenders: ['console', 'normal', 'error'], level: logLevel },
-    },
-	replaceConsole: true,
-	pm2: process.env.NODE_ENV === 'production', // 正式环境
-	pm2InstanceVar: 'INSTANCE_ID'
-});
-
-exports.logger=function(name){
-	var logger = log4js.getLogger(name);
-	return logger;
-}
-
-//解决replaceConsole配置还是无效的方案,将console.log()一并打包
-var logger = log4js.getLogger('console');
-console.log = logger.info.bind(logger);
-
-// app.use(log4js.connectLogger(this.logger('normal'), {level: "debug"}));
-
-

+ 0 - 30
bdp-business/devopsWeb/util/util.js

@@ -1,30 +0,0 @@
-module.exports = {
-    /**
-     * 返回值处理
-     * res: (required)
-     * resData: {
-     *  code: (not required),自定义返回代号,默认错误是 -1,成功是 0
-     *  msg: (not required),自定义返回描述,默认错误是 'error', 成功是 'success'
-     *  data: (not required),json数据
-     * }
-     * 
-     */
-    resHandler: function (res, resData) {
-        let json = {
-            isSuccess: resData.isSuccess,
-            msg: resData.msg || (resData.isSuccess ? 'success' : 'request error')
-        };
-        if (resData.isSuccess && resData.data != undefined) json.data = resData.data;
-        res.json(json);
-    },
-
-    // 设置request options
-    setRequestOptions: (options) => {
-        // options.headers = {
-        //     "Connection": "keep-alive;",
-        //     "Content-Type": "application/json;charset=UTF-8;",
-        // };
-        
-        return options;
-    },
-};

+ 0 - 95
bdp-business/devopsWeb/webpack_config/build.js

@@ -1,95 +0,0 @@
-const webpack = require('webpack');
-const path = require('path');
-const merge = require('webpack-merge');
-const HtmlWebpackPlugin = require('html-webpack-plugin');
-const autoprefixer = require('autoprefixer');
-const ExtractTextPlugin = require('extract-text-webpack-plugin');
-const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin');
-const rm = require('rimraf');  //node环境下rm -rf的命令库
-const baseWebpackConfig = require('./webpack.config.js');
-const config = require('./config.js');
-
-const webpackConfig = merge(baseWebpackConfig, {
-  	entry: {
-        // vendor: ['react-router', 'axios', 'prop-types'],
-        // until: ['codemirror', 'react-codemirror2'],
-	    main: [
-	      	//增加对es6 api的支持,如axios里的promise
-	      	// 'babel-polyfill',
-	      	path.resolve(__dirname, '../src/main.pro.js')       // 定义入口文件
-	    ],
-    },
-    output: {											// 定义出口
-		publicPath: config.prod.publicPath,
-		path: config.prod.root,
-		filename: path.posix.join(config.prod.subDirectory, 'js/[name].[contenthash:5].js'),
-	    chunkFilename: path.posix.join(config.prod.subDirectory, 'js/[name].[chunkhash:5].chunk.js'), //注意这里,用[name]可以自动生成路由名称对应的js文件
-    },
-  	mode: 'production',
-  	module: {
-	    rules: [{
-	        test: /\.(css|scss)$/,
-	        use: ExtractTextPlugin.extract({
-		        use: [
-		            'css-loader',
-		            {
-			            loader: 'postcss-loader',
-			            options: {
-			                plugins: function () {
-			                  	return [autoprefixer({ browsers: ["> 1%","last 2 versions","not ie <= 8"] })];
-			                }
-			            }
-		            },
-		            {
-			            loader: 'sass-loader',
-			            options: {
-			                includePaths: [path.resolve(__dirname, "../node_modules/compass-mixins/lib")]
-			            }
-		            }
-		        ],
-		        fallback: 'style-loader'
-	        })
-	    }]
-  	},
-	plugins: [
-	    //将js中引入的css分离的插件
-	    new ExtractTextPlugin({
-              filename: path.posix.join(config.prod.subDirectory, 'css/[name].[chunkhash:5].css'),
-            //   allChunks: false // 指明为false,否则会包括异步加载的 CSS
-	    }),
-
-	    //压缩提取出的css,并解决ExtractTextPlugin分离出的js重复问题(多个文件引入同一css文件)
-	    new OptimizeCSSPlugin(), 
-
-	    //html模板配置
-	    new HtmlWebpackPlugin({
-			template: path.resolve(__dirname, '../src/index.html'),
-			filename: 'index.html', //生成的html的文件名
-			inject: true, //注入的js文件将会被放在body标签中,当值为'head'时,将被放在head标签中
-			// hash: true, //为静态资源生成hash值
-			// minify: {  //压缩配置
-			//   removeComments: true, //删除html中的注释代码
-			//   collapseWhitespace: false,  //删除html中的空白符
-			//   removeAttributeQuotes: false  //删除html元素中属性的引号
-			// },
-			// chunksSortMode: 'dependency' //按dependency的顺序引入
-	    }),
-	  
-	]
-});
-
-// 通过node删除旧目录,生成新目录
-rm(path.join(config.prod.root, config.prod.subDirectory), err => {
-	if (err) throw err;
-	webpack(webpackConfig, function (err, stats) {
-		if (err) throw err;
-		process.stdout.write(stats.toString({
-			colors: true,
-			modules: false,
-			children: false,
-			chunks: false,
-			chunkModules: false
-		}) + '\n\n');
-		console.log(' Build complete.\n');
-	});
-});

+ 0 - 9
bdp-business/devopsWeb/webpack_config/config.js

@@ -1,9 +0,0 @@
-const path = require('path');
-
-module.exports = {
-	prod: {
-		root: path.resolve(__dirname, '../dist'),
-		subDirectory: 'resource',
-		publicPath: '/',
-	}
-};

+ 0 - 102
bdp-business/devopsWeb/webpack_config/develop.js

@@ -1,102 +0,0 @@
-const webpack = require('webpack');
-const path = require('path');
-const merge = require('webpack-merge');
-const autoprefixer = require('autoprefixer');
-const HtmlWebpackPlugin = require('html-webpack-plugin');
-const OpenBrowserPlugin = require('open-browser-webpack-plugin');
-const baseWebpackConfig = require('./webpack.config.js');
-const config = require('./config.js');
-const hostPort = 8000;
-
-module.exports = merge(baseWebpackConfig, {
-	entry: {
-		main: [
-			// 开启 React 代码的模块热替换(HMR)
-	      	'react-hot-loader/patch',
-
-	      	// 为 webpack-dev-server 的环境打包代码
-	      	// 然后连接到指定服务器域名与端口
-	      	'webpack-dev-server/client?http://0.0.0.0:' + hostPort,
-
-	      	// 为热替换(HMR)打包好代码
-	      	// only- 意味着只有成功更新运行代码才会执行热替换(HMR)
-	      	'webpack/hot/only-dev-server',
-	      	// 我们 app 的入口文件
-	      	path.resolve(__dirname, '../src/main.js')
-		],
-    },
-    output: {											// 定义出口
-		publicPath: config.prod.publicPath,
-		path: config.prod.root,
-		filename: path.posix.join(config.prod.subDirectory, 'js/[name].js'),
-	    chunkFilename: path.posix.join(config.prod.subDirectory, 'js/[name].chunk.js'), //注意这里,用[name]可以自动生成路由名称对应的js文件
-    },
-	mode: 'development',
-	devtool: 'source-map',
-	module: {
-	    rules: [{
-	        test: /\.(css|scss)$/,
-	        use: [
-	          	'style-loader',
-	          	'css-loader',
-		        {
-		            loader: 'postcss-loader',
-		            options: {
-		              	plugins: function () {
-		                	return [autoprefixer({ browsers: ["> 1%","last 2 versions","not ie <= 8"] })];
-		              	}
-		            }
-		        },
-	          	{
-		            loader: 'sass-loader',
-		            options: {
-		              	// includePaths: [path.resolve(__dirname, "../node_modules/compass-mixins/lib")]
-		            }
-	          	}
-	        ]
-	    }]
-	},
-	plugins: [
-	    new webpack.HotModuleReplacementPlugin(), //热更新插件
-	    new HtmlWebpackPlugin({
-	      	template: path.resolve(__dirname, '../src/index.html'), //依据的模板
-	      	filename: 'index.html', //生成的html的文件名
-	      	inject: true, //注入的js文件将会被放在body标签中,当值为'head'时,将被放在head标签中
-	    }),
-	   
-	    new OpenBrowserPlugin({ url: 'http://localhost:' + hostPort })
-	],
-	devServer: {
-		historyApiFallback: true,
-		contentBase: path.resolve(__dirname, '../src'),	// 提供静态文件路径
-		publicPath: '/',
-		host: '0.0.0.0',
-		port: hostPort,
-		compress: true, // gzip压缩
-		// 热替换配置
-	  	hot: true,
-	  	inline: true,
-		// 后台日志文字颜色开关
-	  	stats: { 
-	    	colors: true
-        },
-        // 反向代理api设置
-		proxy: [
-			// {
-			//     context: ["/api"],
-			//     target: "http://localhost:3000", // 测试服务器
-			//     changeOrigin: true // 必须配置为true,才能正确代理
-			// },
-			{
-			    context: ["/api"],
-			    target: "http://127.0.0.1:3000", // 测试服务器
-			    changeOrigin: true // 必须配置为true,才能正确代理
-            },
-			
-		],
-	  	after: function (app) {
-	  		console.log('Listening at 0.0.0.0:' + hostPort + '...');
-	  	}
-	}
-
-});

+ 0 - 86
bdp-business/devopsWeb/webpack_config/server.build.js

@@ -1,86 +0,0 @@
-const webpack = require('webpack');
-const path = require('path');
-const config = require('./config.js');
-const rm = require('rimraf');  //node环境下rm -rf的命令库
-
-const fs = require('fs')
-
-const nodeModules = {}
-fs.readdirSync('node_modules')
-    .filter(function (x) {
-        return [ '.bin' ].indexOf(x) === -1
-    })
-    .forEach(function (mod) {
-        nodeModules[ mod ] = 'commonjs ' + mod
-    })
-
-const webpackConfig  = {
-	mode: 'production',
-	target: 'node',
-	node: {
-		__filename: true,
-		__dirname: true,
-	},
-	externals: nodeModules,
-	entry: {
-	    app: [
-	      	//增加对es6 api的支持,如axios里的promise
-	      	// 'babel-polyfill',
-	      	path.resolve(__dirname, '../app.js')       // 定义入口文件
-	    ],
-  	},
-	output: {											// 定义出口
-		publicPath: config.prod.publicPath,
-		path: config.prod.root,
-		filename: '[name].js',
-	},
-	resolve: {                                    // 指定可以被 import 的文件后缀
-	    extensions: ['.js'],
-	    // alias: {                                    // 配置常用路径
-	    //   	src: path.resolve(__dirname, '../src'),
-	    //   	views: 'src/views',
-	    // }
-  	},
-	module: {
-		rules: [{
-			test: /\.(js|jsx)$/,
-			loader: 'babel-loader',
-			include: [path.resolve(__dirname, '../src'), path.resolve(__dirname, '../server')],
-		}, {
-			test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
-	        loader: 'url-loader',
-	        options: {
-	          	limit: 10000,
-	        }
-		}, {
-	        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
-	        loader: 'url-loader',
-	        options: {
-	          	limit: 10000,
-	        }
-      	}, {
-	        test: /\.(css|scss)$/,
-	        use: [
-	            'css-loader/locals',
-	            'sass-loader',
-	        ]
-	    }]
-	},
-	
-};
-
-// 通过node删除旧目录,生成新目录
-rm(path.join(config.prod.root, 'app.js'), err => {
-	if (err) throw err;
-	webpack(webpackConfig, function (err, stats) {
-		if (err) throw err;
-		process.stdout.write(stats.toString({
-			colors: true,
-			modules: false,
-			children: false,
-			chunks: false,
-			chunkModules: false
-		}) + '\n\n');
-		console.log(' Build complete.\n');
-	});
-});

+ 0 - 79
bdp-business/devopsWeb/webpack_config/webpack.config.js

@@ -1,79 +0,0 @@
-const webpack = require('webpack');
-const path = require('path');
-const config = require('./config.js');
-
-module.exports = {
-    externals: {
-        'react': 'React',
-        'react-dom': 'ReactDOM',
-        'antd': 'antd',
-        'moment': 'moment'
-    },
-    resolve: {                                    // 指定可以被 import 的文件后缀
-	    extensions: ['.js', '.jsx'],
-	    alias: {                                    // 配置常用路径
-	      	src: path.resolve(__dirname, '../src'),
-	      	views: 'src/views',
-	      	js: 'src/js',
-	    }
-  	},
-	module: {
-		rules: [{
-			test: /\.(js|jsx)$/,
-			loader: 'babel-loader',
-			include: path.resolve(__dirname, '../src'),
-		}, {
-			test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
-	        loader: 'url-loader',
-	        options: {
-	          	limit: 10000,
-	          	name: path.posix.join(config.prod.subDirectory, 'img/[name].[hash:7].[ext]'),
-	        }
-		}, {
-	        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
-	        loader: 'url-loader',
-	        options: {
-	          	limit: 10000,
-	          	name: path.posix.join(config.prod.subDirectory, 'fonts/[name].[hash:7].[ext]')
-	        }
-      	}]
-	},
-	optimization: {
-	   	// splitChunks: {
-	    //  	chunks: 'all',
-	    //  	name: 'common',
-	   	// },
-	   	// runtimeChunk: {
-	    //  	name: 'runtime',
-           // }
-        splitChunks: { 
-            chunks: "all",         // 代码块类型 必须三选一: "initial"(初始化) | "all"(默认就是all) | "async"(动态加载) 
-            minSize: 0,                // 最小尺寸,默认0
-            minChunks: 1,              // 最小 chunk ,默认1
-            maxAsyncRequests: 1,       // 最大异步请求数, 默认1
-            maxInitialRequests: 1,     // 最大初始化请求书,默认1
-            name: () => {},            // 名称,此选项可接收 function
-            cacheGroups: {                // 缓存组会继承splitChunks的配置,但是test、priorty和reuseExistingChunk只能用于配置缓存组。
-                priority: "0",              // 缓存组优先级 false | object |
-                vendor: {                   // key 为entry中定义的 入口名称
-                    chunks: "initial",        // 必须三选一: "initial"(初始化) | "all" | "async"(默认就是异步)
-                    test: /react-router|axios|prop-types/,     // 正则规则验证,如果符合就提取 chunk
-                    name: "vendor",           // 要缓存的 分隔出来的 chunk 名称
-                    minSize: 0,
-                    minChunks: 1,
-                    enforce: true,
-                    reuseExistingChunk: true   // 可设置是否重用已用chunk 不再创建新的chunk
-                },
-                codemirror: {                   // key 为entry中定义的 入口名称
-                    chunks: "initial",        // 必须三选一: "initial"(初始化) | "all" | "async"(默认就是异步)
-                    test: /codemirror|react-codemirror2/,     // 正则规则验证,如果符合就提取 chunk
-                    name: "codemirror",           // 要缓存的 分隔出来的 chunk 名称
-                    minSize: 0,
-                    minChunks: 1,
-                    enforce: true,
-                    reuseExistingChunk: true   // 可设置是否重用已用chunk 不再创建新的chunk
-                }
-            }
-        }
-	}
-};

+ 0 - 68
bdp-business/docs/README.md

@@ -1,68 +0,0 @@
-# BUSINESS FOR BDP PLATFORM 业务系统
-
-数据平台的业务系统:大数据应用层业务系统
-
-1、美团Logan埋点
-
-2、采集中心代码编写
-
-3、维护kafka集群
-
-4、日志消费系统
-
-5、爬虫采集系统
-
-6、ETL清洗入ES, HBase
-
-7、电商分析
-
-8、上线demo
-
-9、开源大数据平台
-
-```markdown
-1、首页:
-
-![img.png](img.png)
-
-2、数据业务:
-
-![img_1.png](img_1.png)
-
-3、数据计算:
-
-![img_3.png](img_3.png)
-
-4、数据运维:
-
-![img_4.png](img_4.png)
-
-5、数据治理:
-
-![img_5.png](img_5.png)
-
-6、数据集成:
-
-![img_6.png](img_6.png)
-
-7、数据智能:
-
-![img_7.png](img_7.png)
-
-8、数据采集:
-
-![img_8.png](img_8.png)
-
-9、实时数仓:
-
-![img_9.png](img_9.png)
-
-10、性能优化:
-
-![img_10.png](img_10.png)
-
-11、数据存储:
-
-![img_11.png](img_11.png)
-
-```

BIN
bdp-business/docs/img.png


BIN
bdp-business/docs/img_1.png


BIN
bdp-business/docs/img_10.png


BIN
bdp-business/docs/img_11.png


BIN
bdp-business/docs/img_2.png


BIN
bdp-business/docs/img_3.png


BIN
bdp-business/docs/img_4.png


BIN
bdp-business/docs/img_5.png


BIN
bdp-business/docs/img_6.png


BIN
bdp-business/docs/img_7.png


BIN
bdp-business/docs/img_8.png


BIN
bdp-business/docs/img_9.png


+ 0 - 124
bdp-business/dubbo-service/dubbo-impl/pom.xml

@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>dubbo-service</artifactId>
-        <groupId>com.platform</groupId>
-        <version>1.0</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>dubbo-service-Impl</artifactId>
-    <packaging>war</packaging>
-
-    <name>dubbo-service-Impl Maven Webapp</name>
-    <!-- FIXME change it to the project's website -->
-    <url>http://www.example.com</url>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.platform</groupId>
-            <artifactId>dubbo-service-interface</artifactId>
-            <version>1.0</version>
-        </dependency>
-        <!-- dubbo相关 -->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>dubbo</artifactId>
-            <version>2.6.1</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>log4j</groupId>
-                    <artifactId>log4j</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>3.4.14</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-framework</artifactId>
-            <version>4.0.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aspects</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun.oss</groupId>
-            <artifactId>aliyun-sdk-oss</artifactId>
-            <version>3.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <version>3.2.2</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <finalName>dubbo-service-Impl</finalName>
-        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-            <plugins>
-                <plugin>
-                    <artifactId>maven-clean-plugin</artifactId>
-                    <version>3.1.0</version>
-                </plugin>
-                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
-                <plugin>
-                    <artifactId>maven-resources-plugin</artifactId>
-                    <version>3.0.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.8.0</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.22.1</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-war-plugin</artifactId>
-                    <version>3.2.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-install-plugin</artifactId>
-                    <version>2.5.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-deploy-plugin</artifactId>
-                    <version>2.8.2</version>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-    </build>
-</project>

+ 0 - 16
bdp-business/dubbo-service/dubbo-impl/src/main/resources/conf/dubbo.properties

@@ -1,16 +0,0 @@
-# dubbo \u914D\u7F6E
-dubbo.application.name=dubbo-service-Impl
-#zookeeper集群
-#dubbo.registry.address=192.168.172.129:2181,192.168.172.130:2181,192.168.172.131:2181
-#zookeeper单机直连
-dubbo.registry.address=120.79.159.59:2181
-
-dubbo.registry.name=zookeeper
-dubbo.protocol.name=dubbo
-dubbo.protocol.port=20880
-
-#解决dubbo qos默认22222端口占用 start
-qos.enable=true
-qos.port=22223
-qos.accept.foreign.ip=false
-#解决dubbo qos默认22222端口占用 end

+ 0 - 17
bdp-business/dubbo-service/dubbo-impl/src/main/webapp/WEB-INF/web.xml

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xmlns="http://java.sun.com/xml/ns/javaee"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         id="WebApp_ID" version="2.5">
-  <display-name>dubbo-service-Impl</display-name>
-
-  <!-- 加载spring容器 -->
-  <context-param>
-    <param-name>contextConfigLocation</param-name>
-    <param-value>classpath:spring/applicationContext*.xml</param-value>
-  </context-param>
-  <listener>
-    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
-  </listener>
-
-</web-app>

+ 0 - 351
bdp-business/dubbo-service/dubbo-spi/pom.xml

@@ -1,351 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>com.platform</groupId>
-        <artifactId>dubbo-service</artifactId>
-        <version>1.0</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>dubbo-service-interface</artifactId>
-    <name>dubbo-service-interface</name>
-    <packaging>jar</packaging>
-
-    <!-- FIXME change it to the project's website -->
-    <url>http://www.example.com</url>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.11</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>cn.hutool</groupId>
-            <artifactId>hutool-all</artifactId>
-            <version>4.1.12</version>
-        </dependency>
-
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>jsp-api</artifactId>
-            <version>2.0</version>
-        </dependency>
-        <dependency>
-            <groupId>redis.clients</groupId>
-            <artifactId>jedis</artifactId>
-            <version>2.9.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.gson</groupId>
-            <artifactId>gson</artifactId>
-            <version>2.8.5</version>
-        </dependency>
-        <!-- 七牛云图片上传SDK -->
-        <dependency>
-            <groupId>com.qiniu</groupId>
-            <artifactId>qiniu-java-sdk</artifactId>
-            <version>7.2.26</version>
-        </dependency>
-
-        <!-- 文件上传组件 -->
-        <dependency>
-            <groupId>commons-fileupload</groupId>
-            <artifactId>commons-fileupload</artifactId>
-            <version>1.3.3</version>
-        </dependency>
-        <!-- Httpclient -->
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.5.3</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.okhttp3</groupId>
-            <artifactId>okhttp</artifactId>
-            <version>3.14.4</version>
-        </dependency>
-        <!--spring相关-->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-webmvc</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-jms</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-jdbc</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aspects</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <!-- Apache工具组件 -->
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.3.2</version>
-        </dependency>
-        <!--Elasticsearch-->
-        <dependency>
-            <groupId>org.elasticsearch.client</groupId>
-            <artifactId>transport</artifactId>
-            <version>6.2.3</version>
-        </dependency>
-        <!-- Mail -->
-        <dependency>
-            <groupId>javax.mail</groupId>
-            <artifactId>mail</artifactId>
-            <version>1.5.0-b01</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper</artifactId>
-            <version>4.1.6</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.activemq</groupId>
-            <artifactId>activemq-all</artifactId>
-            <version>5.11.2</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-log4j12</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>log4j</groupId>
-                    <artifactId>log4j</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>javax.jms</groupId>
-            <artifactId>javax.jms-api</artifactId>
-            <version>2.0.1</version>
-        </dependency>
-        <!-- 连接池 -->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>1.1.4</version>
-        </dependency>
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>5.1.44</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis</artifactId>
-            <version>3.4.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis-spring</artifactId>
-            <version>1.3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.data</groupId>
-            <artifactId>spring-data-commons</artifactId>
-            <version>2.1.11.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>1.5.20</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate.validator</groupId>
-            <artifactId>hibernate-validator</artifactId>
-            <version>[6.0.18,)</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-core</artifactId>
-            <version>5.1.6.RELEASE</version>
-        </dependency>
-        <!--JWT(Json Web Token)登录支持-->
-        <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt</artifactId>
-            <version>0.9.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun.oss</groupId>
-            <artifactId>aliyun-sdk-oss</artifactId>
-            <version>3.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>net.logstash.logback</groupId>
-            <artifactId>logstash-logback-encoder</artifactId>
-            <version>4.8</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-json</artifactId>
-            <version>2.1.9.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.binarywang</groupId>
-            <artifactId>weixin-java-miniapp</artifactId>
-            <version>3.3.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.qcloudsms</groupId>
-            <artifactId>qcloudsms</artifactId>
-            <version>1.0.5</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>28.0-jre</version>
-        </dependency>
-        <dependency>
-            <groupId>com.qcloud</groupId>
-            <artifactId>cos_api</artifactId>
-            <version>5.4.4</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>slf4j-log4j12</artifactId>
-                    <groupId>org.slf4j</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.github.binarywang</groupId>
-            <artifactId>weixin-java-pay</artifactId>
-            <version>3.3.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-api-mockito</artifactId>
-            <version>1.6.6</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-module-junit4</artifactId>
-            <version>2.0.2</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.auth0</groupId>
-            <artifactId>java-jwt</artifactId>
-            <version>3.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-core</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <version>2.1.9.RELEASE</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-mail</artifactId>
-            <version>2.1.9.RELEASE</version>
-        </dependency>
-        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <finalName>dubbo-service-interface</finalName>
-        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-            <plugins>
-                <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
-                <plugin>
-                    <artifactId>maven-clean-plugin</artifactId>
-                    <version>3.1.0</version>
-                </plugin>
-                <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
-                <plugin>
-                    <artifactId>maven-resources-plugin</artifactId>
-                    <version>3.0.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.8.0</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.22.1</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-jar-plugin</artifactId>
-                    <version>3.0.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-install-plugin</artifactId>
-                    <version>2.5.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-deploy-plugin</artifactId>
-                    <version>2.8.2</version>
-                </plugin>
-                <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
-                <plugin>
-                    <artifactId>maven-site-plugin</artifactId>
-                    <version>3.7.1</version>
-                </plugin>
-
-            </plugins>
-        </pluginManagement>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-    </build>
-
-</project>

+ 0 - 55
bdp-business/dubbo-service/pom.xml

@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>com.platform</groupId>
-    <artifactId>dubbo-service</artifactId>
-    <packaging>pom</packaging>
-    <version>1.0</version>
-
-    <name>dubbo-service Maven Webapp</name>
-    <!-- FIXME change it to the project's website -->
-    <url>http://www.example.com</url>
-    <modules>
-        <module>dubbo-service-interface</module>
-        <module>dubbo-service-Impl</module>
-    </modules>
-
-    <build>
-        <finalName>dubbo-service</finalName>
-        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-            <plugins>
-                <plugin>
-                    <artifactId>maven-clean-plugin</artifactId>
-                    <version>3.1.0</version>
-                </plugin>
-                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
-                <plugin>
-                    <artifactId>maven-resources-plugin</artifactId>
-                    <version>3.0.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.8.0</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.22.1</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-war-plugin</artifactId>
-                    <version>3.2.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-install-plugin</artifactId>
-                    <version>2.5.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-deploy-plugin</artifactId>
-                    <version>2.8.2</version>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-</project>

+ 0 - 57
bdp-business/frontend/README.md

@@ -1,57 +0,0 @@
-# DASHBOARD FOR BDP PLATFORM
-
-开源大数据平台
-
-## Environment Prepare
-
-Install `node_modules`:
-
-```bash
-npm install
-```
-
-## Scripts
-
-### Start project
-
-```bash
-npm start
-```
-
-### Build project
-
-```bash
-npm run build
-```
-
-### Check code style
-
-```bash
-npm run lint
-```
-
-You can also use script to auto fix some lint error:
-
-```bash
-npm run lint:fix
-```
-
-### Test code
-
-```bash
-npm test
-```
-
-## Deployment
-
-### Test env
-
-```bash
-./run.sh build:test
-```
-
-### Prod env
-
-```bash
-./run.sh build:prod
-```

+ 0 - 336
bdp-business/mall-pc-backend/pom.xml

@@ -1,336 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>com.platform</groupId>
-  <artifactId>mall-pc-backend</artifactId>
-  <version>1.0</version>
-  <packaging>war</packaging>
-
-  <name>mall-pc-backend Maven Webapp</name>
-  <!-- FIXME change it to the project's website -->
-  <url>http://www.example.com</url>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.8</maven.compiler.source>
-    <maven.compiler.target>1.8</maven.compiler.target>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>com.platform</groupId>
-      <artifactId>dubbo-service-interface</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>com.github.pagehelper</groupId>
-          <artifactId>pagehelper-spring-boot-starter</artifactId>
-        </exclusion>
-      </exclusions>
-      <version>1.0</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.11</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.8.0-alpha2</version>
-    </dependency>
-    <dependency>
-      <groupId>cn.hutool</groupId>
-      <artifactId>hutool-all</artifactId>
-      <version>4.1.2</version>
-    </dependency>
-    <!-- Spring -->
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-context</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-beans</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-webmvc</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-jdbc</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-aspects</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-jms</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-context-support</artifactId>
-      <version>5.1.10.RELEASE</version>
-    </dependency>
-
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>jsp-api</artifactId>
-      <version>2.0</version>
-    </dependency>
-    <!-- Httpclient -->
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-      <version>4.5.3</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.code.gson</groupId>
-      <artifactId>gson</artifactId>
-      <version>2.8.5</version>
-    </dependency>
-    <!-- Redis客户端 -->
-    <dependency>
-      <groupId>redis.clients</groupId>
-      <artifactId>jedis</artifactId>
-      <version>2.9.0</version>
-    </dependency>
-    <dependency>
-      <groupId>com.squareup.okhttp3</groupId>
-      <artifactId>okhttp</artifactId>
-      <version>3.14.4</version>
-    </dependency>
-    <dependency>
-      <groupId>io.swagger</groupId>
-      <artifactId>swagger-annotations</artifactId>
-      <version>1.5.10</version>
-    </dependency>
-    <!-- swagger2 -->
-    <dependency>
-      <groupId>io.springfox</groupId>
-      <artifactId>springfox-swagger2</artifactId>
-      <version>2.7.0</version>
-    </dependency>
-    <dependency>
-      <groupId>io.springfox</groupId>
-      <artifactId>springfox-swagger-ui</artifactId>
-      <version>2.7.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mybatis</groupId>
-      <artifactId>mybatis</artifactId>
-      <version>3.4.5</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mybatis</groupId>
-      <artifactId>mybatis-spring</artifactId>
-      <version>1.3.1</version>
-    </dependency>
-    <dependency>
-      <groupId>com.github.miemiedev</groupId>
-      <artifactId>mybatis-paginator</artifactId>
-      <version>1.2.15</version>
-    </dependency>
-    <!-- MySql -->
-    <dependency>
-      <groupId>mysql</groupId>
-      <artifactId>mysql-connector-java</artifactId>
-      <version>5.1.44</version>
-    </dependency>
-    <!-- 连接池 -->
-    <dependency>
-      <groupId>com.alibaba</groupId>
-      <artifactId>druid</artifactId>
-      <version>1.1.4</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.activemq</groupId>
-      <artifactId>activemq-all</artifactId>
-      <version>5.11.2</version>
-    </dependency>
-    <dependency>
-      <groupId>javax.jms</groupId>
-      <artifactId>javax.jms-api</artifactId>
-      <version>2.0.1</version>
-    </dependency>
-    <!--shiro-->
-    <dependency>
-      <groupId>org.apache.shiro</groupId>
-      <artifactId>shiro-all</artifactId>
-      <version>1.4.0</version>
-    </dependency>
-    <!-- Mail -->
-    <dependency>
-      <groupId>javax.mail</groupId>
-      <artifactId>mail</artifactId>
-      <version>1.5.0-b01</version>
-    </dependency>
-    <!--Elasticsearch-->
-    <dependency>
-      <groupId>org.elasticsearch.client</groupId>
-      <artifactId>transport</artifactId>
-      <version>6.2.3</version>
-    </dependency>
-    <!--Log4j 2-->
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <version>2.9.1</version>
-    </dependency>
-    <!--add begin-->
-    <!-- 时间操作组件 -->
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>2.9.9</version>
-    </dependency>
-    <!-- Apache工具组件 -->
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-      <version>3.3.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>1.3.2</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-net</groupId>
-      <artifactId>commons-net</artifactId>
-      <version>3.3</version>
-    </dependency>
-
-    <!-- 日志处理 -->
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <version>1.8.0-alpha2</version>
-    </dependency>
-    <!-- 七牛云图片上传SDK -->
-    <dependency>
-      <groupId>com.qiniu</groupId>
-      <artifactId>qiniu-java-sdk</artifactId>
-      <version>7.2.26</version>
-    </dependency>
-
-    <!-- 文件上传组件 -->
-    <dependency>
-      <groupId>commons-fileupload</groupId>
-      <artifactId>commons-fileupload</artifactId>
-      <version>1.3.3</version>
-    </dependency>
-
-    <!-- Json -->
-    <dependency>
-      <groupId>org.json</groupId>
-      <artifactId>json</artifactId>
-      <version>20171018</version>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-core</artifactId>
-      <version>2.9.1</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-annotations</artifactId>
-      <version>2.9.1</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-databind</artifactId>
-      <version>2.9.1</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.alibaba</groupId>
-      <artifactId>dubbo</artifactId>
-      <version>2.6.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.zookeeper</groupId>
-      <artifactId>zookeeper</artifactId>
-      <version>3.4.14</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.curator</groupId>
-      <artifactId>curator-framework</artifactId>
-      <version>4.0.1</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <finalName>mall-pc-backend</finalName>
-    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-      <plugins>
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>3.1.0</version>
-        </plugin>
-        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
-        <plugin>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.22.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-war-plugin</artifactId>
-          <version>3.2.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.5.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.8.2</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <resources>
-      <resource>
-        <directory>src/main/java</directory>
-        <includes>
-          <include>**/*.properties</include>
-          <include>**/*.xml</include>
-        </includes>
-        <filtering>true</filtering>
-      </resource>
-      <resource>
-        <directory>src/main/resources</directory>
-        <includes>
-          <include>**/*.properties</include>
-          <include>**/*.xml</include>
-        </includes>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-  </build>
-</project>

+ 0 - 15
bdp-business/mall-pc-backend/src/main/resources/conf/dubbo.properties

@@ -1,15 +0,0 @@
-# dubbo \u914D\u7F6E
-dubbo.mall.application.name=mall-pc-backend
-#zookeeper集群
-#dubbo.mall.registry.address=192.168.172.129:2181,192.168.172.130:2181,192.168.172.131:2181
-#zookeeper单机直连
-dubbo.mall.registry.address=127.0.0.1:2181
-dubbo.mall.registry.name=zookeeper
-
-#解决dubbo qos默认22222端口占用 start
-mall.qos.enable=true
-mall.qos.port=33330
-mall.qos.accept.foreign.ip=false
-#解决dubbo qos默认22222端口占用 end
-
-

+ 0 - 56
bdp-business/mall-pc-backend/src/main/resources/spring/springmvc.xml

@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
-	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
-	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
-<context:component-scan base-package="com.platform.mall" />
-
-    <context:property-placeholder location="classpath:conf/*.properties"/>
-
-    <!-- 连接redis单机版 -->
-    <bean id="jedisClientPool" class="com.platform.mall.jedis.JedisClientPool">
-        <property name="jedisPool" ref="jedisPool"></property>
-    </bean>
-    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
-        <constructor-arg name="host" value="127.0.0.1"/>
-        <constructor-arg name="port" value="6379"/>
-    </bean>
-
-    <!-- 配置多媒体解析器 -->
-    <!-- 定义文件上传解析器 -->
-    <bean id="multipartResolver"
-          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
-        <!-- 设定默认编码 -->
-        <property name="defaultEncoding" value="UTF-8"></property>
-        <!-- 设定文件上传的最大值5MB,5*1024*1024 -->
-        <property name="maxUploadSize" value="5242880"></property>
-    </bean>
-
-    <!--配置资源映射-->
-    <mvc:resources mapping="/swagger/**" location="/swagger/"/>
-
-    <!-- 引用dubbo服务 -->
-    <!--提交.mall前缀避免与dubbo-helper-Impl项目的别名一致导致找不到dubbo配置值-->
-    <dubbo:application name="${dubbo.mall.application.name}">
-        <dubbo:parameter key="qos.enable" value="${mall.qos.enable}" />
-        <dubbo:parameter key="qos.accept.foreign.ip" value="${mall.qos.accept.foreign.ip}" />
-        <dubbo:parameter key="qos.port" value="${mall.qos.port}" />
-    </dubbo:application>
-    <!--#其他值复用dubbo-helper-Impl项目的值-->
-    <dubbo:registry address="${dubbo.mall.registry.address}" protocol="${dubbo.mall.registry.name}"/>
-
-    <dubbo:reference interface="com.platform.mall.service.ContentService" id="contentService" check="true"/>
-    <dubbo:reference interface="com.platform.mall.service.SearchService" id="searchService" />
-    <dubbo:reference interface="com.platform.mall.service.RegisterService" id="registerService" />
-    <dubbo:reference interface="com.platform.mall.service.LoginService" id="loginService" />
-    <dubbo:reference interface="com.platform.mall.service.CartService" id="cartService" />
-    <dubbo:reference interface="com.platform.mall.service.OrderService" id="orderService" />
-    <dubbo:reference interface="com.platform.mall.service.AddressService" id="addressService" />
-    <dubbo:reference interface="com.platform.mall.service.MemberService" id="memberService" />
-    <dubbo:reference interface="com.platform.mall.service.ThanksService" id="thanksService" />
-
-</beans>

+ 0 - 38
bdp-business/mall-pc-backend/src/main/webapp/WEB-INF/web.xml

@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xmlns="http://java.sun.com/xml/ns/javaee"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         id="WebApp_ID" version="2.5">
-  <display-name>mall-pc-backend</display-name>
-  <!-- 解决post乱码 -->
-  <filter>
-    <filter-name>CharacterEncodingFilter</filter-name>
-    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
-    <init-param>
-      <param-name>encoding</param-name>
-      <param-value>utf-8</param-value>
-    </init-param>
-  </filter>
-  <filter-mapping>
-    <filter-name>CharacterEncodingFilter</filter-name>
-    <url-pattern>/*</url-pattern>
-  </filter-mapping>
-
-  <!-- springmvc的前端控制器 -->
-  <servlet>
-    <servlet-name>mall-pc-front-web</servlet-name>
-    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
-    <!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
-    <init-param>
-      <param-name>contextConfigLocation</param-name>
-      <param-value>classpath:spring/springmvc.xml</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  <!--"/"拦截所有请求-->
-  <servlet-mapping>
-    <servlet-name>mall-pc-front-web</servlet-name>
-    <url-pattern>/</url-pattern>
-  </servlet-mapping>
-
-</web-app>

+ 0 - 242
bdp-business/mall-service/pom.xml

@@ -1,242 +0,0 @@
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.1.9.RELEASE</version>
-        <relativePath/> <!-- lookup parent from repository -->
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>mall-shopping-service</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    <packaging>jar</packaging>
-    <name>mall-shopping-service Maven Webapp</name>
-    <!-- FIXME change it to the project's website -->
-    <url>http://www.example.com</url>
-
-    <dependencies>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.auth0</groupId>
-            <artifactId>java-jwt</artifactId>
-            <version>3.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-spi</artifactId>
-            <version>2.7.0</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-spring-web</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.hibernate.validator</groupId>
-            <artifactId>hibernate-validator</artifactId>
-            <version>6.0.17.Final</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>1.3.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis</artifactId>
-            <version>3.4.5</version>
-        </dependency>
-
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>5.1.44</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid-spring-boot-starter</artifactId>
-            <version>1.1.10</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>1.1.4</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis-spring</artifactId>
-            <version>2.0.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-mail</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-json</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.binarywang</groupId>
-            <artifactId>weixin-java-miniapp</artifactId>
-            <version>3.3.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.qcloudsms</groupId>
-            <artifactId>qcloudsms</artifactId>
-            <version>1.0.5</version>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun.oss</groupId>
-            <artifactId>aliyun-sdk-oss</artifactId>
-            <version>3.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>28.0-jre</version>
-        </dependency>
-        <dependency>
-            <groupId>com.qcloud</groupId>
-            <artifactId>cos_api</artifactId>
-            <version>5.4.4</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>slf4j-log4j12</artifactId>
-                    <groupId>org.slf4j</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.qiniu</groupId>
-            <artifactId>qiniu-java-sdk</artifactId>
-            <version>7.2.25</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.binarywang</groupId>
-            <artifactId>weixin-java-pay</artifactId>
-            <version>3.3.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-api-mockito</artifactId>
-            <version>1.6.6</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-module-junit4</artifactId>
-            <version>2.0.2</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-core</artifactId>
-            <version>5.1.10.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>com.platform</groupId>
-            <artifactId>dubbo-service-interface</artifactId>
-            <version>1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper-spring-boot-starter</artifactId>
-            <version>1.2.5</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper</artifactId>
-            <version>4.1.6</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>dubbo</artifactId>
-            <version>2.6.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>3.4.14</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-framework</artifactId>
-            <version>4.0.1</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <finalName>mall-shopping-service</finalName>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                    <include>**/*.yml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <excludes>
-                        <!-- 设置没有jar包-->
-                        <exclude>
-                            <groupId>com.github.pagehelper</groupId>
-                            <artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
-                        </exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>

+ 0 - 16
bdp-business/mall-service/src/main/resources/conf/dubbo.properties

@@ -1,16 +0,0 @@
-# dubbo \u914D\u7F6E
-dubbo.mall.mobile.app.name=mall-shopping-service
-#zookeeper集群
-#dubbo.mall.registry.address=192.168.172.129:2181,192.168.172.130:2181,192.168.172.131:2181
-#zookeeper单机直连
-dubbo.mall.mobile.registry.address=120.79.159.59:2181
-
-dubbo.mall.mobile.registry.name=zookeeper
-
-#解决dubbo qos默认22222端口占用 start
-mall.mobile.qos.enable=true
-mall.mobile.qos.port=33332
-mall.mobile.qos.accept.foreign.ip=false
-#解决dubbo qos默认22222端口占用 end
-
-

+ 0 - 60
bdp-business/mall-service/src/main/resources/spring/dubbo-mobile-customer.xml

@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
-	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
-	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
-    <context:component-scan base-package="com.platform.mall.core,com.platform.mall.mobile" />
-    <context:property-placeholder location="classpath:conf/*.properties"/>
-
-    <!-- 引用dubbo服务 -->
-    <!--提交.mall前缀避免与dubbo-helper-Impl项目的别名一致导致找不到dubbo配置值-->
-    <dubbo:application name="${dubbo.mall.mobile.app.name}">
-        <dubbo:parameter key="qos.enable" value="${mall.mobile.qos.enable}" />
-        <dubbo:parameter key="qos.accept.foreign.ip" value="${mall.mobile.qos.accept.foreign.ip}" />
-        <dubbo:parameter key="qos.port" value="${mall.mobile.qos.port}" />
-    </dubbo:application>
-    <!--#其他值复用dubbo-helper-Impl项目的值-->
-    <dubbo:registry address="${dubbo.mall.mobile.registry.address}" protocol="${dubbo.mall.mobile.registry.name}"/>
-
-    <!--mobile-->
-   <dubbo:reference interface="com.platform.mall.service.mobile.CouponAssignService" id="couponAssignService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.CouponVerifyService" id="couponVerifyService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallAddressService" id="litemallAddressService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallAdminService" id="litemallAdminService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallAdService" id="litemallAdService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallBrandService" id="litemallBrandService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallCartService" id="litemallCartService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallCategoryService" id="litemallCategoryService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallCollectService" id="litemallCollectService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallCommentService" id="litemallCommentService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallCouponService" id="litemallCouponService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallCouponUserService" id="litemallCouponUserService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallFeedbackService" id="litemallFeedbackService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallFootprintService" id="litemallFootprintService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallGoodsAttributeService" id="litemallGoodsAttributeService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallGoodsProductService" id="litemallGoodsProductService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallGoodsService" id="litemallGoodsService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallGoodsSpecificationService" id="litemallGoodsSpecificationService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallGrouponRulesService" id="litemallGrouponRulesService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallGrouponService" id="litemallGrouponService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallIssueService" id="litemallIssueService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallKeywordService" id="litemallKeywordService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallLogService" id="litemallLogService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallOrderGoodsService" id="litemallOrderGoodsService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallOrderService" id="litemallOrderService" />
-   <dubbo:reference interface="com.platform.mall.service.mobile.LitemallPermissionService" id="litemallPermissionService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallRegionService" id="litemallRegionService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallRoleService" id="litemallRoleService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallSearchHistoryService" id="litemallSearchHistoryService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallStorageService" id="litemallStorageService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallSystemConfigService" id="litemallSystemConfigService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallTopicService" id="litemallTopicService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallUserFormIdService" id="litemallUserFormIdService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.LitemallUserService" id="litemallUserService" />
-    <dubbo:reference interface="com.platform.mall.service.mobile.StatService" id="statService" />
-
-</beans>

+ 0 - 63
bdp-business/mall-service/src/main/resources/spring/dubbo-mobile-customer.xml.backup

@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
-	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
-	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
-    <context:component-scan base-package="com.platform.mall" />
-    <context:property-placeholder location="classpath:conf/*.properties"/>
-
-    <!-- 引用dubbo服务 -->
-    <!--提交.mall前缀避免与dubbo-helper-Impl项目的别名一致导致找不到dubbo配置值-->
-    <dubbo:application name="${dubbo.mall.mobile.app.name}">
-        <dubbo:parameter key="qos.enable" value="${mall.mobile.qos.enable}" />
-        <dubbo:parameter key="qos.accept.foreign.ip" value="${mall.mobile.qos.accept.foreign.ip}" />
-        <dubbo:parameter key="qos.port" value="${mall.mobile.qos.port}" />
-    </dubbo:application>
-    <!--#其他值复用dubbo-helper-Impl项目的值-->
-    <dubbo:registry address="${dubbo.mall.mobile.registry.address}" protocol="${dubbo.mall.mobile.registry.name}"/>
-
-    <!--mobile-->
-   <dubbo:reference interface="CouponAssignService" id="couponAssignService" />
-   <dubbo:reference interface="CouponVerifyService" id="couponVerifyService" />
-   <dubbo:reference interface="GetRegionService" id="getRegionService" />
-   <dubbo:reference interface="LitemallAddressService" id="litemallAddressService" />
-   <dubbo:reference interface="LitemallAdminService" id="litemallAdminService" />
-   <dubbo:reference interface="LitemallAdService" id="litemallAdService" />
-   <dubbo:reference interface="LitemallBrandService" id="litemallBrandService" />
-   <dubbo:reference interface="LitemallCartService" id="litemallCartService" />
-   <dubbo:reference interface="LitemallCategoryService" id="litemallCategoryService" />
-   <dubbo:reference interface="LitemallCollectService" id="litemallCollectService" />
-   <dubbo:reference interface="LitemallCommentService" id="litemallCommentService" />
-   <dubbo:reference interface="LitemallCouponService" id="litemallCouponService" />
-   <dubbo:reference interface="LitemallCouponUserService" id="litemallCouponUserService" />
-   <dubbo:reference interface="LitemallFeedbackService" id="litemallFeedbackService" />
-   <dubbo:reference interface="LitemallFootprintService" id="litemallFootprintService" />
-   <dubbo:reference interface="LitemallGoodsAttributeService" id="litemallGoodsAttributeService" />
-   <dubbo:reference interface="LitemallGoodsProductService" id="litemallGoodsProductService" />
-   <dubbo:reference interface="LitemallGoodsService" id="litemallGoodsService" />
-   <dubbo:reference interface="LitemallGoodsSpecificationService" id="litemallGoodsSpecificationService" />
-    <dubbo:reference interface="LitemallGrouponRulesService" id="litemallGrouponRulesService" />
-   <dubbo:reference interface="LitemallGrouponService" id="litemallGrouponService" />
-   <dubbo:reference interface="LitemallIssueService" id="litemallIssueService" />
-   <dubbo:reference interface="LitemallKeywordService" id="litemallKeywordService" />
-   <dubbo:reference interface="LitemallLogService" id="litemallLogService" />
-   <dubbo:reference interface="LitemallOrderGoodsService" id="litemallOrderGoodsService" />
-   <dubbo:reference interface="LitemallOrderService" id="litemallOrderService" />
-   <dubbo:reference interface="LitemallPermissionService" id="litemallPermissionService" />
-    <dubbo:reference interface="LitemallRegionService" id="litemallRegionService" />
-    <dubbo:reference interface="LitemallRoleService" id="litemallRoleService" />
-    <dubbo:reference interface="LitemallSearchHistoryService" id="litemallSearchHistoryService" />
-    <dubbo:reference interface="LitemallStorageService" id="litemallStorageService" />
-    <dubbo:reference interface="LitemallSystemConfigService" id="litemallSystemConfigService" />
-    <dubbo:reference interface="LitemallTopicService" id="litemallTopicService" />
-    <dubbo:reference interface="LitemallUserFormIdService" id="litemallUserFormIdService" />
-    <dubbo:reference interface="LitemallUserService" id="litemallUserService" />
-    <dubbo:reference interface="StatService" id="statService" />
-    <dubbo:reference interface="UserInfoService" id="userInfoService" />
-    <dubbo:reference interface="WxGrouponRuleService" id="wxGrouponRuleService" />
-
-</beans>

+ 0 - 114
bdp-business/mall-web-backend/.mvn/wrapper/MavenWrapperDownloader.java

@@ -1,114 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  https://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.nio.channels.Channels;
-import java.nio.channels.ReadableByteChannel;
-import java.util.Properties;
-
-public class MavenWrapperDownloader {
-
-    /**
-     * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
-     */
-    private static final String DEFAULT_DOWNLOAD_URL =
-            "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
-
-    /**
-     * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
-     * use instead of the default one.
-     */
-    private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
-            ".mvn/wrapper/maven-wrapper.properties";
-
-    /**
-     * Path where the maven-wrapper.jar will be saved to.
-     */
-    private static final String MAVEN_WRAPPER_JAR_PATH =
-            ".mvn/wrapper/maven-wrapper.jar";
-
-    /**
-     * Name of the property which should be used to override the default download url for the wrapper.
-     */
-    private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
-
-    public static void main(String args[]) {
-        System.out.println("- Downloader started");
-        File baseDirectory = new File(args[0]);
-        System.out.println("- Using mobile directory: " + baseDirectory.getAbsolutePath());
-
-        // If the maven-wrapper.properties exists, read it and check if it contains a custom
-        // wrapperUrl parameter.
-        File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
-        String url = DEFAULT_DOWNLOAD_URL;
-        if (mavenWrapperPropertyFile.exists()) {
-            FileInputStream mavenWrapperPropertyFileInputStream = null;
-            try {
-                mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
-                Properties mavenWrapperProperties = new Properties();
-                mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
-                url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
-            } catch (IOException e) {
-                System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
-            } finally {
-                try {
-                    if (mavenWrapperPropertyFileInputStream != null) {
-                        mavenWrapperPropertyFileInputStream.close();
-                    }
-                } catch (IOException e) {
-                    // Ignore ...
-                }
-            }
-        }
-        System.out.println("- Downloading from: : " + url);
-
-        File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
-        if (!outputFile.getParentFile().exists()) {
-            if (!outputFile.getParentFile().mkdirs()) {
-                System.out.println(
-                        "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
-            }
-        }
-        System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
-        try {
-            downloadFileFromURL(url, outputFile);
-            System.out.println("Done");
-            System.exit(0);
-        } catch (Throwable e) {
-            System.out.println("- Error downloading");
-            e.printStackTrace();
-            System.exit(1);
-        }
-    }
-
-    private static void downloadFileFromURL(String urlString, File destination) throws Exception {
-        URL website = new URL(urlString);
-        ReadableByteChannel rbc;
-        rbc = Channels.newChannel(website.openStream());
-        FileOutputStream fos = new FileOutputStream(destination);
-        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
-        fos.close();
-        rbc.close();
-    }
-
-}

BIN
bdp-business/mall-web-backend/.mvn/wrapper/maven-wrapper.jar


+ 0 - 1
bdp-business/mall-web-backend/.mvn/wrapper/maven-wrapper.properties

@@ -1 +0,0 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip

+ 0 - 135
bdp-business/mall-web-backend/mall-manage/pom.xml

@@ -1,135 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>com.platform</groupId>
-    <artifactId>mall-manage-service</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>mall-manage-service</name>
-    <description>mall-manage-service project for mall</description>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <java.version>1.8</java.version>
-        <skipTests>true</skipTests>
-    </properties>
-
-    <parent>
-        <groupId>com.platform</groupId>
-        <artifactId>mall-admin-service</artifactId>
-        <version>0.0.1-SNAPSHOT</version>
-    </parent>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>1.3.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <version>2.1.9.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-            <version>2.1.9.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-core</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>dubbo</artifactId>
-            <version>2.6.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>3.4.14</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-framework</artifactId>
-            <version>4.0.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.platform</groupId>
-            <artifactId>dubbo-service-interface</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.github.pagehelper</groupId>
-                    <artifactId>pagehelper-spring-boot-starter</artifactId>
-                </exclusion>
-            </exclusions>
-            <version>1.0</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <finalName>mall-manage-service</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-            </plugin>
-            <!--<plugin>-->
-            <!--<groupId>com.spotify</groupId>-->
-            <!--<artifactId>docker-maven-plugin</artifactId>-->
-            <!--<version>1.1.0</version>-->
-            <!--<executions>-->
-            <!--<execution>-->
-            <!--<id>build-image</id>-->
-            <!--<phase>package</phase>-->
-            <!--<goals>-->
-            <!--<goal>build</goal>-->
-            <!--</goals>-->
-            <!--</execution>-->
-            <!--</executions>-->
-            <!--<configuration>-->
-            <!--<imageName>mall/${project.artifactId}:${project.version}</imageName>-->
-            <!--<dockerHost>http://192.168.172.132:2375</dockerHost>-->
-            <!--<baseImage>java:8</baseImage>-->
-            <!--<entryPoint>["java", "-jar", "-Dspring.profiles.active=prod","/${project.build.finalName}.jar"]</entryPoint>-->
-            <!--<resources>-->
-            <!--<resource>-->
-            <!--<targetPath>/</targetPath>-->
-            <!--<directory>${project.build.directory}</directory>-->
-            <!--<include>${project.build.finalName}.jar</include>-->
-            <!--</resource>-->
-            <!--</resources>-->
-            <!--</configuration>-->
-            <!--</plugin>-->
-        </plugins>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                    <include>**/*.yml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-    </build>
-</project>

+ 0 - 16
bdp-business/mall-web-backend/mall-manage/src/main/resources/conf/dubbo.properties

@@ -1,16 +0,0 @@
-# dubbo \u914D\u7F6E
-dubbo.mall.amdin.app.name=mall-admin-service
-#zookeeper集群
-#dubbo.mall.registry.address=192.168.172.129:2181,192.168.172.130:2181,192.168.172.131:2181
-#zookeeper单机直连
-dubbo.mall.registry.address=127.0.0.1:2181
-
-dubbo.mall.registry.name=zookeeper
-
-#解决dubbo qos默认22222端口占用 start
-mall.qos.enable=true
-mall.qos.port=33331
-mall.qos.accept.foreign.ip=false
-#解决dubbo qos默认22222端口占用 end
-
-

+ 0 - 31
bdp-business/mall-web-backend/mall-manage/src/main/resources/logback-spring.xml

@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE configuration>
-<configuration>
-    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
-    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
-    <!--应用名称-->
-    <property name="APP_NAME" value="mall-manage-service"/>
-    <!--日志文件保存路径-->
-    <property name="LOG_FILE_PATH" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/logs}"/>
-    <contextName>${APP_NAME}</contextName>
-    <!--每天记录日志到文件appender-->
-    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${LOG_FILE_PATH}/${APP_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern>
-            <maxHistory>30</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${FILE_LOG_PATTERN}</pattern>
-        </encoder>
-    </appender>
-    <!--输出到logstash的appender-->
-    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
-        <destination>localhost:9600</destination>
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
-    </appender>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="LOGSTASH"/>
-    </root>
-</configuration>

+ 0 - 60
bdp-business/mall-web-backend/mall-manage/src/main/resources/spring/dubbo-manage-customer.xml

@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
-	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
-	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
-    <context:component-scan base-package="com.platform" />
-    <context:property-placeholder location="classpath:conf/*.properties"/>
-
-    <!-- 连接redis单机版 -->
-    <bean id="jedisClientPool" class="com.platform.mall.jedis.JedisClientPool">
-        <property name="jedisPool" ref="jedisPool"></property>
-    </bean>
-    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
-        <constructor-arg name="host" value="127.0.0.1"/>
-        <constructor-arg name="port" value="6379"/>
-    </bean>
-
-    <!-- 引用dubbo服务 -->
-    <!--提交.mall前缀避免与dubbo-helper-Impl项目的别名一致导致找不到dubbo配置值-->
-    <dubbo:application name="${dubbo.mall.amdin.app.name}">
-        <dubbo:parameter key="qos.enable" value="${mall.qos.enable}" />
-        <dubbo:parameter key="qos.accept.foreign.ip" value="${mall.qos.accept.foreign.ip}" />
-        <dubbo:parameter key="qos.port" value="${mall.qos.port}" />
-    </dubbo:application>
-    <!--#其他值复用dubbo-helper-Impl项目的值-->
-    <dubbo:registry address="${dubbo.mall.registry.address}" protocol="${dubbo.mall.registry.name}"/>
-
-    <!--admin-->
-   <dubbo:reference interface="com.platform.mall.service.admin.CmsPrefrenceAreaService" id="cmsPrefrenceAreaService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.CmsSubjectService" id="cmsSubjectService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.OmsCompanyAddressService" id="omsCompanyAddressService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.OmsOrderReturnApplyService" id="omsOrderReturnApplyService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.OmsOrderReturnReasonService" id="omsOrderReturnReasonService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.OmsOrderService" id="omsOrderService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.OmsOrderSettingService" id="omsOrderSettingService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.PmsBrandService" id="pmsBrandService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.PmsProductAttributeCategoryService" id="pmsProductAttributeCategoryService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.PmsProductAttributeService" id="pmsProductAttributeService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.PmsProductCategoryService" id="pmsProductCategoryService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.PmsProductService" id="pmsProductService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.PmsSkuStockService" id="pmsSkuStockService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsCouponHistoryService" id="smsCouponHistoryService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsCouponService" id="smsCouponService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsFlashPromotionProductRelationService" id="smsFlashPromotionProductRelationService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsFlashPromotionService" id="smsFlashPromotionService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsFlashPromotionSessionService" id="smsFlashPromotionSessionService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsHomeAdvertiseService" id="smsHomeAdvertiseService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsHomeBrandService" id="smsHomeBrandService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsHomeNewProductService" id="smsHomeNewProductService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsHomeRecommendProductService" id="smsHomeRecommendProductService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.SmsHomeRecommendSubjectService" id="smsHomeRecommendSubjectService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.UmsMemberLevelService" id="umsMemberLevelService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.UmsPermissionService" id="umsPermissionService" />
-   <dubbo:reference interface="com.platform.mall.service.admin.UmsRoleService" id="umsRoleServiceImpl" />
-
-</beans>

BIN
bdp-business/mall-web-backend/mall-search/.mvn/wrapper/maven-wrapper.jar


+ 0 - 0
bdp-business/mall-web-backend/mall-search/.mvn/wrapper/maven-wrapper.properties


Some files were not shown because too many files changed in this diff