yaoyq 4 роки тому
коміт
71879a9c91
100 змінених файлів з 820 додано та 0 видалено
  1. 6 0
      .idea/$CACHE_FILE$
  2. 8 0
      .idea/.gitignore
  3. 9 0
      .idea/misc.xml
  4. 8 0
      .idea/modules.xml
  5. 6 0
      .idea/vcs.xml
  6. 9 0
      .idea/yunjian-admin-fe.iml
  7. 14 0
      imcs-tenant-admin/.editorconfig
  8. 21 0
      imcs-tenant-admin/.env - 副本.production
  9. 22 0
      imcs-tenant-admin/.env.boot
  10. 31 0
      imcs-tenant-admin/.env.development
  11. 28 0
      imcs-tenant-admin/.env.docker
  12. 21 0
      imcs-tenant-admin/.env.production
  13. 8 0
      imcs-tenant-admin/.env.staging
  14. 4 0
      imcs-tenant-admin/.eslintignore
  15. 19 0
      imcs-tenant-admin/.eslintrc.js
  16. 26 0
      imcs-tenant-admin/.gitignore
  17. 37 0
      imcs-tenant-admin/.project
  18. 5 0
      imcs-tenant-admin/.travis.yml
  19. 9 0
      imcs-tenant-admin/Dockerfile
  20. 201 0
      imcs-tenant-admin/LICENSE
  21. 266 0
      imcs-tenant-admin/README.md
  22. 5 0
      imcs-tenant-admin/babel.config.js
  23. 5 0
      imcs-tenant-admin/build.sh
  24. 35 0
      imcs-tenant-admin/build/index.js
  25. BIN
      imcs-tenant-admin/image/1000star.png
  26. BIN
      imcs-tenant-admin/image/qq群.png
  27. BIN
      imcs-tenant-admin/image/捐赠.png
  28. BIN
      imcs-tenant-admin/image/监控界面/sba-1.png
  29. BIN
      imcs-tenant-admin/image/监控界面/sba-2.png
  30. BIN
      imcs-tenant-admin/image/监控界面/sba-3.png
  31. BIN
      imcs-tenant-admin/image/监控界面/sba.png
  32. BIN
      imcs-tenant-admin/image/监控界面/zipkin.png
  33. BIN
      imcs-tenant-admin/image/项目相关/admin-api.png
  34. BIN
      imcs-tenant-admin/image/项目相关/swagger获取token.jpg
  35. BIN
      imcs-tenant-admin/image/项目相关/zuihou-jobs-server.png
  36. BIN
      imcs-tenant-admin/image/项目相关/开发&运营后台预览.png
  37. BIN
      imcs-tenant-admin/image/项目相关/架构图.png
  38. BIN
      imcs-tenant-admin/image/项目相关/租户后台预览.png
  39. BIN
      imcs-tenant-admin/imcs/favicon.ico
  40. 6 0
      imcs-tenant-admin/imcs/index.html
  41. 0 0
      imcs-tenant-admin/imcs/static/css/app.a8e66800.css
  42. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-0309cad2.33bb3658.css
  43. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-0c905f96.9201dcb3.css
  44. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-1ef02306.e5b00a30.css
  45. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-236c9fb6.5d1a2b0c.css
  46. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-27af361c.e9c0c8ef.css
  47. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-31ecb73d.01e9de77.css
  48. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-3ccc51dc.efce21a2.css
  49. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-40220982.ff198ec5.css
  50. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-48e838f2.79d6dedc.css
  51. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-56b37b26.5f0cd5bd.css
  52. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-643f46bc.9e44559b.css
  53. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-67d114af.8aac3073.css
  54. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-6eb9d894.d7c5e8d7.css
  55. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-7b271112.8ace7b12.css
  56. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-7e697b7c.4bfc5ae7.css
  57. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-8d0283c0.ff7e8682.css
  58. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-a2c21ccc.6c14912e.css
  59. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-c67ca156.535ba375.css
  60. 1 0
      imcs-tenant-admin/imcs/static/css/chunk-commons.39808244.css
  61. 0 0
      imcs-tenant-admin/imcs/static/css/chunk-libs.5cf311f0.css
  62. BIN
      imcs-tenant-admin/imcs/static/fonts/element-icons.535877f5.woff
  63. BIN
      imcs-tenant-admin/imcs/static/fonts/element-icons.732389de.ttf
  64. BIN
      imcs-tenant-admin/imcs/static/img/17e420c250804efe904a09a33796d5a10.29081190.jpg
  65. BIN
      imcs-tenant-admin/imcs/static/img/17e420c250804efe904a09a33796d5a16.7fbeb6cc.jpg
  66. BIN
      imcs-tenant-admin/imcs/static/img/19034103295190235.32713499.jpg
  67. BIN
      imcs-tenant-admin/imcs/static/img/1d22f3e41d284f50b2c8fc32e0788698.e7137955.jpeg
  68. BIN
      imcs-tenant-admin/imcs/static/img/20180414165754.6fceaa80.jpg
  69. BIN
      imcs-tenant-admin/imcs/static/img/20180414165815.15139bd3.jpg
  70. BIN
      imcs-tenant-admin/imcs/static/img/20180414165821.d0bd77c4.jpg
  71. BIN
      imcs-tenant-admin/imcs/static/img/20180414165827.5ff2d871.jpg
  72. BIN
      imcs-tenant-admin/imcs/static/img/20180414165834.2008e566.jpg
  73. BIN
      imcs-tenant-admin/imcs/static/img/20180414165840.107d6289.jpg
  74. BIN
      imcs-tenant-admin/imcs/static/img/20180414165846.a0a77a87.jpg
  75. BIN
      imcs-tenant-admin/imcs/static/img/20180414165855.6dee59da.jpg
  76. BIN
      imcs-tenant-admin/imcs/static/img/20180414165909.8eee3edf.jpg
  77. BIN
      imcs-tenant-admin/imcs/static/img/20180414165914.bbc74627.jpg
  78. BIN
      imcs-tenant-admin/imcs/static/img/20180414165920.34479a37.jpg
  79. BIN
      imcs-tenant-admin/imcs/static/img/20180414165927.0072e8f3.jpg
  80. BIN
      imcs-tenant-admin/imcs/static/img/20180414165936.d159905f.jpg
  81. BIN
      imcs-tenant-admin/imcs/static/img/20180414165942.f3d935fe.jpg
  82. BIN
      imcs-tenant-admin/imcs/static/img/20180414165947.560e443c.jpg
  83. BIN
      imcs-tenant-admin/imcs/static/img/20180414165955.b0f83efe.jpg
  84. BIN
      imcs-tenant-admin/imcs/static/img/20180414170003.ac0bc33c.jpg
  85. BIN
      imcs-tenant-admin/imcs/static/img/2dd7a2d09fa94bf8b5c52e5318868b4d9.eb7eb7a2.jpg
  86. BIN
      imcs-tenant-admin/imcs/static/img/2dd7a2d09fa94bf8b5c52e5318868b4df.69c8d31a.jpg
  87. BIN
      imcs-tenant-admin/imcs/static/img/401.089007e7.gif
  88. BIN
      imcs-tenant-admin/imcs/static/img/404.a57b6f31.png
  89. BIN
      imcs-tenant-admin/imcs/static/img/404_cloud.0f4bc32b.png
  90. BIN
      imcs-tenant-admin/imcs/static/img/404_image.db638609.jpeg
  91. BIN
      imcs-tenant-admin/imcs/static/img/496b3ace787342f7954b7045b8b06804.6862ad72.jpeg
  92. BIN
      imcs-tenant-admin/imcs/static/img/595ba7b05f2e485eb50565a50cb6cc3c.90fd22fd.jpeg
  93. BIN
      imcs-tenant-admin/imcs/static/img/5997fedcc7bd4cffbd350b40d1b5b9824.dbde56ac.jpg
  94. BIN
      imcs-tenant-admin/imcs/static/img/5997fedcc7bd4cffbd350b40d1b5b987.5b5e21eb.jpg
  95. BIN
      imcs-tenant-admin/imcs/static/img/87d8194bc9834e9f8f0228e9e530beb1.cfc91f73.jpeg
  96. BIN
      imcs-tenant-admin/imcs/static/img/8f5b60ef00714a399ee544d331231820.852dafa9.jpeg
  97. BIN
      imcs-tenant-admin/imcs/static/img/964e40b005724165b8cf772355796c8c.bfb030c2.jpeg
  98. BIN
      imcs-tenant-admin/imcs/static/img/BiazfanxmamNRoxxVxka.fda3837f.png
  99. BIN
      imcs-tenant-admin/imcs/static/img/WhxKECPNujWoWEFNdnJE.4e81901b.png
  100. BIN
      imcs-tenant-admin/imcs/static/img/a3b10296862e40edb811418d64455d00.61eb0186.jpeg

