From 6822a7390a0efc1d6e230bf788c0ee5ecaba275f Mon Sep 17 00:00:00 2001 From: liyuxin <1579178744@qq.com> Date: Tue, 6 Aug 2024 20:43:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 38 +++ .idea/.gitignore | 8 + .idea/misc.xml | 14 + .idea/vcs.xml | 6 + pom.xml | 17 + 代码/H6_week03/.gitignore | 38 +++ 代码/H6_week03/.idea/.gitignore | 8 + 代码/H6_week03/.idea/encodings.xml | 17 + 代码/H6_week03/.idea/misc.xml | 14 + 代码/H6_week03/.idea/uiDesigner.xml | 124 +++++++ 代码/H6_week03/.idea/vcs.xml | 6 + 代码/H6_week03/bwie-auth/.gitignore | 38 +++ 代码/H6_week03/bwie-auth/pom.xml | 50 +++ .../java/com/bwie/auth/AuthApplication.java | 14 + .../com/bwie/auth/config/RabbitAdminConfig.java | 53 +++ .../bwie/auth/controller/AuthController.java | 33 ++ .../com/bwie/auth/feign/UserFeignService.java | 14 + .../feign/fusing/UserFeignServiceFsing.java | 19 ++ .../java/com/bwie/auth/service/AuthService.java | 15 + .../bwie/auth/service/impl/AuthServiceImpl.java | 109 ++++++ .../main/java/com/bwie/auth/utils/DLXQueue.java | 77 +++++ .../java/com/bwie/auth/utils/DelayedQueue.java | 79 +++++ .../main/java/com/bwie/auth/utils/TtlQueue.java | 66 ++++ .../bwie-auth/src/main/resources/bootstrap.yml | 112 +++++++ 代码/H6_week03/bwie-common/.gitignore | 38 +++ 代码/H6_week03/bwie-common/pom.xml | 108 ++++++ .../com/bwie/common/constants/Constants.java | 18 + .../com/bwie/common/constants/JwtConstants.java | 29 ++ .../bwie/common/constants/QueueConstants.java | 15 + .../common/constants/RabbitMQOneConstants.java | 18 + .../common/constants/RabbitMQTwoConstants.java | 18 + .../bwie/common/constants/TokenConstants.java | 24 ++ .../main/java/com/bwie/common/domain/Await.java | 18 + .../main/java/com/bwie/common/domain/Firm.java | 10 + .../main/java/com/bwie/common/domain/Post.java | 21 ++ .../main/java/com/bwie/common/domain/User.java | 10 + .../common/domain/request/LoginRequest.java | 11 + .../common/domain/response/LoginResponse.java | 10 + .../java/com/bwie/common/result/PageResult.java | 34 ++ .../java/com/bwie/common/result/Result.java | 76 +++++ .../java/com/bwie/common/utils/IpUtils.java | 312 ++++++++++++++++++ .../java/com/bwie/common/utils/JwtUtils.java | 109 ++++++ .../java/com/bwie/common/utils/StringUtils.java | 68 ++++ .../java/com/bwie/common/utils/TelSmsUtils.java | 88 +++++ 代码/H6_week03/bwie-gateway/.gitignore | 38 +++ 代码/H6_week03/bwie-gateway/pom.xml | 44 +++ .../com/bwie/gateway/GatewayApplication.java | 11 + .../bwie/gateway/config/IgnoreWhiteConfig.java | 32 ++ .../com/bwie/gateway/utils/GatewayUtils.java | 98 ++++++ .../src/main/resources/bootstrap.yml | 29 ++ 代码/H6_week03/bwie-module/.gitignore | 38 +++ .../H6_week03/bwie-module/bwie-post/.gitignore | 38 +++ 代码/H6_week03/bwie-module/bwie-post/pom.xml | 69 ++++ .../java/com/bwie/xxxxxx/PostApplication.java | 11 + .../bwie/xxxxxx/controller/PostController.java | 81 +++++ .../java/com/bwie/xxxxxx/mapper/PostMapper.java | 24 ++ .../com/bwie/xxxxxx/service/PostService.java | 21 ++ .../xxxxxx/service/impl/PostServiceImpl.java | 63 ++++ .../bwie-post/src/main/resources/bootstrap.yml | 41 +++ .../src/main/resources/mapper/XXXmapper.xml | 49 +++ .../H6_week03/bwie-module/bwie-user/.gitignore | 38 +++ 代码/H6_week03/bwie-module/bwie-user/pom.xml | 63 ++++ .../java/com/bwie/user/UserApplication.java | 11 + .../bwie/user/controller/UserController.java | 24 ++ .../java/com/bwie/user/mapper/UserMapper.java | 9 + .../java/com/bwie/user/service/UserService.java | 7 + .../bwie/user/service/impl/UserServiceImpl.java | 19 ++ .../bwie-user/src/main/resources/bootstrap.yml | 29 ++ .../src/main/resources/mapper/UserMapper.xml | 10 + 代码/H6_week03/bwie-module/pom.xml | 88 +++++ 代码/H6_week03/pom.xml | 69 ++++ 代码/src/App.vue | 11 + 代码/src/api/post.js | 36 ++ 代码/src/api/table.js | 9 + 代码/src/api/user.js | 31 ++ 代码/src/assets/404_images/404.png | Bin 0 -> 98071 bytes 代码/src/assets/404_images/404_cloud.png | Bin 0 -> 4766 bytes 代码/src/components/Breadcrumb/index.vue | 78 +++++ 代码/src/components/Hamburger/index.vue | 44 +++ 代码/src/components/SvgIcon/index.vue | 62 ++++ 代码/src/icons/index.js | 9 + 代码/src/icons/svg/dashboard.svg | 1 + 代码/src/icons/svg/example.svg | 1 + 代码/src/icons/svg/eye-open.svg | 1 + 代码/src/icons/svg/eye.svg | 1 + 代码/src/icons/svg/form.svg | 1 + 代码/src/icons/svg/link.svg | 1 + 代码/src/icons/svg/nested.svg | 1 + 代码/src/icons/svg/password.svg | 1 + 代码/src/icons/svg/table.svg | 1 + 代码/src/icons/svg/tree.svg | 1 + 代码/src/icons/svg/user.svg | 1 + 代码/src/icons/svgo.yml | 22 ++ 代码/src/layout/components/AppMain.vue | 40 +++ 代码/src/layout/components/Navbar.vue | 139 ++++++++ .../src/layout/components/Sidebar/FixiOSBug.js | 26 ++ 代码/src/layout/components/Sidebar/Item.vue | 41 +++ 代码/src/layout/components/Sidebar/Link.vue | 43 +++ 代码/src/layout/components/Sidebar/Logo.vue | 82 +++++ .../layout/components/Sidebar/SidebarItem.vue | 95 ++++++ 代码/src/layout/components/Sidebar/index.vue | 56 ++++ 代码/src/layout/components/index.js | 3 + 代码/src/layout/index.vue | 93 ++++++ 代码/src/layout/mixin/ResizeHandler.js | 45 +++ 代码/src/main.js | 43 +++ 代码/src/permission.js | 64 ++++ 代码/src/router/index.js | 194 +++++++++++ 代码/src/settings.js | 16 + 代码/src/store/getters.js | 8 + 代码/src/store/index.js | 19 ++ 代码/src/store/modules/app.js | 48 +++ 代码/src/store/modules/settings.js | 32 ++ 代码/src/store/modules/user.js | 97 ++++++ 代码/src/styles/element-ui.scss | 49 +++ 代码/src/styles/index.scss | 65 ++++ 代码/src/styles/mixin.scss | 28 ++ 代码/src/styles/sidebar.scss | 226 +++++++++++++ 代码/src/styles/transition.scss | 48 +++ 代码/src/styles/variables.scss | 25 ++ 代码/src/utils/auth.js | 15 + 代码/src/utils/get-page-title.js | 10 + 代码/src/utils/index.js | 117 +++++++ 代码/src/utils/request.js | 85 +++++ 代码/src/utils/validate.js | 20 ++ 代码/src/views/404.vue | 228 +++++++++++++ 代码/src/views/dashboard/index.vue | 30 ++ 代码/src/views/form/index.vue | 85 +++++ 代码/src/views/login/index.vue | 229 +++++++++++++ 代码/src/views/nested/menu1/index.vue | 7 + 代码/src/views/nested/menu1/menu1-1/index.vue | 7 + 代码/src/views/nested/menu1/menu1-2/index.vue | 7 + .../nested/menu1/menu1-2/menu1-2-1/index.vue | 5 + .../nested/menu1/menu1-2/menu1-2-2/index.vue | 5 + 代码/src/views/nested/menu1/menu1-3/index.vue | 5 + 代码/src/views/nested/menu2/index.vue | 5 + 代码/src/views/post/index.vue | 277 ++++++++++++++++ 代码/src/views/table/index.vue | 79 +++++ 代码/src/views/tree/index.vue | 78 +++++ 理论/屏幕截图 2024-08-06 204153.png | Bin 0 -> 191911 bytes 理论/屏幕截图 2024-08-06 204200.png | Bin 0 -> 164853 bytes 140 files changed, 6290 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 pom.xml create mode 100644 代码/H6_week03/.gitignore create mode 100644 代码/H6_week03/.idea/.gitignore create mode 100644 代码/H6_week03/.idea/encodings.xml create mode 100644 代码/H6_week03/.idea/misc.xml create mode 100644 代码/H6_week03/.idea/uiDesigner.xml create mode 100644 代码/H6_week03/.idea/vcs.xml create mode 100644 代码/H6_week03/bwie-auth/.gitignore create mode 100644 代码/H6_week03/bwie-auth/pom.xml create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/AuthApplication.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/config/RabbitAdminConfig.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/feign/UserFeignService.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/feign/fusing/UserFeignServiceFsing.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/service/impl/AuthServiceImpl.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/DLXQueue.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/DelayedQueue.java create mode 100644 代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/TtlQueue.java create mode 100644 代码/H6_week03/bwie-auth/src/main/resources/bootstrap.yml create mode 100644 代码/H6_week03/bwie-common/.gitignore create mode 100644 代码/H6_week03/bwie-common/pom.xml create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/Constants.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/JwtConstants.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/QueueConstants.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQOneConstants.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQTwoConstants.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/TokenConstants.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Await.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Firm.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Post.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/User.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/request/LoginRequest.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/response/LoginResponse.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/result/PageResult.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/result/Result.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/IpUtils.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/JwtUtils.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/StringUtils.java create mode 100644 代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/TelSmsUtils.java create mode 100644 代码/H6_week03/bwie-gateway/.gitignore create mode 100644 代码/H6_week03/bwie-gateway/pom.xml create mode 100644 代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/GatewayApplication.java create mode 100644 代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/config/IgnoreWhiteConfig.java create mode 100644 代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/utils/GatewayUtils.java create mode 100644 代码/H6_week03/bwie-gateway/src/main/resources/bootstrap.yml create mode 100644 代码/H6_week03/bwie-module/.gitignore create mode 100644 代码/H6_week03/bwie-module/bwie-post/.gitignore create mode 100644 代码/H6_week03/bwie-module/bwie-post/pom.xml create mode 100644 代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/PostApplication.java create mode 100644 代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/controller/PostController.java create mode 100644 代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/mapper/PostMapper.java create mode 100644 代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/service/PostService.java create mode 100644 代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/service/impl/PostServiceImpl.java create mode 100644 代码/H6_week03/bwie-module/bwie-post/src/main/resources/bootstrap.yml create mode 100644 代码/H6_week03/bwie-module/bwie-post/src/main/resources/mapper/XXXmapper.xml create mode 100644 代码/H6_week03/bwie-module/bwie-user/.gitignore create mode 100644 代码/H6_week03/bwie-module/bwie-user/pom.xml create mode 100644 代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/UserApplication.java create mode 100644 代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/controller/UserController.java create mode 100644 代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/mapper/UserMapper.java create mode 100644 代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/service/UserService.java create mode 100644 代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java create mode 100644 代码/H6_week03/bwie-module/bwie-user/src/main/resources/bootstrap.yml create mode 100644 代码/H6_week03/bwie-module/bwie-user/src/main/resources/mapper/UserMapper.xml create mode 100644 代码/H6_week03/bwie-module/pom.xml create mode 100644 代码/H6_week03/pom.xml create mode 100644 代码/src/App.vue create mode 100644 代码/src/api/post.js create mode 100644 代码/src/api/table.js create mode 100644 代码/src/api/user.js create mode 100644 代码/src/assets/404_images/404.png create mode 100644 代码/src/assets/404_images/404_cloud.png create mode 100644 代码/src/components/Breadcrumb/index.vue create mode 100644 代码/src/components/Hamburger/index.vue create mode 100644 代码/src/components/SvgIcon/index.vue create mode 100644 代码/src/icons/index.js create mode 100644 代码/src/icons/svg/dashboard.svg create mode 100644 代码/src/icons/svg/example.svg create mode 100644 代码/src/icons/svg/eye-open.svg create mode 100644 代码/src/icons/svg/eye.svg create mode 100644 代码/src/icons/svg/form.svg create mode 100644 代码/src/icons/svg/link.svg create mode 100644 代码/src/icons/svg/nested.svg create mode 100644 代码/src/icons/svg/password.svg create mode 100644 代码/src/icons/svg/table.svg create mode 100644 代码/src/icons/svg/tree.svg create mode 100644 代码/src/icons/svg/user.svg create mode 100644 代码/src/icons/svgo.yml create mode 100644 代码/src/layout/components/AppMain.vue create mode 100644 代码/src/layout/components/Navbar.vue create mode 100644 代码/src/layout/components/Sidebar/FixiOSBug.js create mode 100644 代码/src/layout/components/Sidebar/Item.vue create mode 100644 代码/src/layout/components/Sidebar/Link.vue create mode 100644 代码/src/layout/components/Sidebar/Logo.vue create mode 100644 代码/src/layout/components/Sidebar/SidebarItem.vue create mode 100644 代码/src/layout/components/Sidebar/index.vue create mode 100644 代码/src/layout/components/index.js create mode 100644 代码/src/layout/index.vue create mode 100644 代码/src/layout/mixin/ResizeHandler.js create mode 100644 代码/src/main.js create mode 100644 代码/src/permission.js create mode 100644 代码/src/router/index.js create mode 100644 代码/src/settings.js create mode 100644 代码/src/store/getters.js create mode 100644 代码/src/store/index.js create mode 100644 代码/src/store/modules/app.js create mode 100644 代码/src/store/modules/settings.js create mode 100644 代码/src/store/modules/user.js create mode 100644 代码/src/styles/element-ui.scss create mode 100644 代码/src/styles/index.scss create mode 100644 代码/src/styles/mixin.scss create mode 100644 代码/src/styles/sidebar.scss create mode 100644 代码/src/styles/transition.scss create mode 100644 代码/src/styles/variables.scss create mode 100644 代码/src/utils/auth.js create mode 100644 代码/src/utils/get-page-title.js create mode 100644 代码/src/utils/index.js create mode 100644 代码/src/utils/request.js create mode 100644 代码/src/utils/validate.js create mode 100644 代码/src/views/404.vue create mode 100644 代码/src/views/dashboard/index.vue create mode 100644 代码/src/views/form/index.vue create mode 100644 代码/src/views/login/index.vue create mode 100644 代码/src/views/nested/menu1/index.vue create mode 100644 代码/src/views/nested/menu1/menu1-1/index.vue create mode 100644 代码/src/views/nested/menu1/menu1-2/index.vue create mode 100644 代码/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue create mode 100644 代码/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue create mode 100644 代码/src/views/nested/menu1/menu1-3/index.vue create mode 100644 代码/src/views/nested/menu2/index.vue create mode 100644 代码/src/views/post/index.vue create mode 100644 代码/src/views/table/index.vue create mode 100644 代码/src/views/tree/index.vue create mode 100644 理论/屏幕截图 2024-08-06 204153.png create mode 100644 理论/屏幕截图 2024-08-06 204200.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..132404b --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..59a2d5e --- /dev/null +++ b/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + com.bwie + week03 + 1.0-SNAPSHOT + + + 8 + 8 + UTF-8 + + + diff --git a/代码/H6_week03/.gitignore b/代码/H6_week03/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/代码/H6_week03/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/代码/H6_week03/.idea/.gitignore b/代码/H6_week03/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/代码/H6_week03/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/代码/H6_week03/.idea/encodings.xml b/代码/H6_week03/.idea/encodings.xml new file mode 100644 index 0000000..0e18ba1 --- /dev/null +++ b/代码/H6_week03/.idea/encodings.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/代码/H6_week03/.idea/misc.xml b/代码/H6_week03/.idea/misc.xml new file mode 100644 index 0000000..132404b --- /dev/null +++ b/代码/H6_week03/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/代码/H6_week03/.idea/uiDesigner.xml b/代码/H6_week03/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/代码/H6_week03/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/代码/H6_week03/.idea/vcs.xml b/代码/H6_week03/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/代码/H6_week03/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/代码/H6_week03/bwie-auth/.gitignore b/代码/H6_week03/bwie-auth/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/代码/H6_week03/bwie-auth/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/代码/H6_week03/bwie-auth/pom.xml b/代码/H6_week03/bwie-auth/pom.xml new file mode 100644 index 0000000..4bed197 --- /dev/null +++ b/代码/H6_week03/bwie-auth/pom.xml @@ -0,0 +1,50 @@ + + + 4.0.0 + + com.bwie + H6_week03 + 1.0-SNAPSHOT + + + bwie-auth + + + 8 + 8 + UTF-8 + + + + + + com.bwie + bwie-common + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-test + test + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + + + + + org.springframework.kafka + spring-kafka + + + + diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/AuthApplication.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/AuthApplication.java new file mode 100644 index 0000000..baf2632 --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/AuthApplication.java @@ -0,0 +1,14 @@ +package com.bwie.auth; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; + + +@SpringBootApplication +@EnableFeignClients +public class AuthApplication { + public static void main(String[] args) { + SpringApplication.run(AuthApplication.class); + } +} diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/config/RabbitAdminConfig.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/config/RabbitAdminConfig.java new file mode 100644 index 0000000..d2abf6c --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/config/RabbitAdminConfig.java @@ -0,0 +1,53 @@ +package com.bwie.auth.config; + +import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * RabbitAdmin是RabbitMQ的一个Java客户端库,它提供了管理RabbitMQ资源的功能。它是通过与RabbitMQ服务器进行交互来执行管理操作的。 + */ +@Configuration +public class RabbitAdminConfig { + + @Value("${spring.rabbitmq.host}") + private String host; + @Value("${spring.rabbitmq.username}") + private String username; + @Value("${spring.rabbitmq.password}") + private String password; + @Value("${spring.rabbitmq.virtualhost}") + private String virtualhost; + + /** + * 构建 RabbitMQ的连接工厂 + * @return + */ + @Bean + public ConnectionFactory connectionFactory() { + CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); + connectionFactory.setAddresses(host); + connectionFactory.setUsername(username); + connectionFactory.setPassword(password); + connectionFactory.setVirtualHost(virtualhost); + // 配置发送确认回调时,次配置必须配置,否则即使在RabbitTemplate配置了ConfirmCallback也不会生效 + connectionFactory.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.CORRELATED); + connectionFactory.setPublisherReturns(true); + return connectionFactory; + } + + /** + * 自己初始化 RabbitAdmin + * @param connectionFactory + * @return + */ + @Bean + public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) { + RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); + rabbitAdmin.setAutoStartup(true); + return rabbitAdmin; + } +} diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java new file mode 100644 index 0000000..daa0069 --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java @@ -0,0 +1,33 @@ +package com.bwie.auth.controller; + +import com.bwie.auth.service.AuthService; +import com.bwie.common.domain.User; +import com.bwie.common.domain.request.LoginRequest; +import com.bwie.common.result.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +public class AuthController { + + @Autowired + private AuthService authService; + + @GetMapping("/sendCode/{userPhone}") + public Result sendCode(@PathVariable String userPhone){ + return authService.sendCode(userPhone); + } + + @PostMapping("/login") + public Result login(@RequestBody LoginRequest loginRequest){ + return authService.login(loginRequest); + } + + @GetMapping("/userInfo") + public Result userInfo(){ + User user=authService.userInfo(); + return Result.success(user); + } + + +} diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/feign/UserFeignService.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/feign/UserFeignService.java new file mode 100644 index 0000000..5946be0 --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/feign/UserFeignService.java @@ -0,0 +1,14 @@ +package com.bwie.auth.feign; + +import com.bwie.common.domain.User; +import com.bwie.common.result.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +@FeignClient(name = "bwie-user") +public interface UserFeignService { + + @GetMapping("/findByUserPhone/{userPhone}") + public Result findByUserPhone(@PathVariable String userPhone); +} diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/feign/fusing/UserFeignServiceFsing.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/feign/fusing/UserFeignServiceFsing.java new file mode 100644 index 0000000..f63399e --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/feign/fusing/UserFeignServiceFsing.java @@ -0,0 +1,19 @@ +package com.bwie.auth.feign.fusing; + +import com.bwie.auth.feign.UserFeignService; +import com.bwie.common.domain.User; +import com.bwie.common.result.Result; +import org.springframework.cloud.openfeign.FallbackFactory; + +public class UserFeignServiceFsing implements FallbackFactory { + + @Override + public Object create(Throwable cause) { + return new UserFeignService() { + @Override + public Result findByUserPhone(String userPhone) { + return Result.error("断链"); + } + }; + } +} diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java new file mode 100644 index 0000000..45ae258 --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java @@ -0,0 +1,15 @@ +package com.bwie.auth.service; + +import com.bwie.common.domain.User; +import com.bwie.common.domain.request.LoginRequest; +import com.bwie.common.result.Result; + +public interface AuthService { + + Result sendCode(String userPhone); + + Result login(LoginRequest loginRequest); + + User userInfo(); + +} diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/service/impl/AuthServiceImpl.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/service/impl/AuthServiceImpl.java new file mode 100644 index 0000000..9f86371 --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/service/impl/AuthServiceImpl.java @@ -0,0 +1,109 @@ +package com.bwie.auth.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.RandomUtil; +import com.alibaba.fastjson.JSONObject; +import com.bwie.auth.feign.UserFeignService; +import com.bwie.auth.service.AuthService; +import com.bwie.common.constants.JwtConstants; +import com.bwie.common.constants.TokenConstants; +import com.bwie.common.domain.User; +import com.bwie.common.domain.request.LoginRequest; +import com.bwie.common.domain.response.LoginResponse; +import com.bwie.common.result.Result; +import com.bwie.common.utils.JwtUtils; +import com.bwie.common.utils.StringUtils; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.UUID; +import java.util.concurrent.TimeUnit; +import java.util.regex.Pattern; + +@Service +@Log4j2 +public class AuthServiceImpl implements AuthService { + + + @Autowired + private UserFeignService userFeignService; + + @Autowired + private StringRedisTemplate redisTemplate; + + @Autowired + private HttpServletRequest request; + + @Override + public Result sendCode(String userPhone) { + + if (StringUtils.isBlank(userPhone)){ + return Result.error("手机号为空"); + } + + Pattern compile = Pattern.compile("^(?:(?:\\+|00)86)?1(?:(?:3[\\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\\d])|(?:9[189]))\\d{8}$"); + boolean matches = compile.matcher(userPhone).matches(); + if (!matches){ + return Result.error("手机号码格式不正确"); + } + + Result byUserPhone = userFeignService.findByUserPhone(userPhone); + User data = byUserPhone.getData(); + if (data==null){ + return Result.error("手机号还未注册 请先注册"); + } + + String code = RandomUtil.randomNumbers(4); + log.info(code); + redisTemplate.opsForValue().set(userPhone,code,15,TimeUnit.MINUTES); + return Result.success("验证码发送成功"); + } + + @Override + public Result login(LoginRequest loginRequest) { + + String userPhone = loginRequest.getUserPhone(); + if (StringUtils.isBlank(userPhone)){ + return Result.error("手机号码为空"); + } + Result byUserPhone = userFeignService.findByUserPhone(userPhone); + User data = byUserPhone.getData(); + if (data==null){ + return Result.error("手机号码还未注册 请先注册"); + } + + String cacheCode = redisTemplate.opsForValue().get(userPhone); + + if (cacheCode==null){ + return Result.error("验证码不能为空"); + } + if(!ObjectUtil.equal(loginRequest.getUserCode(),cacheCode)){ + return Result.error("验证码输入错误 请重新输入"); + } + + HashMap map = new HashMap<>(); + String userKey = UUID.randomUUID().toString().replace("-", ""); + map.put(JwtConstants.USER_KEY,userKey); + String token = JwtUtils.createToken(map); + redisTemplate.opsForValue().set(TokenConstants.LOGIN_TOKEN_KEY+userKey,JSONObject.toJSONString(data),20,TimeUnit.MINUTES); + + LoginResponse loginResponse = new LoginResponse(); + loginResponse.setToken(token); + loginResponse.setExpirtime("20MIN"); + return Result.success(loginResponse,"登录成功"); + } + + @Override + public User userInfo() { + + String token = request.getHeader("token"); + String userKey = JwtUtils.getUserKey(token); + String s = redisTemplate.opsForValue().get(TokenConstants.LOGIN_TOKEN_KEY + userKey); + User user = JSONObject.parseObject(s, User.class); + return user; + } +} diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/DLXQueue.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/DLXQueue.java new file mode 100644 index 0000000..d76e2c2 --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/DLXQueue.java @@ -0,0 +1,77 @@ +package com.bwie.auth.utils; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.amqp.core.DirectExchange; +import org.springframework.amqp.core.Queue; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +@Component +public class DLXQueue { + // routingKey + private static final String DEAD_ROUTING_KEY = "dead.routingkey"; + private static final String ROUTING_KEY = "routingkey"; + private static final String DEAD_EXCHANGE = "dead.exchange"; + private static final String EXCHANGE = "common.exchange"; + @Autowired + RabbitTemplate rabbitTemplate; + @Resource + RabbitAdmin rabbitAdmin; + + /** + * 发送死信队列,过期后进入死信交换机,进入死信队列 + * + * @param queueName 队列名称 + * @param deadQueueName 死信队列名称 + * @param params 消息内容 + * @param expiration 过期时间 毫秒 + */ + public void sendDLXQueue(String queueName, String deadQueueName, Object params, Integer expiration) { + /** + * ----------------------------------先创建一个ttl队列和死信队列-------------------------------------------- + */ + Map map = new HashMap<>(); + // 队列设置存活时间,单位ms, 必须是整形数据。 + map.put("x-message-ttl", expiration); + // 设置死信交换机 + map.put("x-dead-letter-exchange", DEAD_EXCHANGE); + // 设置死信交换器路由 + map.put("x-dead-letter-routing-key", DEAD_ROUTING_KEY); + /*参数1:队列名称 参数2:持久化 参数3:是否排他 参数4:自动删除队列 参数5:队列参数*/ + Queue queue = new Queue(queueName, true, false, false, map); + rabbitAdmin.declareQueue(queue); + /** + * ---------------------------------创建交换机--------------------------------------------- + */ + DirectExchange directExchange = new DirectExchange(EXCHANGE, true, false); + rabbitAdmin.declareExchange(directExchange); + /** + * ---------------------------------队列绑定交换机--------------------------------------------- + */ + Binding binding = BindingBuilder.bind(queue).to(directExchange).with(ROUTING_KEY); + rabbitAdmin.declareBinding(binding); + /** + * ---------------------------------在创建一个死信交换机和队列,接收死信队列--------------------------------------------- + */ + DirectExchange deadExchange = new DirectExchange(DEAD_EXCHANGE, true, false); + rabbitAdmin.declareExchange(deadExchange); + + Queue deadQueue = new Queue(deadQueueName, true, false, false); + rabbitAdmin.declareQueue(deadQueue); + /** + * ---------------------------------队列绑定死信交换机--------------------------------------------- + */ + // 将队列和交换机绑定 + Binding deadbinding = BindingBuilder.bind(deadQueue).to(deadExchange).with(DEAD_ROUTING_KEY); + rabbitAdmin.declareBinding(deadbinding); + // 发送消息 + rabbitTemplate.convertAndSend(EXCHANGE, ROUTING_KEY, params); + } +} diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/DelayedQueue.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/DelayedQueue.java new file mode 100644 index 0000000..0df9f49 --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/DelayedQueue.java @@ -0,0 +1,79 @@ +package com.bwie.auth.utils; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.amqp.core.CustomExchange; +import org.springframework.amqp.core.Queue; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +/** + * 发送延迟队列的工具类 + */ +@Component +public class DelayedQueue { + + // routingKey + private static final String DELAYED_ROUTING_KEY = "delayed.routingkey"; + + // 延迟队列交换机 + private static final String DELAYED_EXCHANGE = "delayed.exchange"; + + @Autowired + RabbitTemplate rabbitTemplate; + + @Resource + RabbitAdmin rabbitAdmin; + + /** + * 发送延迟队列 + * + * @param queueName 队列名称 + * @param params 消息内容 + * @param expiration 延迟时间 毫秒 + */ + public void sendDelayedQueue(String queueName, Object params, Integer expiration) { + // 先创建一个队列 + Queue queue = new Queue(queueName); + rabbitAdmin.declareQueue(queue); + + // 创建延迟队列交换机 + CustomExchange customExchange = createCustomExchange(); + rabbitAdmin.declareExchange(customExchange); + + // 将队列和交换机绑定 + Binding binding = BindingBuilder.bind(queue).to(customExchange).with(DELAYED_ROUTING_KEY).noargs(); + rabbitAdmin.declareBinding(binding); + + // 发送延迟消息 + rabbitTemplate.convertAndSend(DELAYED_EXCHANGE, DELAYED_ROUTING_KEY, params, msg -> { + // 发送消息的时候 延迟时长 + msg.getMessageProperties().setMessageId(UUID.randomUUID().toString().replaceAll("-", "")); + msg.getMessageProperties().setDelay(expiration); + return msg; + }); + } + + private CustomExchange createCustomExchange() { + Map arguments = new HashMap<>(); + /** + * 参数说明: + * 1.交换机的名称 + * 2.交换机的类型 + * 3.是否需要持久化 + * 4.是否自动删除 + * 5.其它参数 + */ + arguments.put("x-delayed-type", "direct"); + return new CustomExchange(DELAYED_EXCHANGE, "x-delayed-message", true, false, arguments); + } + +} + diff --git a/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/TtlQueue.java b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/TtlQueue.java new file mode 100644 index 0000000..51db22d --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/java/com/bwie/auth/utils/TtlQueue.java @@ -0,0 +1,66 @@ +package com.bwie.auth.utils; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.amqp.core.DirectExchange; +import org.springframework.amqp.core.Queue; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +/** + * 发送TTL队列 设置 消息的存活时间 如果超过了存活时间 + * 该条消息还没有被消费 则自动从队列中消息 ,如果配置了死信队列则消息会进入死信队列 + */ +@Component +public class TtlQueue { + // routingKey + private static final String TTL_KEY = "ttl.routingkey"; + private static final String TTL_EXCHANGE = "ttl.exchange"; + + @Autowired + RabbitTemplate rabbitTemplate; + + @Resource + RabbitAdmin rabbitAdmin; + + /** + * 发送TTL队列 + * + * @param queueName 队列名称 + * @param params 消息内容 + * @param expiration 过期时间 毫秒 + */ + public void sendTtlQueue(String queueName, Object params, Integer expiration) { + /** + * ----------------------------------先创建一个ttl队列-------------------------------------------- + */ + Map map = new HashMap<>(); + // 队列设置存活时间,单位ms,必须是整形数据。 + map.put("x-message-ttl", expiration); + /*参数1:队列名称 参数2:持久化 参数3:是否排他 参数4:自动删除队列 参数5:队列参数*/ + Queue queue = new Queue(queueName, true, false, false, map); + rabbitAdmin.declareQueue(queue); + + /** + * ---------------------------------创建交换机--------------------------------------------- + */ + DirectExchange directExchange = new DirectExchange(TTL_EXCHANGE, true, false); + rabbitAdmin.declareExchange(directExchange); + /** + * ---------------------------------队列绑定交换机--------------------------------------------- + */ + // 将队列和交换机绑定 + Binding binding = BindingBuilder.bind(queue).to(directExchange).with(TTL_KEY); + rabbitAdmin.declareBinding(binding); + + // 发送消息 + rabbitTemplate.convertAndSend(TTL_EXCHANGE, TTL_KEY, params); + } +} + diff --git a/代码/H6_week03/bwie-auth/src/main/resources/bootstrap.yml b/代码/H6_week03/bwie-auth/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..e7a8a31 --- /dev/null +++ b/代码/H6_week03/bwie-auth/src/main/resources/bootstrap.yml @@ -0,0 +1,112 @@ +# Tomcat +server: + port: 9001 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-auth + kafka: + producer: + # Kafka服务器 + bootstrap-servers: 111.229.181.183:9092 + # 开启事务,必须在开启了事务的方法中发送,否则报错 + transaction-id-prefix: kafkaTx- + # 发生错误后,消息重发的次数,开启事务必须设置大于0。 + retries: 3 + # acks=0 : 生产者在成功写入消息之前不会等待任何来自服务器的响应。 + # acks=1 : 只要集群的首领节点收到消息,生产者就会收到一个来自服务器成功响应。 + # acks=all :只有当所有参与复制的节点全部收到消息时,生产者才会收到一个来自服务器的成功响应。 + # 开启事务时,必须设置为all + acks: all + # 当有多个消息需要被发送到同一个分区时,生产者会把它们放在同一个批次里。该参数指定了一个批次可以使用的内存大小,按照字节数计算。 + batch-size: 16384 + # 生产者内存缓冲区的大小。 + buffer-memory: 1024000 + # 键的序列化方式 + key-serializer: org.springframework.kafka.support.serializer.JsonSerializer + # 值的序列化方式(建议使用Json,这种序列化方式可以无需额外配置传输实体类) + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + + consumer: + # Kafka服务器 + bootstrap-servers: 111.229.181.183:9092 + group-id: firstGroup + # 自动提交的时间间隔 在spring boot 2.X 版本中这里采用的是值的类型为Duration 需要符合特定的格式,如1S,1M,2H,5D + #auto-commit-interval: 2s + # 该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下该作何处理: + # earliest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费分区的记录 + # latest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据(在消费者启动之后生成的记录) + # none:当各分区都存在已提交的offset时,从提交的offset开始消费;只要有一个分区不存在已提交的offset,则抛出异常 + auto-offset-reset: latest + # 是否自动提交偏移量,默认值是true,为了避免出现重复数据和数据丢失,可以把它设置为false,然后手动提交偏移量 + enable-auto-commit: false + # 键的反序列化方式 + #key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + key-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer + # 值的反序列化方式(建议使用Json,这种序列化方式可以无需额外配置传输实体类) + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer + # 配置消费者的 Json 反序列化的可信赖包,反序列化实体类需要 + properties: + spring: + json: + trusted: + packages: "*" + # 这个参数定义了poll方法最多可以拉取多少条消息,默认值为500。如果在拉取消息的时候新消息不足500条,那有多少返回多少;如果超过500条,每次只返回500。 + # 这个默认值在有些场景下太大,有些场景很难保证能够在5min内处理完500条消息, + # 如果消费者无法在5分钟内处理完500条消息的话就会触发reBalance, + # 然后这批消息会被分配到另一个消费者中,还是会处理不完,这样这批消息就永远也处理不完。 + # 要避免出现上述问题,提前评估好处理一条消息最长需要多少时间,然后覆盖默认的max.poll.records参数 + # 注:需要开启BatchListener批量监听才会生效,如果不开启BatchListener则不会出现reBalance情况 + max-poll-records: 3 + properties: + # 两次poll之间的最大间隔,默认值为5分钟。如果超过这个间隔会触发reBalance + max: + poll: + interval: + ms: 600000 + # 当broker多久没有收到consumer的心跳请求后就触发reBalance,默认值是10s + session: + timeout: + ms: 10000 + listener: + # 在侦听器容器中运行的线程数,一般设置为 机器数*分区数 + concurrency: 4 + # 自动提交关闭,需要设置手动消息确认 + ack-mode: manual_immediate + # 消费监听接口监听的主题不存在时,默认会报错,所以设置为false忽略错误 + missing-topics-fatal: false + # 两次poll之间的最大间隔,默认值为5分钟。如果超过这个间隔会触发reBalance + poll-timeout: 600000 + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.181.183:8848 + config: + # 配置中心地址 + server-addr: 111.229.181.183:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + rabbitmq: + username: root + password: zzh123 + virtualHost: / + port: 5672 + host: 111.229.181.183 + listener: + simple: + prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条 + publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) + publisher-returns: true #确认消息已发送到队列(Queue) diff --git a/代码/H6_week03/bwie-common/.gitignore b/代码/H6_week03/bwie-common/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/代码/H6_week03/bwie-common/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/代码/H6_week03/bwie-common/pom.xml b/代码/H6_week03/bwie-common/pom.xml new file mode 100644 index 0000000..09eada5 --- /dev/null +++ b/代码/H6_week03/bwie-common/pom.xml @@ -0,0 +1,108 @@ + + + 4.0.0 + + com.bwie + H6_week03 + 1.0-SNAPSHOT + + + bwie-common + + + 8 + 8 + UTF-8 + + + + + + + + javax.servlet + javax.servlet-api + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + io.jsonwebtoken + jjwt + 0.9.1 + + + + com.alibaba + fastjson + 1.2.80 + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + org.springframework.boot + spring-boot-starter-validation + + + + org.apache.commons + commons-lang3 + + + + org.projectlombok + lombok + + + + cn.hutool + hutool-all + 5.8.3 + + + + com.aliyun + dysmsapi20170525 + 2.0.1 + + + + org.springframework.boot + spring-boot-starter-amqp + + + + diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/Constants.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/Constants.java new file mode 100644 index 0000000..2fdc9fe --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/Constants.java @@ -0,0 +1,18 @@ +package com.bwie.common.constants; + +/** + * @description: 系统常量 + * @author DongZl + */ +public class Constants { + /** + * 成功标记 + */ + public static final Integer SUCCESS = 200; + public static final String SUCCESS_MSG = "操作成功"; + /** + * 失败标记 + */ + public static final Integer ERROR = 500; + public static final String ERROR_MSG = "操作异常"; +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/JwtConstants.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/JwtConstants.java new file mode 100644 index 0000000..03692c1 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/JwtConstants.java @@ -0,0 +1,29 @@ +package com.bwie.common.constants; + +/** + * @author DongZl + * @description: Jwt常量 + */ +public class JwtConstants { + + /** + * 用户ID字段 + */ + public static final String DETAILS_USER_ID = "user_id"; + + /** + * 用户名字段 + */ + public static final String DETAILS_USERNAME = "username"; + + /** + * 用户标识 + */ + public static final String USER_KEY = "user_key"; + + /** + * 令牌秘钥 + */ + public final static String SECRET = "abcdefghijklmnopqrstuvwxyz"; + +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/QueueConstants.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/QueueConstants.java new file mode 100644 index 0000000..2c4c3c2 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/QueueConstants.java @@ -0,0 +1,15 @@ +package com.bwie.common.constants; + +/** + * @Project boot-month + * @Author 张子豪 + * @Date 2023/9/6 10:06-+ + * @Description + */ +public class QueueConstants { + + public static final String SEND_CODE_QUEUE = "send_code_queue"; + public static final String SEND_CODE_PREVENT_REPEAT_ID = "send_code_prevent_repeat_id:"; + public static final String BLOG_UPDATE_QUEUE = "blog_update_queue"; + public static final String BLOG_UPDATE_PREVENT_REPEAT_ID = "blog_update_prevent_repeat_id:"; +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQOneConstants.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQOneConstants.java new file mode 100644 index 0000000..a05740c --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQOneConstants.java @@ -0,0 +1,18 @@ +package com.bwie.common.constants; + +/** + * Clazz:2103A + * Name :FYSN + * Desc :世界上只有一种英雄主义。那就是认清生活的真相后,仍然热爱生活。--罗曼·罗兰 + * Date :2023-08-20 20:37:02 + */ + +public class RabbitMQOneConstants { + + //发送短消息队列名称 + public static final String SEND_SHORT_MESSAGE_QUEUE_NAME = "send_short_message"; + + //查看的日志队列名称 + public static final String QUERY_LOG_QUEUE_NAME = "query_log_message"; + +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQTwoConstants.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQTwoConstants.java new file mode 100644 index 0000000..95361f1 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQTwoConstants.java @@ -0,0 +1,18 @@ +package com.bwie.common.constants; + +/** + * Clazz:2103A + * Name :FYSN + * Desc :世界上只有一种英雄主义。那就是认清生活的真相后,仍然热爱生活。--罗曼·罗兰 + * Date :2023-08-20 20:37:02 + */ + +public class RabbitMQTwoConstants { + + //发送消息队列名称 + public static final String SEND_SMS_QUEUE = "send_sms_queue"; + + //添加消息队列名称日志 + public static final String ADD_MESSAGE_QUEUE_NAME_LOG = "add_message_log"; + +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/TokenConstants.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/TokenConstants.java new file mode 100644 index 0000000..1871fb7 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/constants/TokenConstants.java @@ -0,0 +1,24 @@ +package com.bwie.common.constants; + +/** + * @author DongZl + * @description: 令牌常量 + */ +public class TokenConstants { + /** + * 缓存有效期,默认720(分钟) + */ + public final static long EXPIRATION = 720; + /** + * 缓存刷新时间,默认120(分钟) + */ + public final static long REFRESH_TIME = 120; + /** + * 权限缓存前缀 + */ + public final static String LOGIN_TOKEN_KEY = "login_tokens:"; + /** + * token标识 + */ + public static final String TOKEN = "token"; +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Await.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Await.java new file mode 100644 index 0000000..4c557fc --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Await.java @@ -0,0 +1,18 @@ +package com.bwie.common.domain; + +import lombok.Data; + +@Data +public class Await { + + + private Integer awaitId; + private String postName; + private String awaitName; + private String awaitTel; + private String wantPost; + private String wantPay; + private String awaitDate; + private String awaitSatus; + +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Firm.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Firm.java new file mode 100644 index 0000000..5910ed5 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Firm.java @@ -0,0 +1,10 @@ +package com.bwie.common.domain; + +import lombok.Data; + +@Data +public class Firm { + + private Integer firmId; + private String firmName; +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Post.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Post.java new file mode 100644 index 0000000..b928775 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/Post.java @@ -0,0 +1,21 @@ +package com.bwie.common.domain; + +import lombok.Data; + +@Data +public class Post { + + private Integer postId; + private String postName; + private String postDesc; + private String radiusPay; + private Integer firmId; + private String postDate; + private Integer postNum; + + + private String firmName; + + private String begin; + private String end; +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/User.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/User.java new file mode 100644 index 0000000..8ec4caa --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/User.java @@ -0,0 +1,10 @@ +package com.bwie.common.domain; + +import lombok.Data; + +@Data +public class User { + + private Integer userId; + private String userPhone; +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/request/LoginRequest.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/request/LoginRequest.java new file mode 100644 index 0000000..8398921 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/request/LoginRequest.java @@ -0,0 +1,11 @@ +package com.bwie.common.domain.request; + +import lombok.Data; + +@Data +public class LoginRequest { + + private String userPhone; + private String userCode; + +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/response/LoginResponse.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/response/LoginResponse.java new file mode 100644 index 0000000..bd183a5 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/domain/response/LoginResponse.java @@ -0,0 +1,10 @@ +package com.bwie.common.domain.response; + +import lombok.Data; + +@Data +public class LoginResponse { + + private String token; + private String expirtime; +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/result/PageResult.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/result/PageResult.java new file mode 100644 index 0000000..85ecdda --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/result/PageResult.java @@ -0,0 +1,34 @@ +package com.bwie.common.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author DongZl + * @description: 列表返回结果集 + */ +@Data +public class PageResult implements Serializable { + /** + * 总条数 + */ + private long total; + /** + * 结果集合 + */ + private List list; + public PageResult() { + } + public PageResult(long total, List list) { + this.total = total; + this.list = list; + } + public static PageResult toPageResult(long total, List list){ + return new PageResult(total , list); + } + public static Result> toResult(long total, List list){ + return Result.success(PageResult.toPageResult(total,list)); + } +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/result/Result.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/result/Result.java new file mode 100644 index 0000000..30b1e73 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/result/Result.java @@ -0,0 +1,76 @@ +package com.bwie.common.result; + +import com.bwie.common.constants.Constants; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author DongZl + * @description: 响应信息主体 + */ +@Data +public class Result implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 成功 + */ + public static final int SUCCESS = Constants.SUCCESS; + /** + * 失败 + */ + public static final int FAIL = Constants.ERROR; + /** + * 返回状态码 + */ + private int code; + /** + * 响应信息 + */ + private String msg; + /** + * 响应数据 + */ + private T data; + + public static Result success() { + return restResult(null, SUCCESS, Constants.SUCCESS_MSG); + } + + public static Result success(T data) { + return restResult(data, SUCCESS, Constants.SUCCESS_MSG); + } + + public static Result success(T data, String msg) { + return restResult(data, SUCCESS, msg); + } + + public static Result error() { + return restResult(null, FAIL, Constants.ERROR_MSG); + } + + public static Result error(String msg) { + return restResult(null, FAIL, msg); + } + + public static Result error(T data) { + return restResult(data, FAIL, Constants.ERROR_MSG); + } + + public static Result error(T data, String msg) { + return restResult(data, FAIL, msg); + } + + public static Result error(int code, String msg) { + return restResult(null, code, msg); + } + + private static Result restResult(T data, int code, String msg) { + Result apiResult = new Result<>(); + apiResult.setCode(code); + apiResult.setData(data); + apiResult.setMsg(msg); + return apiResult; + } +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/IpUtils.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/IpUtils.java new file mode 100644 index 0000000..20c1405 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/IpUtils.java @@ -0,0 +1,312 @@ +package com.bwie.common.utils; + +import javax.servlet.http.HttpServletRequest; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * 获取IP方法 + * + * @author ruoyi + */ +public class IpUtils { + public final static String REGX_0_255 = "(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)"; + // 匹配 ip + public final static String REGX_IP = "((" + REGX_0_255 + "\\.){3}" + REGX_0_255 + ")"; + public final static String REGX_IP_WILDCARD = "(((\\*\\.){3}\\*)|(" + REGX_0_255 + "(\\.\\*){3})|(" + REGX_0_255 + "\\." + REGX_0_255 + ")(\\.\\*){2}" + "|((" + REGX_0_255 + "\\.){3}\\*))"; + // 匹配网段 + public final static String REGX_IP_SEG = "(" + REGX_IP + "\\-" + REGX_IP + ")"; + + /** + * 获取客户端IP + * + * @param request 请求对象 + * @return IP地址 + */ + public static String getIpAddr(HttpServletRequest request) { + if (request == null) { + return "unknown"; + } + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Forwarded-For"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Real-IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + + return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip); + } + + /** + * 检查是否为内部IP地址 + * + * @param ip IP地址 + * @return 结果 + */ + public static boolean internalIp(String ip) { + byte[] addr = textToNumericFormatV4(ip); + return internalIp(addr) || "127.0.0.1".equals(ip); + } + + /** + * 检查是否为内部IP地址 + * + * @param addr byte地址 + * @return 结果 + */ + private static boolean internalIp(byte[] addr) { + if (StringUtils.isNull(addr) || addr.length < 2) { + return true; + } + final byte b0 = addr[0]; + final byte b1 = addr[1]; + // 10.x.x.x/8 + final byte SECTION_1 = 0x0A; + // 172.16.x.x/12 + final byte SECTION_2 = (byte) 0xAC; + final byte SECTION_3 = (byte) 0x10; + final byte SECTION_4 = (byte) 0x1F; + // 192.168.x.x/16 + final byte SECTION_5 = (byte) 0xC0; + final byte SECTION_6 = (byte) 0xA8; + switch (b0) { + case SECTION_1: + return true; + case SECTION_2: + if (b1 >= SECTION_3 && b1 <= SECTION_4) { + return true; + } + case SECTION_5: + switch (b1) { + case SECTION_6: + return true; + } + default: + return false; + } + } + + /** + * 将IPv4地址转换成字节 + * + * @param text IPv4地址 + * @return byte 字节 + */ + public static byte[] textToNumericFormatV4(String text) { + if (text.length() == 0) { + return null; + } + + byte[] bytes = new byte[4]; + String[] elements = text.split("\\.", -1); + try { + long l; + int i; + switch (elements.length) { + case 1: + l = Long.parseLong(elements[0]); + if ((l < 0L) || (l > 4294967295L)) { + return null; + } + bytes[0] = (byte) (int) (l >> 24 & 0xFF); + bytes[1] = (byte) (int) ((l & 0xFFFFFF) >> 16 & 0xFF); + bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 2: + l = Integer.parseInt(elements[0]); + if ((l < 0L) || (l > 255L)) { + return null; + } + bytes[0] = (byte) (int) (l & 0xFF); + l = Integer.parseInt(elements[1]); + if ((l < 0L) || (l > 16777215L)) { + return null; + } + bytes[1] = (byte) (int) (l >> 16 & 0xFF); + bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 3: + for (i = 0; i < 2; ++i) { + l = Integer.parseInt(elements[i]); + if ((l < 0L) || (l > 255L)) { + return null; + } + bytes[i] = (byte) (int) (l & 0xFF); + } + l = Integer.parseInt(elements[2]); + if ((l < 0L) || (l > 65535L)) { + return null; + } + bytes[2] = (byte) (int) (l >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 4: + for (i = 0; i < 4; ++i) { + l = Integer.parseInt(elements[i]); + if ((l < 0L) || (l > 255L)) { + return null; + } + bytes[i] = (byte) (int) (l & 0xFF); + } + break; + default: + return null; + } + } catch (NumberFormatException e) { + return null; + } + return bytes; + } + + /** + * 获取IP地址 + * + * @return 本地IP地址 + */ + public static String getHostIp() { + try { + return InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + } + return "127.0.0.1"; + } + + /** + * 获取主机名 + * + * @return 本地主机名 + */ + public static String getHostName() { + try { + return InetAddress.getLocalHost().getHostName(); + } catch (UnknownHostException e) { + } + return "未知"; + } + + /** + * 从多级反向代理中获得第一个非unknown IP地址 + * + * @param ip 获得的IP地址 + * @return 第一个非unknown IP地址 + */ + public static String getMultistageReverseProxyIp(String ip) { + // 多级反向代理检测 + if (ip != null && ip.indexOf(",") > 0) { + final String[] ips = ip.trim().split(","); + for (String subIp : ips) { + if (false == isUnknown(subIp)) { + ip = subIp; + break; + } + } + } + return StringUtils.substring(ip, 0, 255); + } + + /** + * 检测给定字符串是否为未知,多用于检测HTTP请求相关 + * + * @param checkString 被检测的字符串 + * @return 是否未知 + */ + public static boolean isUnknown(String checkString) { + return StringUtils.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString); + } + + /** + * 是否为IP + */ + public static boolean isIP(String ip) { + return StringUtils.isNotBlank(ip) && ip.matches(REGX_IP); + } + + /** + * 是否为IP,或 *为间隔的通配符地址 + */ + public static boolean isIpWildCard(String ip) { + return StringUtils.isNotBlank(ip) && ip.matches(REGX_IP_WILDCARD); + } + + /** + * 检测参数是否在ip通配符里 + */ + public static boolean ipIsInWildCardNoCheck(String ipWildCard, String ip) { + String[] s1 = ipWildCard.split("\\."); + String[] s2 = ip.split("\\."); + boolean isMatchedSeg = true; + for (int i = 0; i < s1.length && !s1[i].equals("*"); i++) { + if (!s1[i].equals(s2[i])) { + isMatchedSeg = false; + break; + } + } + return isMatchedSeg; + } + + /** + * 是否为特定格式如:“10.10.10.1-10.10.10.99”的ip段字符串 + */ + public static boolean isIPSegment(String ipSeg) { + return StringUtils.isNotBlank(ipSeg) && ipSeg.matches(REGX_IP_SEG); + } + + /** + * 判断ip是否在指定网段中 + */ + public static boolean ipIsInNetNoCheck(String iparea, String ip) { + int idx = iparea.indexOf('-'); + String[] sips = iparea.substring(0, idx).split("\\."); + String[] sipe = iparea.substring(idx + 1).split("\\."); + String[] sipt = ip.split("\\."); + long ips = 0L, ipe = 0L, ipt = 0L; + for (int i = 0; i < 4; ++i) { + ips = ips << 8 | Integer.parseInt(sips[i]); + ipe = ipe << 8 | Integer.parseInt(sipe[i]); + ipt = ipt << 8 | Integer.parseInt(sipt[i]); + } + if (ips > ipe) { + long t = ips; + ips = ipe; + ipe = t; + } + return ips <= ipt && ipt <= ipe; + } + + /** + * 校验ip是否符合过滤串规则 + * + * @param filter 过滤IP列表,支持后缀'*'通配,支持网段如:`10.10.10.1-10.10.10.99` + * @param ip 校验IP地址 + * @return boolean 结果 + */ + public static boolean isMatchedIp(String filter, String ip) { + if (StringUtils.isEmpty(filter) || StringUtils.isEmpty(ip)) { + return false; + } + String[] ips = filter.split(";"); + for (String iStr : ips) { + if (isIP(iStr) && iStr.equals(ip)) { + return true; + } else if (isIpWildCard(iStr) && ipIsInWildCardNoCheck(iStr, ip)) { + return true; + } else if (isIPSegment(iStr) && ipIsInNetNoCheck(iStr, ip)) { + return true; + } + } + return false; + } +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/JwtUtils.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/JwtUtils.java new file mode 100644 index 0000000..f560aa9 --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/JwtUtils.java @@ -0,0 +1,109 @@ +package com.bwie.common.utils; + +import com.bwie.common.constants.JwtConstants; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; + +import java.util.Map; + +/** + * @description: Jwt工具类 + * @author DongZl + */ +public class JwtUtils { + + /** + * 秘钥 + */ + public static String secret = JwtConstants.SECRET; + + /** + * 从数据声明生成令牌 + * + * @param claims 数据声明 + * @return 令牌 + */ + public static String createToken(Map claims){ + String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact(); + return token; + } + + /** + * 从令牌中获取数据声明 + * + * @param token 令牌 + * @return 数据声明 + */ + public static Claims parseToken(String token){ + return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody(); + } + /** + * 根据令牌获取用户标识 + * + * @param token 令牌 + * @return 用户ID + */ + public static String getUserKey(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.USER_KEY); + } + /** + * 根据令牌获取用户标识 + * + * @param claims 身份信息 + * @return 用户ID + */ + public static String getUserKey(Claims claims){ + return getValue(claims, JwtConstants.USER_KEY); + } + /** + * 根据令牌获取用户ID + * + * @param token 令牌 + * @return 用户ID + */ + public static String getUserId(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.DETAILS_USER_ID); + } + /** + * 根据身份信息获取用户ID + * + * @param claims 身份信息 + * @return 用户ID + */ + public static String getUserId(Claims claims){ + return getValue(claims, JwtConstants.DETAILS_USER_ID); + } + /** + * 根据令牌获取用户名 + * + * @param token 令牌 + * @return 用户名 + */ + public static String getUserName(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.DETAILS_USERNAME); + } + /** + * 根据身份信息获取用户名 + * + * @param claims 身份信息 + * @return 用户名 + */ + public static String getUserName(Claims claims){ + return getValue(claims, JwtConstants.DETAILS_USERNAME); + } + /** + * 根据身份信息获取键值 + * + * @param claims 身份信息 + * @param key 键 + * @return 值 + */ + public static String getValue(Claims claims, String key){ + Object obj = claims.get(key); + return obj == null ? "" : obj.toString(); + } +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/StringUtils.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/StringUtils.java new file mode 100644 index 0000000..93c47fd --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/StringUtils.java @@ -0,0 +1,68 @@ +package com.bwie.common.utils; + +import org.springframework.util.AntPathMatcher; + +import java.util.Collection; +import java.util.List; + +/** + * @author DongZl + * @description: 字符串处理工具类 + */ +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + /** + * * 判断一个对象是否为空 + * + * @param object Object + * @return true:为空 false:非空 + */ + public static boolean isNull(Object object) { + return object == null; + } + + /** + * * 判断一个Collection是否为空, 包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Collection coll) { + return isNull(coll) || coll.isEmpty(); + } + + /** + * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串 + * + * @param str 指定字符串 + * @param strs 需要检查的字符串数组 + * @return 是否匹配 + */ + public static boolean matches(String str, List strs) { + if (isEmpty(str) || isEmpty(strs)) { + return false; + } + for (String pattern : strs) { + if (isMatch(pattern, str)) + { + return true; + } + } + return false; + } + + /** + * 判断url是否与规则配置: + * ? 表示单个字符; + * * 表示一层路径内的任意字符串,不可跨层级; + * ** 表示任意层路径; + * + * @param pattern 匹配规则 + * @param url 需要匹配的url + * @return + */ + public static boolean isMatch(String pattern, String url) { + AntPathMatcher matcher = new AntPathMatcher(); + return matcher.match(pattern, url); + } +} diff --git a/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/TelSmsUtils.java b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/TelSmsUtils.java new file mode 100644 index 0000000..7accf0e --- /dev/null +++ b/代码/H6_week03/bwie-common/src/main/java/com/bwie/common/utils/TelSmsUtils.java @@ -0,0 +1,88 @@ +package com.bwie.common.utils; + +import com.alibaba.fastjson.JSONObject; +import com.aliyun.dysmsapi20170525.Client; +import com.aliyun.dysmsapi20170525.models.SendSmsRequest; +import com.aliyun.dysmsapi20170525.models.SendSmsResponse; +import com.aliyun.teaopenapi.models.Config; +import lombok.extern.log4j.Log4j2; + +import java.util.Map; + +/** + * 短信工具类 + */ +@Log4j2 +public class TelSmsUtils { + + /** + * 阿里云主账号AccessKey,accessKeySecret拥有所有API的访问权限 + */ + private static String accessKeyId = "LTAI5tQWdAodc1EJ1doShoW4"; + private static String accessKeySecret = "9MbfDBJ3Efqc6iN5yPFX0zq3ZErsII"; + private static String templateCode = "SMS0001"; + + /** + * 短信访问域名 + */ + private static String endpoint = "dysmsapi.aliyuncs.com"; + /** + * 短信签名 + */ + private static String signName = "登录验证"; + + /** + * 实例化短信对象 + */ + private static Client client; + + static { + log.info("初始化短信服务开始"); + long startTime = System.currentTimeMillis(); + try { + client = initClient(); + log.info("初始化短信成功:{}",signName); + } catch (Exception e) { + e.printStackTrace(); + } + log.info("初始化短信服务结束:耗时:{}MS",(System.currentTimeMillis()-startTime)); + } + /** + * 初始化短信对象 + * @return + * @throws Exception + */ + private static Client initClient() throws Exception{ + Config config = new Config() + // 您的AccessKey ID + .setAccessKeyId(accessKeyId) + // 您的AccessKey Secret + .setAccessKeySecret(accessKeySecret); + // 访问的域名 + config.endpoint = endpoint; + return new Client(config); + } + + /** + * 发送单条短信 + * @param tel + * @param templateCode SMS_153991546 + * @param sendDataMap + */ + public static String sendSms(String tel, String templateCode,Map sendDataMap){ + SendSmsRequest sendSmsRequest = new SendSmsRequest() + .setPhoneNumbers(tel) + .setSignName(signName) + .setTemplateCode(templateCode) + .setTemplateParam(JSONObject.toJSONString(sendDataMap)); + SendSmsResponse sendSmsResponse = null; + try { + log.info("发送短信验证码:消息内容是:【{}】", JSONObject.toJSONString(sendDataMap)); + sendSmsResponse = client.sendSms(sendSmsRequest); + } catch (Exception e) { + log.error("短信发送异常,手机号:【{}】,短信内容:【{}】,异常信息:【{}】", tel, sendDataMap, e); + } + return JSONObject.toJSONString(sendSmsResponse.getBody()); + } + +} diff --git a/代码/H6_week03/bwie-gateway/.gitignore b/代码/H6_week03/bwie-gateway/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/代码/H6_week03/bwie-gateway/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/代码/H6_week03/bwie-gateway/pom.xml b/代码/H6_week03/bwie-gateway/pom.xml new file mode 100644 index 0000000..8edec7d --- /dev/null +++ b/代码/H6_week03/bwie-gateway/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + com.bwie + H6_week03 + 1.0-SNAPSHOT + + + bwie-gateway + + + 8 + 8 + UTF-8 + + + + + + com.bwie + bwie-common + + + + + org.springframework.cloud + spring-cloud-starter-gateway + + + + com.alibaba.cloud + spring-cloud-alibaba-sentinel-gateway + + + + com.alibaba.csp + sentinel-spring-cloud-gateway-adapter + + + + diff --git a/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/GatewayApplication.java b/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/GatewayApplication.java new file mode 100644 index 0000000..3619137 --- /dev/null +++ b/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/GatewayApplication.java @@ -0,0 +1,11 @@ +package com.bwie.gateway; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class GatewayApplication { + public static void main(String[] args) { + SpringApplication.run(GatewayApplication.class); + } +} diff --git a/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/config/IgnoreWhiteConfig.java b/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/config/IgnoreWhiteConfig.java new file mode 100644 index 0000000..5705d6f --- /dev/null +++ b/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/config/IgnoreWhiteConfig.java @@ -0,0 +1,32 @@ +package com.bwie.gateway.config; + +import com.alibaba.fastjson.JSONObject; +import lombok.Data; +import lombok.extern.log4j.Log4j2; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: 放行白名单配置 + * @author DongZl + */ +@Configuration +@RefreshScope +@ConfigurationProperties(prefix = "ignore") +@Data +@Log4j2 +public class IgnoreWhiteConfig { + /** + * 放行白名单配置,网关不校验此处的白名单 + */ + private List whites = new ArrayList<>(); + + public void setWhites(List whites) { + log.info("加载网关路径白名单:{}", JSONObject.toJSONString(whites)); + this.whites = whites; + } +} diff --git a/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/utils/GatewayUtils.java b/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/utils/GatewayUtils.java new file mode 100644 index 0000000..7b789e5 --- /dev/null +++ b/代码/H6_week03/bwie-gateway/src/main/java/com/bwie/gateway/utils/GatewayUtils.java @@ -0,0 +1,98 @@ +package com.bwie.gateway.utils; + +import com.alibaba.fastjson.JSONObject; +import com.bwie.common.result.Result; +import com.bwie.common.utils.StringUtils; +import lombok.extern.log4j.Log4j2; +import org.springframework.core.io.buffer.DataBuffer; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.ServerHttpResponse; +import org.springframework.web.server.ServerWebExchange; +import reactor.core.publisher.Mono; + +/** + * @author DongZl + * @description: 网关处理工具类 + */ +@Log4j2 +public class GatewayUtils { + /** + * 添加请求头参数 + * @param mutate 修改对象 + * @param key 键 + * @param value 值 + */ + public static void addHeader(ServerHttpRequest.Builder mutate, String key, Object value) { + if (StringUtils.isEmpty(key)){ + log.warn("添加请求头参数键不可以为空"); + return; + } + if (value == null) { + log.warn("添加请求头参数:[{}]值为空",key); + return; + } + String valueStr = value.toString(); + mutate.header(key, valueStr); + log.info("添加请求头参数成功 - 键:[{}] , 值:[{}]", key , value); + } + + /** + * 删除请求头参数 + * @param mutate 修改对象 + * @param key 键 + */ + public static void removeHeader(ServerHttpRequest.Builder mutate, String key) { + if (StringUtils.isEmpty(key)){ + log.warn("删除请求头参数键不可以为空"); + return; + } + mutate.headers(httpHeaders -> httpHeaders.remove(key)).build(); + log.info("删除请求头参数 - 键:[{}]",key); + } + + /** + * 错误结果响应 + * @param exchange 响应上下文 + * @param msg 响应消息 + * @return + */ + public static Mono errorResponse(ServerWebExchange exchange, String msg, HttpStatus httpStatus) { + ServerHttpResponse response = exchange.getResponse(); + //设置HTTP响应头状态 + response.setStatusCode(httpStatus); + //设置HTTP响应头文本格式 + response.getHeaders().add(HttpHeaders.CONTENT_TYPE, "application/json"); + //定义响应内容 + Result result = Result.error(msg); + String resultJson = JSONObject.toJSONString(result); + log.error("[鉴权异常处理]请求路径:[{}],异常信息:[{}],响应结果:[{}]", exchange.getRequest().getPath(), msg, resultJson); + DataBuffer dataBuffer = response.bufferFactory().wrap(resultJson.getBytes()); + //进行响应 + return response.writeWith(Mono.just(dataBuffer)); + } + + /** + * 错误结果响应 + * @param exchange 响应上下文 + * @param msg 响应消息 + * @return + */ + public static Mono errorResponse(ServerWebExchange exchange, String msg) { + ServerHttpResponse response = exchange.getResponse(); + //设置HTTP响应头状态 + response.setStatusCode(HttpStatus.OK); + //设置HTTP响应头文本格式 + response.getHeaders().add(HttpHeaders.CONTENT_TYPE, "application/json"); + //定义响应内容 + Result result = Result.error(msg); + String resultJson = JSONObject.toJSONString(result); + log.error("[鉴权异常处理]请求路径:[{}],异常信息:[{}],响应结果:[{}]", exchange.getRequest().getPath(), msg, resultJson); + DataBuffer dataBuffer = response.bufferFactory().wrap(resultJson.getBytes()); + //进行响应 + return response.writeWith(Mono.just(dataBuffer)); + } + + +} diff --git a/代码/H6_week03/bwie-gateway/src/main/resources/bootstrap.yml b/代码/H6_week03/bwie-gateway/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..e9fc59d --- /dev/null +++ b/代码/H6_week03/bwie-gateway/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +# Tomcat +server: + port: 18080 +# Spring +spring: + application: + # 应用名称 + name: bwie-gateway + profiles: + # 环境配置 + active: dev + main: + # 允许使用循环引用 + allow-circular-references: true + # 允许定义相同的bean对象 去覆盖原有的 + allow-bean-definition-overriding: true + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.181.183:8848 + config: + # 配置中心地址 + server-addr: 111.229.181.183:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/代码/H6_week03/bwie-module/.gitignore b/代码/H6_week03/bwie-module/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/代码/H6_week03/bwie-module/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/代码/H6_week03/bwie-module/bwie-post/.gitignore b/代码/H6_week03/bwie-module/bwie-post/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/代码/H6_week03/bwie-module/bwie-post/pom.xml b/代码/H6_week03/bwie-module/bwie-post/pom.xml new file mode 100644 index 0000000..73274cd --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/pom.xml @@ -0,0 +1,69 @@ + + + 4.0.0 + + com.bwie + bwie-module + 1.0-SNAPSHOT + + + bwie-post + + + 8 + 8 + UTF-8 + + + + + + + com.bwie + bwie-common + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + mysql + mysql-connector-java + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + + + + org.springframework.boot + spring-boot-starter-test + test + + + com.github.tobato + fastdfs-client + 1.26.5 + + + + + diff --git a/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/PostApplication.java b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/PostApplication.java new file mode 100644 index 0000000..e67d285 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/PostApplication.java @@ -0,0 +1,11 @@ +package com.bwie.xxxxxx; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class PostApplication { + public static void main(String[] args) { + SpringApplication.run(PostApplication.class); + } +} diff --git a/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/controller/PostController.java b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/controller/PostController.java new file mode 100644 index 0000000..1ebff3a --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/controller/PostController.java @@ -0,0 +1,81 @@ +package com.bwie.xxxxxx.controller; + + +import com.bwie.common.domain.Await; +import com.bwie.common.domain.Firm; +import com.bwie.common.domain.Post; +import com.bwie.common.result.Result; +import com.bwie.xxxxxx.service.PostService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; + +@RestController +public class PostController { + + @Autowired + private PostService postService; + + + + /** + * 企业招聘职位展示 + * @return + */ + @PostMapping("/findPostList") + public Result findPostList(@RequestBody Post post){ + List findpostlist = postService.findPostList(post); + return Result.success(findpostlist); + } + + + /** + * 企业下拉数据 + * @return + */ + @GetMapping("/findFirm") + public Result findFirm(){ + List findfirm = postService.findFirm(); + return Result.success(findfirm); + } + + /** + * 在该岗位的候选人列表中插入一条记录 + * @param await + * @return + */ + @PostMapping("/insertAwait") + public Result insertAwait(@RequestBody Await await){ + Integer integer = postService.insertAwait(await); + return Result.success(integer); + } + + @PostMapping("/findAwaitList") + public Result findAwaitList(){ + List findawaitlist = postService.findAwaitList(); + return Result.success(findawaitlist); + } + + @PostMapping("/updateawaitState") + public Result updateawaitState(@RequestBody Await await) { + + Integer integer = postService.updateawaitState(await); + return Result.success(integer); + + } + + @Scheduled(cron = "0 */1 * * * ?") + public void schedPost() { + List postArrayList = new ArrayList<>(); + for (Post post : postArrayList) { + boolean postExpir = true; + + } + + + } +} diff --git a/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/mapper/PostMapper.java b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/mapper/PostMapper.java new file mode 100644 index 0000000..70a19ba --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/mapper/PostMapper.java @@ -0,0 +1,24 @@ +package com.bwie.xxxxxx.mapper; + +import com.bwie.common.domain.Await; +import com.bwie.common.domain.Firm; +import com.bwie.common.domain.Post; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PostMapper { + List findPostList(Post post); + + Integer insertAwait(Await await); + + List findFirm(); + + List findAwaitList(); + + Integer updateawaitState(Await await); + + void save(Integer integer); + +} diff --git a/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/service/PostService.java b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/service/PostService.java new file mode 100644 index 0000000..e6072cb --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/service/PostService.java @@ -0,0 +1,21 @@ +package com.bwie.xxxxxx.service; + +import com.bwie.common.domain.Await; +import com.bwie.common.domain.Firm; +import com.bwie.common.domain.Post; + +import java.util.List; + +public interface PostService { + List findPostList(Post post); + + Integer insertAwait(Await await); + + List findFirm(); + + List findAwaitList(); + + Integer updateawaitState(Await await); + + +} diff --git a/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/service/impl/PostServiceImpl.java b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/service/impl/PostServiceImpl.java new file mode 100644 index 0000000..c59c85c --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/src/main/java/com/bwie/xxxxxx/service/impl/PostServiceImpl.java @@ -0,0 +1,63 @@ +package com.bwie.xxxxxx.service.impl; + +import com.bwie.common.domain.Await; +import com.bwie.common.domain.Firm; +import com.bwie.common.domain.Post; +import com.bwie.xxxxxx.mapper.PostMapper; +import com.bwie.xxxxxx.service.PostService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.concurrent.CompletableFuture; + +@Service +public class PostServiceImpl implements PostService { + + @Autowired + private PostMapper postMapper; + + @Override + public List findPostList(Post post) { + return postMapper.findPostList(post); + } + + @Override + public Integer insertAwait(Await await) { + return postMapper.insertAwait(await); + } + + @Override + public List findFirm() { + return postMapper.findFirm(); + } + + @Override + public List findAwaitList() { + return postMapper.findAwaitList(); + } + + @Override + public Integer updateawaitState(Await await) { + Integer integer = postMapper.updateawaitState(await); + if (integer != null) { + await.setAwaitSatus("已通过"); + postMapper.save(integer); + // 2. 异步发送短信通知 + sendSMS(await.getAwaitTel(),"恭喜你,你的简历已通过,请前来面试!"); + } + return null; + } catch(Exception e) { + e.printStackTrace(); + } + + public void sendSMS(String phoneNumber, String message) { + System.out.println("发送短信至 " + phoneNumber + " 内容:" + message); + } + + } + + + + +} diff --git a/代码/H6_week03/bwie-module/bwie-post/src/main/resources/bootstrap.yml b/代码/H6_week03/bwie-module/bwie-post/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..15f58df --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/src/main/resources/bootstrap.yml @@ -0,0 +1,41 @@ +# Tomcat +server: + port: 9004 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-post + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.181.183:8848 + config: + # 配置中心地址 + server-addr: 111.229.181.183:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +fdfs: + so-timeout: 1500 # socket 连接时长 + connect-timeout: 600 # 连接 tracker 服务器超时时长 + # 这两个是你服务器的 IP 地址,注意 23000 端口也要打开,阿里云服务器记得配置安全组。tracker 要和 stroage 服务进行交流 + tracker-list: 111.229.181.183:22122 + web-server-url: 111.229.181.183:8888 + pool: + jmx-enabled: false + # 生成缩略图 + thumb-image: + height: 500 + width: 500 diff --git a/代码/H6_week03/bwie-module/bwie-post/src/main/resources/mapper/XXXmapper.xml b/代码/H6_week03/bwie-module/bwie-post/src/main/resources/mapper/XXXmapper.xml new file mode 100644 index 0000000..94fa4d3 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-post/src/main/resources/mapper/XXXmapper.xml @@ -0,0 +1,49 @@ + + + + + +INSERT INTO `h6_week03`.`await` + (`await_id`, `post_name`, `await_name`, `await_tel`, `want_post`, `want_pay`, `await_date`, `await_satus`) +VALUES + (0, #{postName}, #{awaitName}, #{awaitTel}, #{wantPost}, #{wantPay}, #{awaitDate}, #{awaitSatus}); + + + + +UPDATE `h6_week03`.`await` SET `await_satus` = #{awaitSatus} WHERE `await_id` = #{awaitId}; + + + + + + + + + + diff --git a/代码/H6_week03/bwie-module/bwie-user/.gitignore b/代码/H6_week03/bwie-module/bwie-user/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/代码/H6_week03/bwie-module/bwie-user/pom.xml b/代码/H6_week03/bwie-module/bwie-user/pom.xml new file mode 100644 index 0000000..900863d --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/pom.xml @@ -0,0 +1,63 @@ + + + 4.0.0 + + com.bwie + bwie-module + 1.0-SNAPSHOT + + + bwie-user + + + 8 + 8 + UTF-8 + + + + + + com.bwie + bwie-common + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + mysql + mysql-connector-java + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + diff --git a/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/UserApplication.java b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/UserApplication.java new file mode 100644 index 0000000..1bf0686 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/UserApplication.java @@ -0,0 +1,11 @@ +package com.bwie.user; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserApplication { + public static void main(String[] args) { + SpringApplication.run(UserApplication.class); + } +} diff --git a/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/controller/UserController.java b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/controller/UserController.java new file mode 100644 index 0000000..f57da11 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/controller/UserController.java @@ -0,0 +1,24 @@ +package com.bwie.user.controller; + + +import com.bwie.common.domain.User; +import com.bwie.common.result.Result; +import com.bwie.user.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class UserController { + + + @Autowired + private UserService userService; + + @GetMapping("/findByUserPhone/{userPhone}") + public Result findByUserPhone(@PathVariable String userPhone){ + User user = userService.findByUserPhone(userPhone); + return Result.success(user); + } +} diff --git a/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/mapper/UserMapper.java b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/mapper/UserMapper.java new file mode 100644 index 0000000..43c43fa --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/mapper/UserMapper.java @@ -0,0 +1,9 @@ +package com.bwie.user.mapper; + +import com.bwie.common.domain.User; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface UserMapper { + User findByUserPhone(String userPhone); +} diff --git a/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/service/UserService.java b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/service/UserService.java new file mode 100644 index 0000000..3abe14e --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/service/UserService.java @@ -0,0 +1,7 @@ +package com.bwie.user.service; + +import com.bwie.common.domain.User; + +public interface UserService { + User findByUserPhone(String userPhone); +} diff --git a/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..a162b48 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java @@ -0,0 +1,19 @@ +package com.bwie.user.service.impl; + +import com.bwie.common.domain.User; +import com.bwie.user.mapper.UserMapper; +import com.bwie.user.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class UserServiceImpl implements UserService { + + @Autowired + private UserMapper userMapper; + + @Override + public User findByUserPhone(String userPhone) { + return userMapper.findByUserPhone(userPhone); + } +} diff --git a/代码/H6_week03/bwie-module/bwie-user/src/main/resources/bootstrap.yml b/代码/H6_week03/bwie-module/bwie-user/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..8caa169 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +# Tomcat +server: + port: 9002 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-user + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.181.183:8848 + config: + # 配置中心地址 + server-addr: 111.229.181.183:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/代码/H6_week03/bwie-module/bwie-user/src/main/resources/mapper/UserMapper.xml b/代码/H6_week03/bwie-module/bwie-user/src/main/resources/mapper/UserMapper.xml new file mode 100644 index 0000000..3f5b729 --- /dev/null +++ b/代码/H6_week03/bwie-module/bwie-user/src/main/resources/mapper/UserMapper.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/代码/H6_week03/bwie-module/pom.xml b/代码/H6_week03/bwie-module/pom.xml new file mode 100644 index 0000000..f8b6778 --- /dev/null +++ b/代码/H6_week03/bwie-module/pom.xml @@ -0,0 +1,88 @@ + + + 4.0.0 + + com.bwie + H6_week03 + 1.0-SNAPSHOT + + + bwie-module + pom + + bwie-user + bwie-post + + + + 8 + 8 + UTF-8 + + + + + + + com.bwie + bwie-common + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + mysql + mysql-connector-java + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + + + + org.springframework.boot + spring-boot-starter-amqp + + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + + + + org.springframework + spring-web + 5.3.14 + + + org.springframework.boot + spring-boot-starter-test + test + + + com.github.tobato + fastdfs-client + 1.26.5 + + + + diff --git a/代码/H6_week03/pom.xml b/代码/H6_week03/pom.xml new file mode 100644 index 0000000..615ac7d --- /dev/null +++ b/代码/H6_week03/pom.xml @@ -0,0 +1,69 @@ + + + 4.0.0 + + com.bwie + H6_week03 + 1.0-SNAPSHOT + pom + + bwie-common + bwie-gateway + bwie-auth + bwie-module + + + + 8 + 8 + UTF-8 + + + + + + + spring-boot-starter-parent + org.springframework.boot + 2.6.2 + + + + + + + + org.springframework.cloud + spring-cloud-dependencies + 2021.0.0 + pom + import + + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + 2021.1 + pom + import + + + + com.alibaba.nacos + nacos-client + 2.0.4 + + + + + com.bwie + bwie-common + 1.0-SNAPSHOT + + + + + + diff --git a/代码/src/App.vue b/代码/src/App.vue new file mode 100644 index 0000000..ec9032c --- /dev/null +++ b/代码/src/App.vue @@ -0,0 +1,11 @@ + + + diff --git a/代码/src/api/post.js b/代码/src/api/post.js new file mode 100644 index 0000000..89d0fdc --- /dev/null +++ b/代码/src/api/post.js @@ -0,0 +1,36 @@ +import request from '@/utils/request' + +export function findPostList(data) { + return request({ + url: '/post/findPostList', + method: 'post', + data + }) +} + +export function findAwaitList() { + return request({ + url: '/post/findAwaitList', + method: 'post', + }) +} + + + +export function updateawaitState(data) { + return request({ + url: '/post/updateawaitState', + method: 'post', + data + }) +} + +export function insertAwait(data) { + return request({ + url: '/post/insertAwait', + method: 'post', + data + }) +} + + diff --git a/代码/src/api/table.js b/代码/src/api/table.js new file mode 100644 index 0000000..2752f52 --- /dev/null +++ b/代码/src/api/table.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getList(params) { + return request({ + url: '/vue-admin-template/table/list', + method: 'get', + params + }) +} diff --git a/代码/src/api/user.js b/代码/src/api/user.js new file mode 100644 index 0000000..74094af --- /dev/null +++ b/代码/src/api/user.js @@ -0,0 +1,31 @@ +import request from '@/utils/request' + +export function login(data) { + return request({ + url: '/auth/login', + method: 'post', + data + }) +} + +export function getInfo(token) { + return request({ + url: '/auth/userInfo', + method: 'get', + params: { token } + }) +} + +export function logout() { + return request({ + url: '/auth/logout', + method: 'post' + }) +} + +export function sendCode(userPhone) { + return request({ + url: '/auth/sendCode/'+userPhone, + method: 'get' + }) +} diff --git a/代码/src/assets/404_images/404.png b/代码/src/assets/404_images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8e2305cc973ad2121403aee4bf08728f76c461 GIT binary patch literal 98071 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 literal 0 HcmV?d00001 diff --git a/代码/src/assets/404_images/404_cloud.png b/代码/src/assets/404_images/404_cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..c6281d09013e0a2c5f8e699a0a6038d9480291e5 GIT binary patch literal 4766 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 literal 0 HcmV?d00001 diff --git a/代码/src/components/Breadcrumb/index.vue b/代码/src/components/Breadcrumb/index.vue new file mode 100644 index 0000000..29f9a04 --- /dev/null +++ b/代码/src/components/Breadcrumb/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/代码/src/components/Hamburger/index.vue b/代码/src/components/Hamburger/index.vue new file mode 100644 index 0000000..368b002 --- /dev/null +++ b/代码/src/components/Hamburger/index.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/代码/src/components/SvgIcon/index.vue b/代码/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..b07ded2 --- /dev/null +++ b/代码/src/components/SvgIcon/index.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/代码/src/icons/index.js b/代码/src/icons/index.js new file mode 100644 index 0000000..2c6b309 --- /dev/null +++ b/代码/src/icons/index.js @@ -0,0 +1,9 @@ +import Vue from 'vue' +import SvgIcon from '@/components/SvgIcon'// svg component + +// register globally +Vue.component('svg-icon', SvgIcon) + +const req = require.context('./svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys().map(requireContext) +requireAll(req) diff --git a/代码/src/icons/svg/dashboard.svg b/代码/src/icons/svg/dashboard.svg new file mode 100644 index 0000000..5317d37 --- /dev/null +++ b/代码/src/icons/svg/dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/example.svg b/代码/src/icons/svg/example.svg new file mode 100644 index 0000000..46f42b5 --- /dev/null +++ b/代码/src/icons/svg/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/eye-open.svg b/代码/src/icons/svg/eye-open.svg new file mode 100644 index 0000000..88dcc98 --- /dev/null +++ b/代码/src/icons/svg/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/eye.svg b/代码/src/icons/svg/eye.svg new file mode 100644 index 0000000..16ed2d8 --- /dev/null +++ b/代码/src/icons/svg/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/form.svg b/代码/src/icons/svg/form.svg new file mode 100644 index 0000000..dcbaa18 --- /dev/null +++ b/代码/src/icons/svg/form.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/link.svg b/代码/src/icons/svg/link.svg new file mode 100644 index 0000000..48197ba --- /dev/null +++ b/代码/src/icons/svg/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/nested.svg b/代码/src/icons/svg/nested.svg new file mode 100644 index 0000000..06713a8 --- /dev/null +++ b/代码/src/icons/svg/nested.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/password.svg b/代码/src/icons/svg/password.svg new file mode 100644 index 0000000..e291d85 --- /dev/null +++ b/代码/src/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/table.svg b/代码/src/icons/svg/table.svg new file mode 100644 index 0000000..0e3dc9d --- /dev/null +++ b/代码/src/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/tree.svg b/代码/src/icons/svg/tree.svg new file mode 100644 index 0000000..dd4b7dd --- /dev/null +++ b/代码/src/icons/svg/tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svg/user.svg b/代码/src/icons/svg/user.svg new file mode 100644 index 0000000..0ba0716 --- /dev/null +++ b/代码/src/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/代码/src/icons/svgo.yml b/代码/src/icons/svgo.yml new file mode 100644 index 0000000..d11906a --- /dev/null +++ b/代码/src/icons/svgo.yml @@ -0,0 +1,22 @@ +# replace default config + +# multipass: true +# full: true + +plugins: + + # - name + # + # or: + # - name: false + # - name: true + # + # or: + # - name: + # param1: 1 + # param2: 2 + +- removeAttrs: + attrs: + - 'fill' + - 'fill-rule' diff --git a/代码/src/layout/components/AppMain.vue b/代码/src/layout/components/AppMain.vue new file mode 100644 index 0000000..f6a3286 --- /dev/null +++ b/代码/src/layout/components/AppMain.vue @@ -0,0 +1,40 @@ + + + + + + + diff --git a/代码/src/layout/components/Navbar.vue b/代码/src/layout/components/Navbar.vue new file mode 100644 index 0000000..0ca5cf6 --- /dev/null +++ b/代码/src/layout/components/Navbar.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/代码/src/layout/components/Sidebar/FixiOSBug.js b/代码/src/layout/components/Sidebar/FixiOSBug.js new file mode 100644 index 0000000..bc14856 --- /dev/null +++ b/代码/src/layout/components/Sidebar/FixiOSBug.js @@ -0,0 +1,26 @@ +export default { + computed: { + device() { + return this.$store.state.app.device + } + }, + mounted() { + // In order to fix the click on menu on the ios device will trigger the mouseleave bug + // https://github.com/PanJiaChen/vue-element-admin/issues/1135 + this.fixBugIniOS() + }, + methods: { + fixBugIniOS() { + const $subMenu = this.$refs.subMenu + if ($subMenu) { + const handleMouseleave = $subMenu.handleMouseleave + $subMenu.handleMouseleave = (e) => { + if (this.device === 'mobile') { + return + } + handleMouseleave(e) + } + } + } + } +} diff --git a/代码/src/layout/components/Sidebar/Item.vue b/代码/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..aa1f5da --- /dev/null +++ b/代码/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,41 @@ + + + diff --git a/代码/src/layout/components/Sidebar/Link.vue b/代码/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..530b3d5 --- /dev/null +++ b/代码/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,43 @@ + + + diff --git a/代码/src/layout/components/Sidebar/Logo.vue b/代码/src/layout/components/Sidebar/Logo.vue new file mode 100644 index 0000000..040fab6 --- /dev/null +++ b/代码/src/layout/components/Sidebar/Logo.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/代码/src/layout/components/Sidebar/SidebarItem.vue b/代码/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..a418c3d --- /dev/null +++ b/代码/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,95 @@ + + + diff --git a/代码/src/layout/components/Sidebar/index.vue b/代码/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..da39034 --- /dev/null +++ b/代码/src/layout/components/Sidebar/index.vue @@ -0,0 +1,56 @@ + + + diff --git a/代码/src/layout/components/index.js b/代码/src/layout/components/index.js new file mode 100644 index 0000000..97ee3cd --- /dev/null +++ b/代码/src/layout/components/index.js @@ -0,0 +1,3 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' diff --git a/代码/src/layout/index.vue b/代码/src/layout/index.vue new file mode 100644 index 0000000..db22a7b --- /dev/null +++ b/代码/src/layout/index.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/代码/src/layout/mixin/ResizeHandler.js b/代码/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..e8d0df8 --- /dev/null +++ b/代码/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,45 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('app/closeSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.$_resizeHandler) + }, + beforeDestroy() { + window.removeEventListener('resize', this.$_resizeHandler) + }, + mounted() { + const isMobile = this.$_isMobile() + if (isMobile) { + store.dispatch('app/toggleDevice', 'mobile') + store.dispatch('app/closeSideBar', { withoutAnimation: true }) + } + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + $_resizeHandler() { + if (!document.hidden) { + const isMobile = this.$_isMobile() + store.dispatch('app/toggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('app/closeSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/代码/src/main.js b/代码/src/main.js new file mode 100644 index 0000000..01cba2f --- /dev/null +++ b/代码/src/main.js @@ -0,0 +1,43 @@ +import Vue from 'vue' + +import 'normalize.css/normalize.css' // A modern alternative to CSS resets + +import ElementUI from 'element-ui' +import 'element-ui/lib/theme-chalk/index.css' +import locale from 'element-ui/lib/locale/lang/en' // lang i18n + +import '@/styles/index.scss' // global css + +import App from './App' +import store from './store' +import router from './router' + +import '@/icons' // icon +import '@/permission' // permission control + +/** + * If you don't want to use mock-server + * you want to use MockJs for mock api + * you can execute: mockXHR() + * + * Currently MockJs will be used in the production environment, + * please remove it before going online ! ! ! + */ +if (process.env.NODE_ENV === 'production') { + const { mockXHR } = require('../mock') + mockXHR() +} + +// set ElementUI lang to EN +Vue.use(ElementUI, { locale }) +// 如果想要中文版 element-ui,按如下方式声明 +// Vue.use(ElementUI) + +Vue.config.productionTip = false + +new Vue({ + el: '#app', + router, + store, + render: h => h(App) +}) diff --git a/代码/src/permission.js b/代码/src/permission.js new file mode 100644 index 0000000..fa1ea19 --- /dev/null +++ b/代码/src/permission.js @@ -0,0 +1,64 @@ +import router from './router' +import store from './store' +import { Message } from 'element-ui' +import NProgress from 'nprogress' // progress bar +import 'nprogress/nprogress.css' // progress bar style +import { getToken } from '@/utils/auth' // get token from cookie +import getPageTitle from '@/utils/get-page-title' + +NProgress.configure({ showSpinner: false }) // NProgress Configuration + +const whiteList = ['/login'] // no redirect whitelist + +router.beforeEach(async(to, from, next) => { + // start progress bar + NProgress.start() + + // set page title + document.title = getPageTitle(to.meta.title) + + // determine whether the user has logged in + const hasToken = getToken() + + if (hasToken) { + if (to.path === '/login') { + // if is logged in, redirect to the home page + next({ path: '/' }) + NProgress.done() + } else { + const hasGetUserInfo = store.getters.name + if (hasGetUserInfo) { + next() + } else { + try { + // get user info + await store.dispatch('user/getInfo') + + next() + } catch (error) { + // remove token and go to login page to re-login + await store.dispatch('user/resetToken') + Message.error(error || 'Has Error') + next(`/login?redirect=${to.path}`) + NProgress.done() + } + } + } + } else { + /* has no token*/ + + if (whiteList.indexOf(to.path) !== -1) { + // in the free login whitelist, go directly + next() + } else { + // other pages that do not have permission to access are redirected to the login page. + next(`/login?redirect=${to.path}`) + NProgress.done() + } + } +}) + +router.afterEach(() => { + // finish progress bar + NProgress.done() +}) diff --git a/代码/src/router/index.js b/代码/src/router/index.js new file mode 100644 index 0000000..d72ccfa --- /dev/null +++ b/代码/src/router/index.js @@ -0,0 +1,194 @@ +import Vue from 'vue' +import Router from 'vue-router' + +Vue.use(Router) + +/* Layout */ +import Layout from '@/layout' + +/** + * Note: sub-menu only appear when route children.length >= 1 + * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html + * + * hidden: true if set true, item will not show in the sidebar(default is false) + * alwaysShow: true if set true, will always show the root menu + * if not set alwaysShow, when item has more than one children route, + * it will becomes nested mode, otherwise not show the root menu + * redirect: noRedirect if set noRedirect will no redirect in the breadcrumb + * name:'router-name' the name is used by (must set!!!) + * meta : { + roles: ['admin','editor'] control the page roles (you can set multiple roles) + title: 'title' the name show in sidebar and breadcrumb (recommend set) + icon: 'svg-name'/'el-icon-x' the icon show in the sidebar + breadcrumb: false if set false, the item will hidden in breadcrumb(default is true) + activeMenu: '/example/list' if set path, the sidebar will highlight the path you set + } + */ + +/** + * constantRoutes + * a base page that does not have permission requirements + * all roles can be accessed + */ +export const constantRoutes = [ + { + path: '/login', + component: () => import('@/views/login/index'), + hidden: true + }, + + { + path: '/404', + component: () => import('@/views/404'), + hidden: true + }, + + { + path: '/', + component: Layout, + redirect: '/dashboard', + children: [{ + path: 'dashboard', + name: 'Dashboard', + component: () => import('@/views/dashboard/index'), + meta: { title: 'Dashboard', icon: 'dashboard' } + }] + }, + + { + path: '/example', + component: Layout, + redirect: '/example/table', + name: 'Example', + meta: { title: 'Example', icon: 'el-icon-s-help' }, + children: [ + { + path: 'table', + name: 'Table', + component: () => import('@/views/table/index'), + meta: { title: 'Table', icon: 'table' } + }, + { + path: 'tree', + name: 'Tree', + component: () => import('@/views/tree/index'), + meta: { title: 'Tree', icon: 'tree' } + } + ] + }, + + { + path: '/form', + component: Layout, + children: [ + { + path: 'index', + name: 'Form', + component: () => import('@/views/form/index'), + meta: { title: 'Form', icon: 'form' } + } + ] + }, + + { + path: '/post', + component: Layout, + children: [ + { + path: 'index', + name: '企业招聘职位', + component: () => import('@/views/post/index'), + meta: { title: '企业招聘职位', icon: 'form' } + } + ] + }, + + { + path: '/nested', + component: Layout, + redirect: '/nested/menu1', + name: 'Nested', + meta: { + title: 'Nested', + icon: 'nested' + }, + children: [ + { + path: 'menu1', + component: () => import('@/views/nested/menu1/index'), // Parent router-view + name: 'Menu1', + meta: { title: 'Menu1' }, + children: [ + { + path: 'menu1-1', + component: () => import('@/views/nested/menu1/menu1-1'), + name: 'Menu1-1', + meta: { title: 'Menu1-1' } + }, + { + path: 'menu1-2', + component: () => import('@/views/nested/menu1/menu1-2'), + name: 'Menu1-2', + meta: { title: 'Menu1-2' }, + children: [ + { + path: 'menu1-2-1', + component: () => import('@/views/nested/menu1/menu1-2/menu1-2-1'), + name: 'Menu1-2-1', + meta: { title: 'Menu1-2-1' } + }, + { + path: 'menu1-2-2', + component: () => import('@/views/nested/menu1/menu1-2/menu1-2-2'), + name: 'Menu1-2-2', + meta: { title: 'Menu1-2-2' } + } + ] + }, + { + path: 'menu1-3', + component: () => import('@/views/nested/menu1/menu1-3'), + name: 'Menu1-3', + meta: { title: 'Menu1-3' } + } + ] + }, + { + path: 'menu2', + component: () => import('@/views/nested/menu2/index'), + name: 'Menu2', + meta: { title: 'menu2' } + } + ] + }, + + { + path: 'external-link', + component: Layout, + children: [ + { + path: 'https://panjiachen.github.io/vue-element-admin-site/#/', + meta: { title: 'External Link', icon: 'link' } + } + ] + }, + + // 404 page must be placed at the end !!! + { path: '*', redirect: '/404', hidden: true } +] + +const createRouter = () => new Router({ + // mode: 'history', // require service support + scrollBehavior: () => ({ y: 0 }), + routes: constantRoutes +}) + +const router = createRouter() + +// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 +export function resetRouter() { + const newRouter = createRouter() + router.matcher = newRouter.matcher // reset router +} + +export default router diff --git a/代码/src/settings.js b/代码/src/settings.js new file mode 100644 index 0000000..ae3c494 --- /dev/null +++ b/代码/src/settings.js @@ -0,0 +1,16 @@ +module.exports = { + + title: 'Vue Admin Template', + + /** + * @type {boolean} true | false + * @description Whether fix the header + */ + fixedHeader: false, + + /** + * @type {boolean} true | false + * @description Whether show the logo in sidebar + */ + sidebarLogo: false +} diff --git a/代码/src/store/getters.js b/代码/src/store/getters.js new file mode 100644 index 0000000..5ab7b4c --- /dev/null +++ b/代码/src/store/getters.js @@ -0,0 +1,8 @@ +const getters = { + sidebar: state => state.app.sidebar, + device: state => state.app.device, + token: state => state.user.token, + avatar: state => state.user.avatar, + name: state => state.user.name +} +export default getters diff --git a/代码/src/store/index.js b/代码/src/store/index.js new file mode 100644 index 0000000..6be466a --- /dev/null +++ b/代码/src/store/index.js @@ -0,0 +1,19 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import getters from './getters' +import app from './modules/app' +import settings from './modules/settings' +import user from './modules/user' + +Vue.use(Vuex) + +const store = new Vuex.Store({ + modules: { + app, + settings, + user + }, + getters +}) + +export default store diff --git a/代码/src/store/modules/app.js b/代码/src/store/modules/app.js new file mode 100644 index 0000000..7ea7e33 --- /dev/null +++ b/代码/src/store/modules/app.js @@ -0,0 +1,48 @@ +import Cookies from 'js-cookie' + +const state = { + sidebar: { + opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true, + withoutAnimation: false + }, + device: 'desktop' +} + +const mutations = { + TOGGLE_SIDEBAR: state => { + state.sidebar.opened = !state.sidebar.opened + state.sidebar.withoutAnimation = false + if (state.sidebar.opened) { + Cookies.set('sidebarStatus', 1) + } else { + Cookies.set('sidebarStatus', 0) + } + }, + CLOSE_SIDEBAR: (state, withoutAnimation) => { + Cookies.set('sidebarStatus', 0) + state.sidebar.opened = false + state.sidebar.withoutAnimation = withoutAnimation + }, + TOGGLE_DEVICE: (state, device) => { + state.device = device + } +} + +const actions = { + toggleSideBar({ commit }) { + commit('TOGGLE_SIDEBAR') + }, + closeSideBar({ commit }, { withoutAnimation }) { + commit('CLOSE_SIDEBAR', withoutAnimation) + }, + toggleDevice({ commit }, device) { + commit('TOGGLE_DEVICE', device) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/代码/src/store/modules/settings.js b/代码/src/store/modules/settings.js new file mode 100644 index 0000000..b3f33f8 --- /dev/null +++ b/代码/src/store/modules/settings.js @@ -0,0 +1,32 @@ +import defaultSettings from '@/settings' + +const { showSettings, fixedHeader, sidebarLogo } = defaultSettings + +const state = { + showSettings: showSettings, + fixedHeader: fixedHeader, + sidebarLogo: sidebarLogo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + // eslint-disable-next-line no-prototype-builtins + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/代码/src/store/modules/user.js b/代码/src/store/modules/user.js new file mode 100644 index 0000000..c7394b4 --- /dev/null +++ b/代码/src/store/modules/user.js @@ -0,0 +1,97 @@ +import { login, logout, getInfo } from '@/api/user' +import { getToken, setToken, removeToken } from '@/utils/auth' +import { resetRouter } from '@/router' + +const getDefaultState = () => { + return { + token: getToken(), + name: '', + avatar: '' + } +} + +const state = getDefaultState() + +const mutations = { + RESET_STATE: (state) => { + Object.assign(state, getDefaultState()) + }, + SET_TOKEN: (state, token) => { + state.token = token + }, + SET_NAME: (state, name) => { + state.name = name + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar + } +} + +const actions = { + // user login + login({ commit }, userInfo) { + const { userPhone, userCode } = userInfo + return new Promise((resolve, reject) => { + login({ userPhone: userPhone.trim(), userCode: userCode }).then(response => { + const { data } = response + commit('SET_TOKEN', data.token) + setToken(data.token) + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + + // get user info + getInfo({ commit, state }) { + return new Promise((resolve, reject) => { + getInfo(state.token).then(response => { + const { data } = response + + if (!data) { + return reject('Verification failed, please Login again.') + } + + const { name, avatar } = data + + commit('SET_NAME', name) + commit('SET_AVATAR', avatar) + resolve(data) + }).catch(error => { + reject(error) + }) + }) + }, + + // user logout + logout({ commit, state }) { + return new Promise((resolve, reject) => { + logout(state.token).then(() => { + removeToken() // must remove token first + resetRouter() + commit('RESET_STATE') + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + + // remove token + resetToken({ commit }) { + return new Promise(resolve => { + removeToken() // must remove token first + commit('RESET_STATE') + resolve() + }) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/代码/src/styles/element-ui.scss b/代码/src/styles/element-ui.scss new file mode 100644 index 0000000..0062411 --- /dev/null +++ b/代码/src/styles/element-ui.scss @@ -0,0 +1,49 @@ +// cover some element-ui styles + +.el-breadcrumb__inner, +.el-breadcrumb__inner a { + font-weight: 400 !important; +} + +.el-upload { + input[type="file"] { + display: none !important; + } +} + +.el-upload__input { + display: none; +} + + +// to fixed https://github.com/ElemeFE/element/issues/2461 +.el-dialog { + transform: none; + left: 0; + position: relative; + margin: 0 auto; +} + +// refine element ui upload +.upload-container { + .el-upload { + width: 100%; + + .el-upload-dragger { + width: 100%; + height: 200px; + } + } +} + +// dropdown +.el-dropdown-menu { + a { + display: block + } +} + +// to fix el-date-picker css style +.el-range-separator { + box-sizing: content-box; +} diff --git a/代码/src/styles/index.scss b/代码/src/styles/index.scss new file mode 100644 index 0000000..3b4da51 --- /dev/null +++ b/代码/src/styles/index.scss @@ -0,0 +1,65 @@ +@import './variables.scss'; +@import './mixin.scss'; +@import './transition.scss'; +@import './element-ui.scss'; +@import './sidebar.scss'; + +body { + height: 100%; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; +} + +label { + font-weight: 700; +} + +html { + height: 100%; + box-sizing: border-box; +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +} + +// main-container global css +.app-container { + padding: 20px; +} diff --git a/代码/src/styles/mixin.scss b/代码/src/styles/mixin.scss new file mode 100644 index 0000000..36b74bb --- /dev/null +++ b/代码/src/styles/mixin.scss @@ -0,0 +1,28 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} diff --git a/代码/src/styles/sidebar.scss b/代码/src/styles/sidebar.scss new file mode 100644 index 0000000..94760cc --- /dev/null +++ b/代码/src/styles/sidebar.scss @@ -0,0 +1,226 @@ +#app { + + .main-container { + min-height: 100%; + transition: margin-left .28s; + margin-left: $sideBarWidth; + position: relative; + } + + .sidebar-container { + transition: width 0.28s; + width: $sideBarWidth !important; + background-color: $menuBg; + height: 100%; + position: fixed; + font-size: 0px; + top: 0; + bottom: 0; + left: 0; + z-index: 1001; + overflow: hidden; + + // reset element-ui css + .horizontal-collapse-transition { + transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; + } + + .scrollbar-wrapper { + overflow-x: hidden !important; + } + + .el-scrollbar__bar.is-vertical { + right: 0px; + } + + .el-scrollbar { + height: 100%; + } + + &.has-logo { + .el-scrollbar { + height: calc(100% - 50px); + } + } + + .is-horizontal { + display: none; + } + + a { + display: inline-block; + width: 100%; + overflow: hidden; + } + + .svg-icon { + margin-right: 16px; + } + + .sub-el-icon { + margin-right: 12px; + margin-left: -2px; + } + + .el-menu { + border: none; + height: 100%; + width: 100% !important; + } + + // menu hover + .submenu-title-noDropdown, + .el-submenu__title { + &:hover { + background-color: $menuHover !important; + } + } + + .is-active>.el-submenu__title { + color: $subMenuActiveText !important; + } + + & .nest-menu .el-submenu>.el-submenu__title, + & .el-submenu .el-menu-item { + min-width: $sideBarWidth !important; + background-color: $subMenuBg !important; + + &:hover { + background-color: $subMenuHover !important; + } + } + } + + .hideSidebar { + .sidebar-container { + width: 54px !important; + } + + .main-container { + margin-left: 54px; + } + + .submenu-title-noDropdown { + padding: 0 !important; + position: relative; + + .el-tooltip { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + + .sub-el-icon { + margin-left: 19px; + } + } + } + + .el-submenu { + overflow: hidden; + + &>.el-submenu__title { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + + .sub-el-icon { + margin-left: 19px; + } + + .el-submenu__icon-arrow { + display: none; + } + } + } + + .el-menu--collapse { + .el-submenu { + &>.el-submenu__title { + &>span { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + } + } + } + } + + .el-menu--collapse .el-menu .el-submenu { + min-width: $sideBarWidth !important; + } + + // mobile responsive + .mobile { + .main-container { + margin-left: 0px; + } + + .sidebar-container { + transition: transform .28s; + width: $sideBarWidth !important; + } + + &.hideSidebar { + .sidebar-container { + pointer-events: none; + transition-duration: 0.3s; + transform: translate3d(-$sideBarWidth, 0, 0); + } + } + } + + .withoutAnimation { + + .main-container, + .sidebar-container { + transition: none; + } + } +} + +// when menu collapsed +.el-menu--vertical { + &>.el-menu { + .svg-icon { + margin-right: 16px; + } + .sub-el-icon { + margin-right: 12px; + margin-left: -2px; + } + } + + .nest-menu .el-submenu>.el-submenu__title, + .el-menu-item { + &:hover { + // you can use $subMenuHover + background-color: $menuHover !important; + } + } + + // the scroll bar appears when the subMenu is too long + >.el-menu--popup { + max-height: 100vh; + overflow-y: auto; + + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } + } +} diff --git a/代码/src/styles/transition.scss b/代码/src/styles/transition.scss new file mode 100644 index 0000000..4cb27cc --- /dev/null +++ b/代码/src/styles/transition.scss @@ -0,0 +1,48 @@ +// global transition css + +/* fade */ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.28s; +} + +.fade-enter, +.fade-leave-active { + opacity: 0; +} + +/* fade-transform */ +.fade-transform-leave-active, +.fade-transform-enter-active { + transition: all .5s; +} + +.fade-transform-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transform-leave-to { + opacity: 0; + transform: translateX(30px); +} + +/* breadcrumb transition */ +.breadcrumb-enter-active, +.breadcrumb-leave-active { + transition: all .5s; +} + +.breadcrumb-enter, +.breadcrumb-leave-active { + opacity: 0; + transform: translateX(20px); +} + +.breadcrumb-move { + transition: all .5s; +} + +.breadcrumb-leave-active { + position: absolute; +} diff --git a/代码/src/styles/variables.scss b/代码/src/styles/variables.scss new file mode 100644 index 0000000..be55772 --- /dev/null +++ b/代码/src/styles/variables.scss @@ -0,0 +1,25 @@ +// sidebar +$menuText:#bfcbd9; +$menuActiveText:#409EFF; +$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 + +$menuBg:#304156; +$menuHover:#263445; + +$subMenuBg:#1f2d3d; +$subMenuHover:#001528; + +$sideBarWidth: 210px; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + menuText: $menuText; + menuActiveText: $menuActiveText; + subMenuActiveText: $subMenuActiveText; + menuBg: $menuBg; + menuHover: $menuHover; + subMenuBg: $subMenuBg; + subMenuHover: $subMenuHover; + sideBarWidth: $sideBarWidth; +} diff --git a/代码/src/utils/auth.js b/代码/src/utils/auth.js new file mode 100644 index 0000000..059af18 --- /dev/null +++ b/代码/src/utils/auth.js @@ -0,0 +1,15 @@ +import Cookies from 'js-cookie' + +const TokenKey = 'vue_admin_template_token' + +export function getToken() { + return Cookies.get(TokenKey) +} + +export function setToken(token) { + return Cookies.set(TokenKey, token) +} + +export function removeToken() { + return Cookies.remove(TokenKey) +} diff --git a/代码/src/utils/get-page-title.js b/代码/src/utils/get-page-title.js new file mode 100644 index 0000000..a6de99d --- /dev/null +++ b/代码/src/utils/get-page-title.js @@ -0,0 +1,10 @@ +import defaultSettings from '@/settings' + +const title = defaultSettings.title || 'Vue Admin Template' + +export default function getPageTitle(pageTitle) { + if (pageTitle) { + return `${pageTitle} - ${title}` + } + return `${title}` +} diff --git a/代码/src/utils/index.js b/代码/src/utils/index.js new file mode 100644 index 0000000..4830c04 --- /dev/null +++ b/代码/src/utils/index.js @@ -0,0 +1,117 @@ +/** + * Created by PanJiaChen on 16/11/18. + */ + +/** + * Parse the time to string + * @param {(Object|string|number)} time + * @param {string} cFormat + * @returns {string | null} + */ +export function parseTime(time, cFormat) { + if (arguments.length === 0 || !time) { + return null + } + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string')) { + if ((/^[0-9]+$/.test(time))) { + // support "1548221490638" + time = parseInt(time) + } else { + // support safari + // https://stackoverflow.com/questions/4310953/invalid-date-in-safari + time = time.replace(new RegExp(/-/gm), '/') + } + } + + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => { + const value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] } + return value.toString().padStart(2, '0') + }) + return time_str +} + +/** + * @param {number} time + * @param {string} option + * @returns {string} + */ +export function formatTime(time, option) { + if (('' + time).length === 10) { + time = parseInt(time) * 1000 + } else { + time = +time + } + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + '月' + + d.getDate() + + '日' + + d.getHours() + + '时' + + d.getMinutes() + + '分' + ) + } +} + +/** + * @param {string} url + * @returns {Object} + */ +export function param2Obj(url) { + const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') + if (!search) { + return {} + } + const obj = {} + const searchArr = search.split('&') + searchArr.forEach(v => { + const index = v.indexOf('=') + if (index !== -1) { + const name = v.substring(0, index) + const val = v.substring(index + 1, v.length) + obj[name] = val + } + }) + return obj +} diff --git a/代码/src/utils/request.js b/代码/src/utils/request.js new file mode 100644 index 0000000..aacf52d --- /dev/null +++ b/代码/src/utils/request.js @@ -0,0 +1,85 @@ +import axios from 'axios' +import { MessageBox, Message } from 'element-ui' +import store from '@/store' +import { getToken } from '@/utils/auth' + +// create an axios instance +const service = axios.create({ + baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url + // withCredentials: true, // send cookies when cross-domain requests + timeout: 5000 // request timeout +}) + +// request interceptor +service.interceptors.request.use( + config => { + // do something before request is sent + + if (store.getters.token) { + // let each request carry token + // ['X-Token'] is a custom headers key + // please modify it according to the actual situation + config.headers['token'] = getToken() + } + return config + }, + error => { + // do something with request error + console.log(error) // for debug + return Promise.reject(error) + } +) + +// response interceptor +service.interceptors.response.use( + /** + * If you want to get http information such as headers or status + * Please return response => response + */ + + /** + * Determine the request status by custom code + * Here is just an example + * You can also judge the status by HTTP Status Code + */ + response => { + const res = response.data + + // if the custom code is not 20000, it is judged as an error. + if (res.code !== 200) { + Message({ + msg: res.msg || 'Error', + type: 'error', + duration: 5 * 1000 + }) + + // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired; + if (res.code === 50008 || res.code === 50012 || res.code === 50014) { + // to re-login + MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', { + confirmButtonText: 'Re-Login', + cancelButtonText: 'Cancel', + type: 'warning' + }).then(() => { + store.dispatch('user/resetToken').then(() => { + location.reload() + }) + }) + } + return Promise.reject(new Error(res.msg || 'Error')) + } else { + return res + } + }, + error => { + console.log('err' + error) // for debug + Message({ + msg: error.msg, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } +) + +export default service diff --git a/代码/src/utils/validate.js b/代码/src/utils/validate.js new file mode 100644 index 0000000..8d962ad --- /dev/null +++ b/代码/src/utils/validate.js @@ -0,0 +1,20 @@ +/** + * Created by PanJiaChen on 16/11/18. + */ + +/** + * @param {string} path + * @returns {Boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} diff --git a/代码/src/views/404.vue b/代码/src/views/404.vue new file mode 100644 index 0000000..785f55b --- /dev/null +++ b/代码/src/views/404.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/代码/src/views/dashboard/index.vue b/代码/src/views/dashboard/index.vue new file mode 100644 index 0000000..33e5ab6 --- /dev/null +++ b/代码/src/views/dashboard/index.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/代码/src/views/form/index.vue b/代码/src/views/form/index.vue new file mode 100644 index 0000000..08f75dc --- /dev/null +++ b/代码/src/views/form/index.vue @@ -0,0 +1,85 @@ + + + + + + diff --git a/代码/src/views/login/index.vue b/代码/src/views/login/index.vue new file mode 100644 index 0000000..70e5bf2 --- /dev/null +++ b/代码/src/views/login/index.vue @@ -0,0 +1,229 @@ + + + + + + + diff --git a/代码/src/views/nested/menu1/index.vue b/代码/src/views/nested/menu1/index.vue new file mode 100644 index 0000000..30cb670 --- /dev/null +++ b/代码/src/views/nested/menu1/index.vue @@ -0,0 +1,7 @@ + diff --git a/代码/src/views/nested/menu1/menu1-1/index.vue b/代码/src/views/nested/menu1/menu1-1/index.vue new file mode 100644 index 0000000..27e173a --- /dev/null +++ b/代码/src/views/nested/menu1/menu1-1/index.vue @@ -0,0 +1,7 @@ + diff --git a/代码/src/views/nested/menu1/menu1-2/index.vue b/代码/src/views/nested/menu1/menu1-2/index.vue new file mode 100644 index 0000000..0c86276 --- /dev/null +++ b/代码/src/views/nested/menu1/menu1-2/index.vue @@ -0,0 +1,7 @@ + diff --git a/代码/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue b/代码/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue new file mode 100644 index 0000000..f87d88f --- /dev/null +++ b/代码/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue @@ -0,0 +1,5 @@ + diff --git a/代码/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue b/代码/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue new file mode 100644 index 0000000..d88789f --- /dev/null +++ b/代码/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue @@ -0,0 +1,5 @@ + diff --git a/代码/src/views/nested/menu1/menu1-3/index.vue b/代码/src/views/nested/menu1/menu1-3/index.vue new file mode 100644 index 0000000..f7cd073 --- /dev/null +++ b/代码/src/views/nested/menu1/menu1-3/index.vue @@ -0,0 +1,5 @@ + diff --git a/代码/src/views/nested/menu2/index.vue b/代码/src/views/nested/menu2/index.vue new file mode 100644 index 0000000..19dd48f --- /dev/null +++ b/代码/src/views/nested/menu2/index.vue @@ -0,0 +1,5 @@ + diff --git a/代码/src/views/post/index.vue b/代码/src/views/post/index.vue new file mode 100644 index 0000000..b3f49f9 --- /dev/null +++ b/代码/src/views/post/index.vue @@ -0,0 +1,277 @@ + + + + diff --git a/代码/src/views/table/index.vue b/代码/src/views/table/index.vue new file mode 100644 index 0000000..a1ed847 --- /dev/null +++ b/代码/src/views/table/index.vue @@ -0,0 +1,79 @@ + + + diff --git a/代码/src/views/tree/index.vue b/代码/src/views/tree/index.vue new file mode 100644 index 0000000..89c6b01 --- /dev/null +++ b/代码/src/views/tree/index.vue @@ -0,0 +1,78 @@ + + + + diff --git a/理论/屏幕截图 2024-08-06 204153.png b/理论/屏幕截图 2024-08-06 204153.png new file mode 100644 index 0000000000000000000000000000000000000000..bb091e160958c36a185b284d9dfb5e9561aa104b GIT binary patch literal 191911 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

=X=Ffq2(>M%L(%!2ueTN& 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 O+d_*f=PzxUdRGUD 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%0AM+Oi+DKsZ97=Q6ePvdy@x@^9@n?^m1 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 z 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 Z(Z&vsktH*ch0*3TTs1PkTz2th)ZYub4#5Bb literal 0 HcmV?d00001 diff --git a/理论/屏幕截图 2024-08-06 204200.png b/理论/屏幕截图 2024-08-06 204200.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ab65ceee761b87bbcba02ae2af79399b99e4b5 GIT binary patch literal 164853 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 iwm;tF{Cv>;J$2L9K}Eg=