+ 6 - 0
.idea/$CACHE_FILE$

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="NodePackageJsonFileManager">
+    <packageJsonPaths />
+  </component>
+</project>

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/

+ 9 - 0
.idea/misc.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="JavaScriptSettings">
+    <option name="languageLevel" value="ES6" />
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/yunjian-admin-fe.iml" filepath="$PROJECT_DIR$/.idea/yunjian-admin-fe.iml" />
+    </modules>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>

+ 9 - 0
.idea/yunjian-admin-fe.iml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 14 - 0
imcs-tenant-admin/.editorconfig

@@ -0,0 +1,14 @@
+# https://editorconfig.org
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+indent_size = 2
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+insert_final_newline = false
+trim_trailing_whitespace = false

+ 21 - 0
imcs-tenant-admin/.env - 副本.production

@@ -0,0 +1,21 @@
+# just a flag
+ENV = 'production'
+
+VUE_APP_PROJECT_NAME = 'imcs'
+# 开发环境请求域名前缀, 该变量仅仅开发环境需要设置
+VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://106.15.38.8:10000'
+# 请求域名前缀, 该变量仅仅生产环境需要设置
+VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = 'http://106.15.38.8:10000'
+
+# base api
+VUE_APP_BASE_API = '/api'
+# 是否启用多租户
+VUE_APP_IS_MULTI_TENANT = true
+# 是否启用验证码
+VUE_APP_IS_CAPTCHA = true
+# 客户端秘钥
+VUE_APP_CLIENT_ID=zuihou_ui
+VUE_APP_CLIENT_SECRET=zuihou_ui_secret
+
+# 是否启用验证码
+VUE_APP_IS_CAPTCHA = true

+ 22 - 0
imcs-tenant-admin/.env.boot

@@ -0,0 +1,22 @@
+NODE_ENV = production
+
+# just a flag
+ENV = 'boot'
+
+
+VUE_APP_PROJECT_NAME = 'IMCS互联平台'
+# 开发环境请求域名前缀, 该变量仅仅开发环境需要设置
+VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://42.202.130.216:10000'
+# 请求域名前缀, 该变量仅仅生产环境需要设置
+VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = 'http://42.202.130.216:10000'
+# 是否启用多租户
+VUE_APP_IS_MULTI_TENANT = true
+# 是否启用验证码
+VUE_APP_IS_CAPTCHA = true
+# 客户端秘钥
+VUE_APP_CLIENT_ID=zuihou_ui
+VUE_APP_CLIENT_SECRET=zuihou_ui_secret
+
+# base api
+VUE_APP_BASE_API = '/api'
+

+ 31 - 0
imcs-tenant-admin/.env.development

@@ -0,0 +1,31 @@
+# just a flag
+ENV = 'development'
+
+VUE_APP_PROJECT_NAME = 'IMCS互联平台'
+
+# SpringCloud项目使用这个 开发环境请求域名前缀, 该变量仅仅开发环境需要设置
+VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://localhost:8764'
+#VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://tangyh.top:10000'
+# SpringBoot 项目使用这个
+#VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://127.0.0.1:8764'
+
+# 请求域名前缀, 该变量仅仅生产环境需要设置
+VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = ''
+# URI 前缀,用于根据URI前缀进行代理
+VUE_APP_BASE_API = '/api'
+# 是否启用多租户
+VUE_APP_IS_MULTI_TENANT = true
+# 是否启用验证码
+VUE_APP_IS_CAPTCHA = true
+# 客户端秘钥
+VUE_APP_CLIENT_ID=zuihou_ui
+VUE_APP_CLIENT_SECRET=zuihou_ui_secret
+
+# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
+# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
+# It only does one thing by converting all import() to require().
+# This configuration can significantly increase the speed of hot updates,
+# when you have a large number of pages.
+# Detail:  https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
+
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 28 - 0
imcs-tenant-admin/.env.docker

@@ -0,0 +1,28 @@
+NODE_ENV = production
+
+# just a flag
+ENV = 'docker'
+
+VUE_APP_PROJECT_NAME = 'IMCS互联平台'
+# 开发环境请求域名前缀, 该变量仅仅开发环境需要设置
+VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://tangyh.top:10000'
+# 请求域名前缀, 该变量仅仅生产环境需要设置
+VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = ''
+# URI 前缀,用于根据URI前缀进行代理
+VUE_APP_BASE_API = '/api'
+# 是否启用多租户
+VUE_APP_IS_MULTI_TENANT = true
+# 是否启用验证码
+VUE_APP_IS_CAPTCHA = true
+# 客户端秘钥
+VUE_APP_CLIENT_ID=zuihou_ui
+VUE_APP_CLIENT_SECRET=zuihou_ui_secret
+
+# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
+# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
+# It only does one thing by converting all import() to require().
+# This configuration can significantly increase the speed of hot updates,
+# when you have a large number of pages.
+# Detail:  https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
+
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 21 - 0
imcs-tenant-admin/.env.production

@@ -0,0 +1,21 @@
+# just a flag
+ENV = 'production'
+
+VUE_APP_PROJECT_NAME = 'imcs'
+# 开发环境请求域名前缀, 该变量仅仅开发环境需要设置
+VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://106.14.142.95:10000'
+# 请求域名前缀, 该变量仅仅生产环境需要设置
+VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = 'http://106.14.142.95:10000'
+
+# base api
+VUE_APP_BASE_API = '/api'
+# 是否启用多租户
+VUE_APP_IS_MULTI_TENANT = true
+# 是否启用验证码
+VUE_APP_IS_CAPTCHA = true
+# 客户端秘钥
+VUE_APP_CLIENT_ID=zuihou_ui
+VUE_APP_CLIENT_SECRET=zuihou_ui_secret
+
+# 是否启用验证码
+VUE_APP_IS_CAPTCHA = true

+ 8 - 0
imcs-tenant-admin/.env.staging

@@ -0,0 +1,8 @@
+NODE_ENV = production
+
+# just a flag
+ENV = 'staging'
+
+# base api
+VUE_APP_BASE_API = '/stage-api'
+

+ 4 - 0
imcs-tenant-admin/.eslintignore

@@ -0,0 +1,4 @@
+build/*.js
+src/assets
+public
+dist

+ 19 - 0
imcs-tenant-admin/.eslintrc.js

@@ -0,0 +1,19 @@
+module.exports = {
+  root: true,
+  env: {
+    browser: true,
+    node: true,
+    es6: true
+  },
+  'extends': [
+    'plugin:vue/essential', 'plugin:vue/recommended', 'eslint:recommended'
+  ],
+  rules: {
+    // 还可以写表达式,厉害了~
+    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+  },
+  parserOptions: {
+    parser: 'babel-eslint'
+  }
+}

+ 26 - 0
imcs-tenant-admin/.gitignore

@@ -0,0 +1,26 @@
+.DS_Store
+node_modules/
+dist/
+zuihou-ui/
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+**/*.log
+
+tests/**/coverage/
+tests/e2e/reports
+selenium-debug.log
+
+# Editor directories and files
+.idea
+.history/
+*.iml
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.local
+
+package-lock.json
+yarn.lock

+ 37 - 0
imcs-tenant-admin/.project

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>zuihou-ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.aptana.ide.core.unifiedBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.aptana.projects.webnature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1598603276052</id>
+			<name></name>
+			<type>26</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-node_modules</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1602205335789</id>
+			<name></name>
+			<type>26</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-node_modules</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>

+ 5 - 0
imcs-tenant-admin/.travis.yml

@@ -0,0 +1,5 @@
+language: node_js
+node_js: 10
+script: npm run test
+notifications:
+  email: false

+ 9 - 0
imcs-tenant-admin/Dockerfile

@@ -0,0 +1,9 @@
+FROM nginx:1.17.0
+MAINTAINER zuihou 244387066@qq.com
+
+COPY nginx.template /etc/nginx/conf.d/nginx.template
+COPY zuihou-ui/ /etc/nginx/html
+
+# 通过 envsubst 命令替换 nginx.template 模板中的变量,并覆盖/etc/nginx/nginx.conf 
+CMD envsubst '$NGINX_HOST $DOCKER_REQUEST_DOMAIN_PREFIX' < /etc/nginx/conf.d/nginx.template > /etc/nginx/nginx.conf && nginx -g 'daemon off;'
+

+ 201 - 0
imcs-tenant-admin/LICENSE

@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [2019-2020] [zuihou]
+
+   Licensed 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
+
+       http://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.

+ 266 - 0
imcs-tenant-admin/README.md

@@ -0,0 +1,266 @@
+### zuihou-ui
+
+zuihou-ui 是[zuihou-admin-cloud](https://github.com/zuihou/zuihou-admin-cloud)微服务权限系统的 `租户后台`,基于[vue element admin](https://panjiachen.github.io/vue-element-admin-site/zh/)构建。
+
+所谓`租户后台`,即是给租户(客户)使用,而`开发&运营后台`则是给使用此框架的公司内部人员维护项目使用。
+
+## 如果您觉得有帮助,请点右上角 "Star" 支持一下,谢谢!!
+
+## 详细文档: https://www.kancloud.cn/zuihou/zuihou-admin-cloud
+
+http://doc.tangyh.top/zuihou-admin-cloud
+
+    ps: gitee捐献 或者 二维码打赏(本页最下方): 45元及以上 备注邮箱,可得开发文档一份(支持后续更新) (比看云的价格便宜哦)
+
+## 交流群: 63202894
+
+![qq群.png](image/qq群.png) <a target="_blank" href="http://shang.qq.com/wpa/qunwpa?idkey=489800b9d07d017fa0b5104608a4bf755f1f38276b79f0ac5e6225d0d9897efb"><img border="0" src="http://pub.idqqimg.com/wpa/images/group.png" alt="zuihou-admin-cloud 交流" title="zuihou-admin-cloud 交流"></a>
+
+    加群前请先将下方项目点star,支持下群主,谢谢😘
+
+## 项目代码地址
+
+微服务后端 代码:
+
+| 项目          | gitee                                          | github                                       |
+| ------------- | ---------------------------------------------- | -------------------------------------------- |
+| 微服务项目    | https://gitee.com/zuihou111/zuihou-admin-cloud | https://github.com/zuihou/zuihou-admin-cloud |
+| 单体项目      | https://gitee.com/zuihou111/zuihou-admin-boot  | https://github.com/zuihou/zuihou-admin-boot  |
+| 租户后台      | https://gitee.com/zuihou111/zuihou-ui          | https://github.com/zuihou/zuihou-ui          |
+| 开发&运营后台 | https://gitee.com/zuihou111/zuihou-admin-ui    | https://github.com/zuihou/zuihou-admin-ui    |
+| 代码生成器    | 无                                             | https://github.com/zuihou/zuihou-generator   |
+
+## 演示地址
+
+| 项目          | 演示地址                               | 管理员账号       | 普通账号   |
+| ------------- | -------------------------------------- | ---------------- | ---------- |
+| 租户后台      | http://tangyh.top:10000/zuihou-ui/     | zuihou/zuihou    | test/zuiou |
+| 开发&运营后台 | http://tangyh.top:180/zuihou-admin-ui/ | demoAdmin/zuihou | 无         |
+
+> 演示环境中内置租户没有写入权限,若要在演示环境测试增删改,请到`开发&运营后台`自行创建租户后测试
+
+```
+租户后台 和 开发&运营后台 2者之间的关系是什么?
+A公司 使用这套SaaS脚手架二次开发了一个OA或者商城, B和C公司想使用A公司开发的这套系统,但土豪公司B有钱想要个性化功能,C公司是个穷逼,不愿意多花钱>
+于是,A公司就在 zuihou-admin-ui(开发&运营后台) 上新建了 租户B 和租户C, 并各自新建了账号b1和账号c1, 分别给B公司和C公司 试用,
+B公司和C公司分别拿着账号, 在 zuihou-ui(租户后台) 上试用, 试用很满意,但土豪B公司先要定制功能, 就跟A公司签了一个500W的定制大单,并要求独立部署在他们自己的服务器
+穷逼C公司没钱, 就花了20W使用A公司部署的云环境, 服务器和数据等都存在A公司的云服务器上。
+```
+
+## zuihou-admin-boot 演示地址
+
+| 项目          | 演示地址                                       | 管理员账号       | 普通账号   |
+| ------------- | ---------------------------------------------- | ---------------- | ---------- |
+| 租户后台      | http://42.202.130.216:10000/zuihou-ui          | zuihou/zuihou    | test/zuiou |
+| 开发&运营后台 | http://42.202.130.216:10000/zuihou-admin-ui    | demoAdmin/zuihou | 无         |
+| swagger 文档  | http://42.202.130.216:10000/api/gate/doc.html  | 无               | 无         |
+| 定时任务      | http://42.202.130.216:10000/zuihou-jobs-server | zuihou/zuihou    | 无         |
+
+## 项目截图:
+
+| 预览                                                   | 预览                                                   |
+| ------------------------------------------------------ | ------------------------------------------------------ |
+| ![SBA监控.png](image/项目相关/开发%26运营后台预览.png) | ![SBA监控.png](image/项目相关/租户后台预览.png)        |
+| ![SBA监控.png](image/监控界面/sba.png)                 | ![SBA监控.png](image/监控界面/zipkin.png)              |
+| ![swagger.png](image/项目相关/swagger获取token.jpg)    | ![admin-api.png](image/项目相关/admin-api.png)         |
+| ![SBA监控.png](image/1000star.png)                     | ![定时任务.png](image/项目相关/zuihou-jobs-server.png) |
+
+## 技术栈
+
+- Vue
+- ES6
+- Webpack
+- Vue-cli
+- Vue-router
+- Vuex
+- Axios
+- Element-UI
+- ECharts
+
+## 功能点介绍:
+
+- **服务注册&发现与调用:**
+
+基于 Nacos 来实现的服务注册与发现,使用使用 Feign 来实现服务互调, 可以做到使用 HTTP 请求远程调用时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个 HTTP 请求。
+
+- **服务鉴权:**
+
+通过 JWT 的方式来加强服务之间调度的权限验证,保证内部服务的安全性。
+
+- **负载均衡:**
+
+将服务保留的 rest 进行代理和网关控制,除了平常经常使用的 node.js、nginx 外,Spring Cloud 系列的 zuul 和 rebbion,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于 JWT 的 Zuul 限流插件,方面进行限流。
+
+- **熔断机制:**
+
+因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了 Hystrix 的作为熔断器,避免了服务之间的“雪崩”。
+
+- **监控:**
+
+利用 Spring Boot Admin 来监控各个独立 Service 的运行状态;利用 turbine 来实时查看接口的运行状态和调用频率;通过 Zipkin 来查看各个服务之间的调用链等。
+
+- **数据权限**
+
+利用基于 Mybatis 的 DataScopeInterceptor 拦截器实现了简单的数据权限
+
+- **SaaS 的无感解决方案**
+
+使用 Mybatis 拦截器实现对所有 SQL 的拦截,修改默认的 Schema,从而实现多租户数据隔离的目的。
+
+- **二级缓存**
+
+采用 J2Cache 操作缓存,第一级缓存使用内存(Caffeine),第二级缓存使用 Redis。 由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。
+该缓存框架主要用于集群环境中。单机也可使用,用于避免应用重启导致的缓存冷启动后对后端业务的冲击。
+
+- **优雅的 Bean 转换**
+
+采用 Dozer 组件来对 DTO、DO、PO 等对象的优化转换
+
+- **前后端统一表单验证**
+
+严谨的表单验证通常需要 前端+后端同时验证, 但传统的项目,均只能前后端各做一次检验, 后期规则变更,又得前后端同时修改。
+故在`hibernate-validator`的基础上封装了`zuihou-validator-starter`起步依赖,提供一个通用接口,可以获取需要校验表单的规则,然后前端使用后端返回的规则,
+以后若规则改变,只需要后端修改即可。
+
+- **防跨站脚本攻击(XSS)**
+- **当前用户信息注入器**
+- **在线 API**
+
+由于原生 swagger-ui 某些功能支持不够友好,故采用了国内开源的`swagger-bootstrap-ui`,并制作了 stater,方便 springboot 用户使用。
+
+- **代码生成器**
+
+基于 Mybatis-plus-generator 自定义了一套代码生成器, 通过配置数据库字段的注释,自动生成枚举类、数据字典注解、SaveDTO、UpdateDTO、表单验证规则注解、Swagger 注解等。
+
+- **定时任务调度器**:
+
+基于 xxl-jobs 进行了功能增强。(如:指定时间发送任务、执行器和调度器合并项目、多数据源)
+
+- **大文件/断点/分片续传**
+
+前端采用 webupload.js、后端采用 NIO 实现了大文件断点分片续传,启动 Eureka、Zuul、File 服务后,直接打开 docs/chunkUploadDemo/demo.html 即可进行测试。
+经测试,本地限制堆栈最大内存 128M 启动 File 服务,5 分钟内能成功上传 4.6G+的大文件,正式服耗时则会受到用户带宽和服务器带宽的影响,时间比较长。
+
+- **分布式事务**  
+  集成了阿里的分布式事务中间件:seata,以 **高效** 并且对业务 **0 侵入** 的方式,解决 微服务 场景下面临的分布式事务问题。
+
+## 版本参考,
+
+ps: 理论上: node 大于 8.10.x 就行,但最好当前比较新的稳定版 10.x.x 11.x.x 12.x.x
+
+```
+node -v
+v10.16.3
+
+npm -v
+6.9.0
+
+cnpm -v
+cnpm@6.1.0 (/usr/local/lib/node_modules/cnpm/lib/parse_argv.js)
+npm@6.11.3 (/usr/local/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
+node@10.16.3 (/usr/local/bin/node)
+npminstall@3.23.0 (/usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
+prefix=/usr/local
+darwin x64 17.5.0
+registry=https://r.npm.taobao.org
+
+```
+
+## 适当修改配置
+
+由于本项目为了同时支持 zuihou-admin-cloud 和 zuihou-admin-boot 2 个项目,但前者由于多了一个网关服务,所以在请求 URI 上比后者多了一段 网关的 URI,
+(比如,同样是获取验证码的接口, 在者的地址:/api/authority/anno/captcha, 后者:/anno/captcha)
+所以想要前端项目尽可能少的改动代码,需要通过 nginx 或者 vue 的 uri 代理功能(但 uri 代理只能在开发环境使用)
+
+- 使用 nginx 请在群公告下载后直接使用
+- 使用 vue 自带的代理功能需要修改一下 前端项目的配置文件
+
+1. vue.config.js
+
+```
+    proxy: {
+      [proxyUrl]: {
+        target: targetUrl,
+        changeOrigin: true,
+        pathRewrite: {
+          // SpringCloud 项目使用这段配置
+          // ['^' + proxyUrl]: proxyUrl
+
+          // SpringBoot 项目 请使用以下的配置
+          ['^/api/authority']: '/',
+          ['^/api/file']: '/',
+          ['^/api/msgs']: '/',
+          ['^/api/gate']: '/',
+        }
+      }
+    }
+```
+
+2. .env.development
+
+```
+# SpringCloud项目使用这个地址
+# VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://127.0.0.1:8760'
+
+# SpringBoot 项目使用这个地址
+VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://127.0.0.1:8764'
+
+```
+
+## 安装
+
+```
+npm install --registry=https://registry.npm.taobao.org
+
+上面的命令报错?就逐个试试以下命令:
+
+npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
+
+git config --global url."https://".insteadOf git://
+
+npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
+
+cnpm install core-js@2.6.9 --prefix G:\github\zuihou-ui
+
+cnpm install core-js@2.6.9 
+
+还不行? 就用淘宝镜像吧...
+
+# 安装cnpm
+npm install -g cnpm --registry=https://registry.npm.taobao.org
+
+
+cnpm install --registry=https://registry.npm.taobao.org
+```
+
+### 本地开发环境运行
+
+```
+npm run dev
+```
+
+### 访问:http://localhost:8080/
+
+### 生产环境运行
+
+```
+npm run build:prod
+```
+
+## 期待您的加入:
+
+    1,前端  (求一个会前端的大神带飞,重构整个前端项目)
+    2,土豪哥哥(求赞助服务器)
+
+## 如何贡献代码
+
+    1,Fork
+    2,修改代码后提交pr
+    3,等待合并
+    4,合并超过5次的朋友,直接拉为项目开发者
+
+## 求助:
+
+由于本人前端技能特别水,在做这 2 个前端项目时,都是边学边写,所以前端的 bug 较多,代码写的也不规范,导致 eslint 报了很多警告,
+若你会前端(vue)的或者知道怎么设置 vscode 的格式化规则或者知道怎么设置.eslint 配置的规则,欢迎提交 pr 或者进 qq 群指导一下群主。
+本人感激不尽,并赠送后端文档(https://kancloud.cn/zuihou/zuihou-admin-cloud)一份,且提供zuihou-admin-cloud项目的任何支持(启动运行,报错,二次开发,部署等)。

+ 5 - 0
imcs-tenant-admin/babel.config.js

@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/app'
+  ]
+}

+ 5 - 0
imcs-tenant-admin/build.sh

@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+cnpm install
+npm run build:docker
+
+docker build -t zuihou-ui .

+ 35 - 0
imcs-tenant-admin/build/index.js

@@ -0,0 +1,35 @@
+const { run } = require('runjs')
+const chalk = require('chalk')
+const config = require('../vue.config.js')
+const rawArgv = process.argv.slice(2)
+const args = rawArgv.join(' ')
+
+if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
+  const report = rawArgv.includes('--report')
+
+  run(`vue-cli-service build ${args}`)
+
+  const port = 9526
+  const publicPath = config.publicPath
+
+  var connect = require('connect')
+  var serveStatic = require('serve-static')
+  const app = connect()
+
+  app.use(
+    publicPath,
+    serveStatic('./dist', {
+      index: ['index.html', '/']
+    })
+  )
+
+  app.listen(port, function () {
+    console.log(chalk.green(`> Preview at  http://localhost:${port}${publicPath}`))
+    if (report) {
+      console.log(chalk.green(`> Report at  http://localhost:${port}${publicPath}report.html`))
+    }
+
+  })
+} else {
+  run(`vue-cli-service build ${args}`)
+}

BIN
imcs-tenant-admin/image/1000star.png


BIN
imcs-tenant-admin/image/qq群.png


BIN
imcs-tenant-admin/image/捐赠.png


BIN
imcs-tenant-admin/image/监控界面/sba-1.png


BIN
imcs-tenant-admin/image/监控界面/sba-2.png


BIN
imcs-tenant-admin/image/监控界面/sba-3.png


BIN
imcs-tenant-admin/image/监控界面/sba.png


BIN
imcs-tenant-admin/image/监控界面/zipkin.png


BIN
imcs-tenant-admin/image/项目相关/admin-api.png


BIN
imcs-tenant-admin/image/项目相关/swagger获取token.jpg


BIN
imcs-tenant-admin/image/项目相关/zuihou-jobs-server.png


BIN
imcs-tenant-admin/image/项目相关/开发&运营后台预览.png


BIN
imcs-tenant-admin/image/项目相关/架构图.png


BIN
imcs-tenant-admin/image/项目相关/租户后台预览.png


BIN
imcs-tenant-admin/imcs/favicon.ico


Різницю між файлами не показано, бо вона завелика
+ 6 - 0
imcs-tenant-admin/imcs/index.html


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/app.a8e66800.css


+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-0309cad2.33bb3658.css

@@ -0,0 +1 @@
+.avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload:hover{border-color:#409eff}.avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}.avatar{width:100px;height:100px;display:block}.tenant-view .img-wrapper[data-v-08c373c2]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-08c373c2]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-08c373c2]{margin:7px}.tenant-view .view-item i[data-v-08c373c2]{font-size:.97rem}.tenant-view .view-item span[data-v-08c373c2]{margin-left:5px}.box-card{display:inline-block;position:relative;margin-right:20px}.box-card .el-card__header{padding:10px 20px}.box-card .el-card__body{padding:20px 20px 40px;min-height:150px}h2[data-v-7fb3b4f0]{margin:0}.miaoshuCls[data-v-7fb3b4f0]{font-size:14px;font-weight:400;margin-left:20px}.box-card[data-v-7fb3b4f0]{vertical-align:top;width:350px;margin-bottom:20px}.cardBodyTitle[data-v-7fb3b4f0]{font-size:15px;font-weight:700}.footerBtn[data-v-7fb3b4f0]{position:absolute;bottom:0;left:0;width:100%;padding:10px 20px;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #e6ebf5}.footerBtn a[data-v-7fb3b4f0]{display:inline-block;padding:3px 0;color:#1890ff;margin-right:10px}.text.item[data-v-7fb3b4f0]{margin-bottom:10px}.remarkItem[data-v-7fb3b4f0]{max-height:100px;overflow-y:auto}

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-0c905f96.9201dcb3.css


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-1ef02306.e5b00a30.css


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-236c9fb6.5d1a2b0c.css


+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-27af361c.e9c0c8ef.css

@@ -0,0 +1 @@
+.avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload:hover{border-color:#409eff}.avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}.avatar{width:100px;height:100px;display:block}.tenant-view .img-wrapper[data-v-0c886af4]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-0c886af4]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-0c886af4]{margin:7px}.tenant-view .view-item i[data-v-0c886af4]{font-size:.97rem}.tenant-view .view-item span[data-v-0c886af4]{margin-left:5px}.el-tree-node__content{position:relative}.custom-tree-node[data-v-e95e5f1a]{width:90%}.tiaozhuanA[data-v-e95e5f1a]{position:absolute;top:0;right:0}.treeTitleSpan[data-v-e95e5f1a]{display:inline-block;width:80%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle}

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-31ecb73d.01e9de77.css


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-3ccc51dc.efce21a2.css


+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-40220982.ff198ec5.css

@@ -0,0 +1 @@
+.avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload:hover{border-color:#409eff}.avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}.avatar{width:100px;height:100px;display:block}.tenant-view .img-wrapper[data-v-12b17a8a]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-12b17a8a]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-12b17a8a]{margin:7px}.tenant-view .view-item i[data-v-12b17a8a]{font-size:.97rem}.tenant-view .view-item span[data-v-12b17a8a]{margin-left:5px}.el-tree-node__content{position:relative}.custom-tree-node[data-v-12ddff1e]{width:90%}.tiaozhuanA[data-v-12ddff1e]{position:absolute;top:0;right:0}.treeTitleSpan[data-v-12ddff1e]{display:inline-block;width:80%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-48e838f2.79d6dedc.css

@@ -0,0 +1 @@
+.avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload:hover{border-color:#409eff}.avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}.avatar{width:100px;height:100px;display:block}.checkUsed{display:inline-block;margin-left:10px;color:#1890ff}.tenant-view .img-wrapper[data-v-d0760cbc]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-d0760cbc]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-d0760cbc]{margin:7px}.tenant-view .view-item i[data-v-d0760cbc]{font-size:.97rem}.tenant-view .view-item span[data-v-d0760cbc]{margin-left:5px}

+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-56b37b26.5f0cd5bd.css

@@ -0,0 +1 @@
+.avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload:hover{border-color:#409eff}.avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}.avatar{width:100px;height:100px;display:block}.tenant-view .img-wrapper[data-v-a2b0d48e]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-a2b0d48e]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-a2b0d48e]{margin:7px}.tenant-view .view-item i[data-v-a2b0d48e]{font-size:.97rem}.tenant-view .view-item span[data-v-a2b0d48e]{margin-left:5px}.el-tree-node__content{position:relative}.custom-tree-node[data-v-435b1afa]{width:90%}.tiaozhuanA[data-v-435b1afa]{position:absolute;top:0;right:0}.treeTitleSpan[data-v-435b1afa]{display:inline-block;width:80%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle}

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-643f46bc.9e44559b.css


+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-67d114af.8aac3073.css

@@ -0,0 +1 @@
+.infosBg{background:#eee;padding:20px;margin-bottom:10px}.rearchItem[data-v-19b3242e]{margin-left:15px}

+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-6eb9d894.d7c5e8d7.css

@@ -0,0 +1 @@
+.avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload:hover{border-color:#409eff}.avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}.avatar{width:100px;height:100px;display:block}.checkUsed{display:inline-block;margin-left:10px;color:#1890ff}.tenant-view .img-wrapper[data-v-00bad89a]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-00bad89a]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-00bad89a]{margin:7px}.tenant-view .view-item i[data-v-00bad89a]{font-size:.97rem}.tenant-view .view-item span[data-v-00bad89a]{margin-left:5px}.tenant-view .img-wrapper[data-v-58e49304]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-58e49304]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-58e49304]{margin:7px}.tenant-view .view-item i[data-v-58e49304]{font-size:.97rem}.tenant-view .view-item span[data-v-58e49304]{margin-left:5px}

+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-7b271112.8ace7b12.css

@@ -0,0 +1 @@
+.el-tag[data-v-20faea2d]{margin-right:10px}.button-new-tag[data-v-20faea2d]{margin-left:10px;height:32px;line-height:30px;padding-top:0;padding-bottom:0}.input-new-tag[data-v-20faea2d]{width:120px;vertical-align:bottom}.message[data-v-20faea2d]{border:1px solid #ddd;padding-bottom:10px}aside[data-v-20faea2d]{margin-top:10px;margin-bottom:0}.tips[data-v-20faea2d]{border:1px solid #ddd;margin-left:18px}.tips p[data-v-20faea2d]{text-indent:20px;padding:0;margin:0}.article[data-v-20faea2d]{font-size:12px;height:auto}

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-7e697b7c.4bfc5ae7.css


+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-8d0283c0.ff7e8682.css

@@ -0,0 +1 @@
+.avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload:hover{border-color:#409eff}.avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}.avatar{width:100px;height:100px;display:block}.tenant-view .img-wrapper[data-v-94081a1a]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-94081a1a]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-94081a1a]{margin:7px}.tenant-view .view-item i[data-v-94081a1a]{font-size:.97rem}.tenant-view .view-item span[data-v-94081a1a]{margin-left:5px}.el-tree-node__content{position:relative}.custom-tree-node[data-v-4d8ecce2]{width:90%}.tiaozhuanA[data-v-4d8ecce2]{position:absolute;top:0;right:0}.treeTitleSpan[data-v-4d8ecce2]{display:inline-block;width:80%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle}

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-a2c21ccc.6c14912e.css


+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-c67ca156.535ba375.css

@@ -0,0 +1 @@
+.tenant-view .img-wrapper[data-v-763d9eac]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-763d9eac]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-763d9eac]{margin:7px}.tenant-view .view-item i[data-v-763d9eac]{font-size:.97rem}.tenant-view .view-item span[data-v-763d9eac]{margin-left:5px}.avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload:hover{border-color:#409eff}.avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}.avatar{width:100px;height:100px;display:block}.checkUsed{display:inline-block;margin-left:10px;color:#1890ff}.tenant-view .img-wrapper[data-v-7add4cb8]{text-align:center;margin-top:-1.5rem;margin-bottom:10px}.tenant-view .img-wrapper img[data-v-7add4cb8]{width:4rem;border-radius:50%}.tenant-view .view-item[data-v-7add4cb8]{margin:7px}.tenant-view .view-item i[data-v-7add4cb8]{font-size:.97rem}.tenant-view .view-item span[data-v-7add4cb8]{margin-left:5px}.el-tree-node__content{position:relative}.custom-tree-node[data-v-7c1d758d]{width:90%}.tiaozhuanA[data-v-7c1d758d]{position:absolute;top:0;right:0}.treeTitleSpan[data-v-7c1d758d]{display:inline-block;width:80%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle}

+ 1 - 0
imcs-tenant-admin/imcs/static/css/chunk-commons.39808244.css

@@ -0,0 +1 @@
+.pagination-container[data-v-28a0c370]{background:#fff;padding:32px 16px 16px 0;margin-top:0}.pagination-container.hidden[data-v-28a0c370]{display:none}.avatar[data-v-0dfa13db]{width:100%;height:100%}[data-v-0dfa13db] .el-form-item__content{line-height:0}[data-v-0dfa13db] .el-upload-list--picture-card .el-upload-list__item{margin:0 8px 0 0}[data-v-0dfa13db] .el-upload--picture-card,[data-v-0dfa13db] .el-upload-list--picture-card .el-upload-list__item{width:128px;height:128px}.hidebtn .el-upload,.limit[data-v-0dfa13db] .el-upload--picture-card{display:none}

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
imcs-tenant-admin/imcs/static/css/chunk-libs.5cf311f0.css


BIN
imcs-tenant-admin/imcs/static/fonts/element-icons.535877f5.woff


BIN
imcs-tenant-admin/imcs/static/fonts/element-icons.732389de.ttf


BIN
imcs-tenant-admin/imcs/static/img/17e420c250804efe904a09a33796d5a10.29081190.jpg


BIN
imcs-tenant-admin/imcs/static/img/17e420c250804efe904a09a33796d5a16.7fbeb6cc.jpg


BIN
imcs-tenant-admin/imcs/static/img/19034103295190235.32713499.jpg


BIN
imcs-tenant-admin/imcs/static/img/1d22f3e41d284f50b2c8fc32e0788698.e7137955.jpeg


BIN
imcs-tenant-admin/imcs/static/img/20180414165754.6fceaa80.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165815.15139bd3.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165821.d0bd77c4.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165827.5ff2d871.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165834.2008e566.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165840.107d6289.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165846.a0a77a87.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165855.6dee59da.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165909.8eee3edf.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165914.bbc74627.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165920.34479a37.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165927.0072e8f3.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165936.d159905f.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165942.f3d935fe.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165947.560e443c.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414165955.b0f83efe.jpg


BIN
imcs-tenant-admin/imcs/static/img/20180414170003.ac0bc33c.jpg


BIN
imcs-tenant-admin/imcs/static/img/2dd7a2d09fa94bf8b5c52e5318868b4d9.eb7eb7a2.jpg


BIN
imcs-tenant-admin/imcs/static/img/2dd7a2d09fa94bf8b5c52e5318868b4df.69c8d31a.jpg


BIN
imcs-tenant-admin/imcs/static/img/401.089007e7.gif


BIN
imcs-tenant-admin/imcs/static/img/404.a57b6f31.png


BIN
imcs-tenant-admin/imcs/static/img/404_cloud.0f4bc32b.png


BIN
imcs-tenant-admin/imcs/static/img/404_image.db638609.jpeg


BIN
imcs-tenant-admin/imcs/static/img/496b3ace787342f7954b7045b8b06804.6862ad72.jpeg


BIN
imcs-tenant-admin/imcs/static/img/595ba7b05f2e485eb50565a50cb6cc3c.90fd22fd.jpeg


BIN
imcs-tenant-admin/imcs/static/img/5997fedcc7bd4cffbd350b40d1b5b9824.dbde56ac.jpg


BIN
imcs-tenant-admin/imcs/static/img/5997fedcc7bd4cffbd350b40d1b5b987.5b5e21eb.jpg


BIN
imcs-tenant-admin/imcs/static/img/87d8194bc9834e9f8f0228e9e530beb1.cfc91f73.jpeg


BIN
imcs-tenant-admin/imcs/static/img/8f5b60ef00714a399ee544d331231820.852dafa9.jpeg


BIN
imcs-tenant-admin/imcs/static/img/964e40b005724165b8cf772355796c8c.bfb030c2.jpeg


BIN
imcs-tenant-admin/imcs/static/img/BiazfanxmamNRoxxVxka.fda3837f.png


BIN
imcs-tenant-admin/imcs/static/img/WhxKECPNujWoWEFNdnJE.4e81901b.png


BIN
imcs-tenant-admin/imcs/static/img/a3b10296862e40edb811418d64455d00.61eb0186.jpeg


Деякі файли не було показано, через те що забагато файлів було змінено