Commit 441d4b7cb63f1ec068b4db90a308248137978178
0 parents
初始化权限管理也没见
Showing
36 changed files
with
612 additions
and
0 deletions
Too many changes to show.
To preserve performance only 36 of 278 files are displayed.
.browserslistrc
0 → 100644
.editorconfig
0 → 100644
| 1 | +++ a/.editorconfig | |
| 1 | +# http://editorconfig.org | |
| 2 | + | |
| 3 | +# top-most EditorConfig file | |
| 4 | +root = true | |
| 5 | + | |
| 6 | +# Unix-style newlines with a newline ending every file | |
| 7 | +[*] | |
| 8 | +charset = utf-8 | |
| 9 | +end_of_line = lf | |
| 10 | +insert_final_newline = true | |
| 11 | +trim_trailing_whitespace = true | |
| 12 | + | |
| 13 | +# Indentation override for js(x), ts(x) and vue files | |
| 14 | +[*.{js,jsx,ts,tsx,vue}] | |
| 15 | +indent_size = 2 | |
| 16 | +indent_style = space | |
| 17 | + | |
| 18 | +# Indentation override for css related files | |
| 19 | +[*.{css,styl,scss,less,sass}] | |
| 20 | +indent_size = 2 | |
| 21 | +indent_style = space | |
| 22 | + | |
| 23 | +# Indentation override for html files | |
| 24 | +[*.html] | |
| 25 | +indent_size = 2 | |
| 26 | +indent_style = space | |
| 27 | + | |
| 28 | +# Trailing space override for markdown file | |
| 29 | +[*.md] | |
| 30 | +trim_trailing_whitespace = false | |
| 31 | + | |
| 32 | +# Indentation override for config files | |
| 33 | +[*.{json,yml}] | |
| 34 | +indent_size = 2 | |
| 35 | +indent_style = space | ... | ... |
.env
0 → 100644
.eslintignore
0 → 100644
.eslintrc.js
0 → 100644
| 1 | +++ a/.eslintrc.js | |
| 1 | +module.exports = { | |
| 2 | + root: true, | |
| 3 | + env: { | |
| 4 | + browser: true, | |
| 5 | + node: true, | |
| 6 | + es6: true | |
| 7 | + }, | |
| 8 | + parserOptions: { | |
| 9 | + parser: '@typescript-eslint/parser', | |
| 10 | + sourceType: 'module' | |
| 11 | + }, | |
| 12 | + plugins: ['vue'], | |
| 13 | + rules: { | |
| 14 | + '@typescript-eslint/ban-types': 'off', | |
| 15 | + '@typescript-eslint/explicit-module-boundary-types': 'off', | |
| 16 | + '@typescript-eslint/member-delimiter-style': [ | |
| 17 | + 'error', | |
| 18 | + { | |
| 19 | + multiline: { | |
| 20 | + delimiter: 'none' | |
| 21 | + }, | |
| 22 | + singleline: { | |
| 23 | + delimiter: 'comma' | |
| 24 | + } | |
| 25 | + } | |
| 26 | + ], | |
| 27 | + '@typescript-eslint/no-explicit-any': 'off', | |
| 28 | + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', | |
| 29 | + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', | |
| 30 | + 'space-before-function-paren': ['error', 'never'], | |
| 31 | + 'vue/require-default-prop': 'off', | |
| 32 | + 'vue/require-prop-type-constructor': 'off', | |
| 33 | + 'vue/require-prop-types': 'off', | |
| 34 | + 'vue/prop-name-casing': 'off', | |
| 35 | + 'vue/array-bracket-spacing': 'error', | |
| 36 | + 'vue/arrow-spacing': 'error', | |
| 37 | + 'vue/block-spacing': 'error', | |
| 38 | + 'vue/brace-style': 'error', | |
| 39 | + 'vue/camelcase': 'off', | |
| 40 | + 'vue/comma-dangle': 'error', | |
| 41 | + 'vue/component-name-in-template-casing': 'error', | |
| 42 | + 'vue/eqeqeq': 'error', | |
| 43 | + 'vue/key-spacing': 'error', | |
| 44 | + 'vue/match-component-file-name': 'error', | |
| 45 | + 'vue/no-v-html': 'off', | |
| 46 | + // 'vue/object-curly-spacing': 'error', | |
| 47 | + 'vue/html-self-closing': [ | |
| 48 | + // Require self-closing on HTML elements (<div>) vue/html-self-closing的解决方法 | |
| 49 | + 'error', | |
| 50 | + { | |
| 51 | + html: { | |
| 52 | + void: 'never', | |
| 53 | + normal: 'never', | |
| 54 | + component: 'always' | |
| 55 | + }, | |
| 56 | + svg: 'always', | |
| 57 | + math: 'always' | |
| 58 | + } | |
| 59 | + ], | |
| 60 | + 'vue/html-closing-bracket-spacing': [ | |
| 61 | + 'error', | |
| 62 | + { | |
| 63 | + startTag: 'never', | |
| 64 | + endTag: 'never', | |
| 65 | + selfClosingTag: 'always' | |
| 66 | + } | |
| 67 | + ], | |
| 68 | + 'vue/max-attributes-per-line': [ | |
| 69 | + // 解决 Attribute "mode" should be on a new line (vue/max-attributes-per-line) | |
| 70 | + 'error', | |
| 71 | + { | |
| 72 | + singleline: 100, | |
| 73 | + multiline: { | |
| 74 | + max: 3, | |
| 75 | + allowFirstLine: true | |
| 76 | + } | |
| 77 | + } | |
| 78 | + ], | |
| 79 | + indent: ['off', 2], | |
| 80 | + 'no-tabs': 'off', | |
| 81 | + 'vue/singleline-html-element-content-newline': 'off' | |
| 82 | + }, | |
| 83 | + extends: [ | |
| 84 | + 'eslint:recommended', | |
| 85 | + 'plugin:vue/recommended', | |
| 86 | + '@vue/standard', | |
| 87 | + '@vue/typescript' | |
| 88 | + ] | |
| 89 | +} | ... | ... |
.gitignore
0 → 100644
| 1 | +++ a/.gitignore | |
| 1 | +.DS_Store | |
| 2 | +node_modules | |
| 3 | +/dist | |
| 4 | + | |
| 5 | +/tests/e2e/videos/ | |
| 6 | +/tests/e2e/screenshots/ | |
| 7 | +/tests/**/coverage/ | |
| 8 | + | |
| 9 | +# local env files | |
| 10 | +.env.local | |
| 11 | +.env.*.local | |
| 12 | + | |
| 13 | +# Log files | |
| 14 | +npm-debug.log* | |
| 15 | +yarn-debug.log* | |
| 16 | +yarn-error.log* | |
| 17 | + | |
| 18 | +# Editor directories and files | |
| 19 | +.idea | |
| 20 | +.vscode | |
| 21 | +.history | |
| 22 | +*.suo | |
| 23 | +*.ntvs* | |
| 24 | +*.njsproj | |
| 25 | +*.sln | |
| 26 | +*.sw* | |
| 27 | +*.history | |
| 28 | +*.iml | ... | ... |
.gitlab-ci.yml
0 → 100644
| 1 | +++ a/.gitlab-ci.yml | |
| 1 | +####提示 | |
| 2 | +#1.以下脚本设置的是master分支被合并时执行(设置为平常用来发版本的分支即可) | |
| 3 | +#2.版本自动化部署到nginx下 | |
| 4 | +#3.执行yml脚本的runner名字设置的vue-runner1,即对应tags | |
| 5 | + | |
| 6 | +stages: # Stages 表示构建阶段,这里有两个阶段 install, deploy | |
| 7 | +- install | |
| 8 | +- deploy | |
| 9 | + | |
| 10 | +cache: | |
| 11 | + key: ${CI_BUILD_REF_NAME} | |
| 12 | + paths: | |
| 13 | + - node_modules/ | |
| 14 | + | |
| 15 | +install-staging:dep: # Jobs 表示构建工作,表示某个 Stage 里面执行的工作。 | |
| 16 | + stage: install | |
| 17 | + tags: | |
| 18 | + - authority-vue-runner #与注册runner时填写的tags保持一致 | |
| 19 | + only: # 定义了只有在被merge到了master分支上 才会执行部署脚本。 | |
| 20 | + - develop2.0 | |
| 21 | + script: | |
| 22 | + - echo "=====start install======" | |
| 23 | + - npm install # --registry=https://registry.npm.taobao.org #安装依赖 | |
| 24 | + - echo "=====end install======" | |
| 25 | + artifacts: # 将这个job生成的依赖传递给下一个job。需要设置dependencies | |
| 26 | + expire_in: 60 mins # artifacets 的过期时间,因为这些数据都是直接保存在 Gitlab 机器上的,过于久远的资源就可以删除掉了 | |
| 27 | + paths: # 需要被传递给下一个job的目录。 | |
| 28 | + - node_modules/ | |
| 29 | + | |
| 30 | +deploy-staging:dep: | |
| 31 | + stage: deploy | |
| 32 | + tags: | |
| 33 | + - authority-vue-runner | |
| 34 | + only: | |
| 35 | + - develop2.0 | |
| 36 | + script: | |
| 37 | + - echo "=====start build======" | |
| 38 | + - npm run build # 将项目打包 | |
| 39 | + - echo "=====start deploy======" | |
| 40 | + - sudo cp -rf ./dist/ /usr/share/nginx/html/authority | |
| 41 | + - echo "=====end deploy!!!!!!======" | |
| 0 | 42 | \ No newline at end of file | ... | ... |
.nvmdrc
0 → 100644
.prettierrc
0 → 100644
| 1 | +++ a/.prettierrc | |
| 1 | +{ | |
| 2 | + "spaceBeforeFunctionParen": true, | |
| 3 | + "tabWidth": 2, | |
| 4 | + "useTabs": false, | |
| 5 | + "trailingComma": "none", | |
| 6 | + "eslintIntegration": true, | |
| 7 | + "singleQuote": true, | |
| 8 | + "semi": false, | |
| 9 | + "bracketSpacing": true, | |
| 10 | + "jsxBracketSameLine": false, | |
| 11 | + "arrowParens": "avoid" | |
| 12 | +} | ... | ... |
Dockerfile
0 → 100644
LICENSE
0 → 100644
| 1 | +++ a/LICENSE | |
| 1 | + Apache License | |
| 2 | + Version 2.0, January 2004 | |
| 3 | + http://www.apache.org/licenses/ | |
| 4 | + | |
| 5 | + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |
| 6 | + | |
| 7 | + 1. Definitions. | |
| 8 | + | |
| 9 | + "License" shall mean the terms and conditions for use, reproduction, | |
| 10 | + and distribution as defined by Sections 1 through 9 of this document. | |
| 11 | + | |
| 12 | + "Licensor" shall mean the copyright owner or entity authorized by | |
| 13 | + the copyright owner that is granting the License. | |
| 14 | + | |
| 15 | + "Legal Entity" shall mean the union of the acting entity and all | |
| 16 | + other entities that control, are controlled by, or are under common | |
| 17 | + control with that entity. For the purposes of this definition, | |
| 18 | + "control" means (i) the power, direct or indirect, to cause the | |
| 19 | + direction or management of such entity, whether by contract or | |
| 20 | + otherwise, or (ii) ownership of fifty percent (50%) or more of the | |
| 21 | + outstanding shares, or (iii) beneficial ownership of such entity. | |
| 22 | + | |
| 23 | + "You" (or "Your") shall mean an individual or Legal Entity | |
| 24 | + exercising permissions granted by this License. | |
| 25 | + | |
| 26 | + "Source" form shall mean the preferred form for making modifications, | |
| 27 | + including but not limited to software source code, documentation | |
| 28 | + source, and configuration files. | |
| 29 | + | |
| 30 | + "Object" form shall mean any form resulting from mechanical | |
| 31 | + transformation or translation of a Source form, including but | |
| 32 | + not limited to compiled object code, generated documentation, | |
| 33 | + and conversions to other media types. | |
| 34 | + | |
| 35 | + "Work" shall mean the work of authorship, whether in Source or | |
| 36 | + Object form, made available under the License, as indicated by a | |
| 37 | + copyright notice that is included in or attached to the work | |
| 38 | + (an example is provided in the Appendix below). | |
| 39 | + | |
| 40 | + "Derivative Works" shall mean any work, whether in Source or Object | |
| 41 | + form, that is based on (or derived from) the Work and for which the | |
| 42 | + editorial revisions, annotations, elaborations, or other modifications | |
| 43 | + represent, as a whole, an original work of authorship. For the purposes | |
| 44 | + of this License, Derivative Works shall not include works that remain | |
| 45 | + separable from, or merely link (or bind by name) to the interfaces of, | |
| 46 | + the Work and Derivative Works thereof. | |
| 47 | + | |
| 48 | + "Contribution" shall mean any work of authorship, including | |
| 49 | + the original version of the Work and any modifications or additions | |
| 50 | + to that Work or Derivative Works thereof, that is intentionally | |
| 51 | + submitted to Licensor for inclusion in the Work by the copyright owner | |
| 52 | + or by an individual or Legal Entity authorized to submit on behalf of | |
| 53 | + the copyright owner. For the purposes of this definition, "submitted" | |
| 54 | + means any form of electronic, verbal, or written communication sent | |
| 55 | + to the Licensor or its representatives, including but not limited to | |
| 56 | + communication on electronic mailing lists, source code control systems, | |
| 57 | + and issue tracking systems that are managed by, or on behalf of, the | |
| 58 | + Licensor for the purpose of discussing and improving the Work, but | |
| 59 | + excluding communication that is conspicuously marked or otherwise | |
| 60 | + designated in writing by the copyright owner as "Not a Contribution." | |
| 61 | + | |
| 62 | + "Contributor" shall mean Licensor and any individual or Legal Entity | |
| 63 | + on behalf of whom a Contribution has been received by Licensor and | |
| 64 | + subsequently incorporated within the Work. | |
| 65 | + | |
| 66 | + 2. Grant of Copyright License. Subject to the terms and conditions of | |
| 67 | + this License, each Contributor hereby grants to You a perpetual, | |
| 68 | + worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |
| 69 | + copyright license to reproduce, prepare Derivative Works of, | |
| 70 | + publicly display, publicly perform, sublicense, and distribute the | |
| 71 | + Work and such Derivative Works in Source or Object form. | |
| 72 | + | |
| 73 | + 3. Grant of Patent License. Subject to the terms and conditions of | |
| 74 | + this License, each Contributor hereby grants to You a perpetual, | |
| 75 | + worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |
| 76 | + (except as stated in this section) patent license to make, have made, | |
| 77 | + use, offer to sell, sell, import, and otherwise transfer the Work, | |
| 78 | + where such license applies only to those patent claims licensable | |
| 79 | + by such Contributor that are necessarily infringed by their | |
| 80 | + Contribution(s) alone or by combination of their Contribution(s) | |
| 81 | + with the Work to which such Contribution(s) was submitted. If You | |
| 82 | + institute patent litigation against any entity (including a | |
| 83 | + cross-claim or counterclaim in a lawsuit) alleging that the Work | |
| 84 | + or a Contribution incorporated within the Work constitutes direct | |
| 85 | + or contributory patent infringement, then any patent licenses | |
| 86 | + granted to You under this License for that Work shall terminate | |
| 87 | + as of the date such litigation is filed. | |
| 88 | + | |
| 89 | + 4. Redistribution. You may reproduce and distribute copies of the | |
| 90 | + Work or Derivative Works thereof in any medium, with or without | |
| 91 | + modifications, and in Source or Object form, provided that You | |
| 92 | + meet the following conditions: | |
| 93 | + | |
| 94 | + (a) You must give any other recipients of the Work or | |
| 95 | + Derivative Works a copy of this License; and | |
| 96 | + | |
| 97 | + (b) You must cause any modified files to carry prominent notices | |
| 98 | + stating that You changed the files; and | |
| 99 | + | |
| 100 | + (c) You must retain, in the Source form of any Derivative Works | |
| 101 | + that You distribute, all copyright, patent, trademark, and | |
| 102 | + attribution notices from the Source form of the Work, | |
| 103 | + excluding those notices that do not pertain to any part of | |
| 104 | + the Derivative Works; and | |
| 105 | + | |
| 106 | + (d) If the Work includes a "NOTICE" text file as part of its | |
| 107 | + distribution, then any Derivative Works that You distribute must | |
| 108 | + include a readable copy of the attribution notices contained | |
| 109 | + within such NOTICE file, excluding those notices that do not | |
| 110 | + pertain to any part of the Derivative Works, in at least one | |
| 111 | + of the following places: within a NOTICE text file distributed | |
| 112 | + as part of the Derivative Works; within the Source form or | |
| 113 | + documentation, if provided along with the Derivative Works; or, | |
| 114 | + within a display generated by the Derivative Works, if and | |
| 115 | + wherever such third-party notices normally appear. The contents | |
| 116 | + of the NOTICE file are for informational purposes only and | |
| 117 | + do not modify the License. You may add Your own attribution | |
| 118 | + notices within Derivative Works that You distribute, alongside | |
| 119 | + or as an addendum to the NOTICE text from the Work, provided | |
| 120 | + that such additional attribution notices cannot be construed | |
| 121 | + as modifying the License. | |
| 122 | + | |
| 123 | + You may add Your own copyright statement to Your modifications and | |
| 124 | + may provide additional or different license terms and conditions | |
| 125 | + for use, reproduction, or distribution of Your modifications, or | |
| 126 | + for any such Derivative Works as a whole, provided Your use, | |
| 127 | + reproduction, and distribution of the Work otherwise complies with | |
| 128 | + the conditions stated in this License. | |
| 129 | + | |
| 130 | + 5. Submission of Contributions. Unless You explicitly state otherwise, | |
| 131 | + any Contribution intentionally submitted for inclusion in the Work | |
| 132 | + by You to the Licensor shall be under the terms and conditions of | |
| 133 | + this License, without any additional terms or conditions. | |
| 134 | + Notwithstanding the above, nothing herein shall supersede or modify | |
| 135 | + the terms of any separate license agreement you may have executed | |
| 136 | + with Licensor regarding such Contributions. | |
| 137 | + | |
| 138 | + 6. Trademarks. This License does not grant permission to use the trade | |
| 139 | + names, trademarks, service marks, or product names of the Licensor, | |
| 140 | + except as required for reasonable and customary use in describing the | |
| 141 | + origin of the Work and reproducing the content of the NOTICE file. | |
| 142 | + | |
| 143 | + 7. Disclaimer of Warranty. Unless required by applicable law or | |
| 144 | + agreed to in writing, Licensor provides the Work (and each | |
| 145 | + Contributor provides its Contributions) on an "AS IS" BASIS, | |
| 146 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | |
| 147 | + implied, including, without limitation, any warranties or conditions | |
| 148 | + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | |
| 149 | + PARTICULAR PURPOSE. You are solely responsible for determining the | |
| 150 | + appropriateness of using or redistributing the Work and assume any | |
| 151 | + risks associated with Your exercise of permissions under this License. | |
| 152 | + | |
| 153 | + 8. Limitation of Liability. In no event and under no legal theory, | |
| 154 | + whether in tort (including negligence), contract, or otherwise, | |
| 155 | + unless required by applicable law (such as deliberate and grossly | |
| 156 | + negligent acts) or agreed to in writing, shall any Contributor be | |
| 157 | + liable to You for damages, including any direct, indirect, special, | |
| 158 | + incidental, or consequential damages of any character arising as a | |
| 159 | + result of this License or out of the use or inability to use the | |
| 160 | + Work (including but not limited to damages for loss of goodwill, | |
| 161 | + work stoppage, computer failure or malfunction, or any and all | |
| 162 | + other commercial damages or losses), even if such Contributor | |
| 163 | + has been advised of the possibility of such damages. | |
| 164 | + | |
| 165 | + 9. Accepting Warranty or Additional Liability. While redistributing | |
| 166 | + the Work or Derivative Works thereof, You may choose to offer, | |
| 167 | + and charge a fee for, acceptance of support, warranty, indemnity, | |
| 168 | + or other liability obligations and/or rights consistent with this | |
| 169 | + License. However, in accepting such obligations, You may act only | |
| 170 | + on Your own behalf and on Your sole responsibility, not on behalf | |
| 171 | + of any other Contributor, and only if You agree to indemnify, | |
| 172 | + defend, and hold each Contributor harmless for any liability | |
| 173 | + incurred by, or claims asserted against, such Contributor by reason | |
| 174 | + of your accepting any such warranty or additional liability. | |
| 175 | + | |
| 176 | + END OF TERMS AND CONDITIONS | |
| 177 | + | |
| 178 | + APPENDIX: How to apply the Apache License to your work. | |
| 179 | + | |
| 180 | + To apply the Apache License to your work, attach the following | |
| 181 | + boilerplate notice, with the fields enclosed by brackets "{}" | |
| 182 | + replaced with your own identifying information. (Don't include | |
| 183 | + the brackets!) The text should be enclosed in the appropriate | |
| 184 | + comment syntax for the file format. We also recommend that a | |
| 185 | + file or class name and description of purpose be included on the | |
| 186 | + same "printed page" as the copyright notice for easier | |
| 187 | + identification within third-party archives. | |
| 188 | + | |
| 189 | + Copyright 2021 web | |
| 190 | + | |
| 191 | + Licensed under the Apache License, Version 2.0 (the "License"); | |
| 192 | + you may not use this file except in compliance with the License. | |
| 193 | + You may obtain a copy of the License at | |
| 194 | + | |
| 195 | + http://www.apache.org/licenses/LICENSE-2.0 | |
| 196 | + | |
| 197 | + Unless required by applicable law or agreed to in writing, software | |
| 198 | + distributed under the License is distributed on an "AS IS" BASIS, | |
| 199 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 200 | + See the License for the specific language governing permissions and | |
| 201 | + limitations under the License. | ... | ... |
README.md
0 → 100644
| 1 | +++ a/README.md | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | +传智权限管家 | |
| 5 | +========================= | |
| 6 | + | |
| 7 | +- [后端Gitee地址](https://gitee.com/itcastopen/itcast-authority.git) | |
| 8 | +- [后端Github地址](https://github.com/itcastopen/itcast-authority.git) | |
| 9 | +- [前端Gitee地址](https://gitee.com/itcastopen/itcast-authority-web.git) | |
| 10 | +- [前端Github地址](https://github.com/itcastopen/itcast-authority-web.git) | |
| 11 | + | |
| 12 | + | |
| 13 | +**在线演示** | |
| 14 | +========================= | |
| 15 | +- [官方主页](https://pip.itcast.cn/java-qxgj) | |
| 16 | +- [演示地址](http://www-permission-admin.itheima.net) | |
| 17 | + | |
| 18 | +**项目背景** | |
| 19 | +========================= | |
| 20 | + | |
| 21 | +- 权限管理对于任何一个后台系统都非常重要,随着业务的发展,不同阶段的权限系统又面临着不同设计和重构,企业中不同业务系统权限控制方式不统一,维护和实现成本增加,开发对接效率低,实现方式多样化,用户各种权限分配需求不能满足,实现起来非常蹩脚,这样只会造成恶性循环,最终可能影响业务发展甚至推倒重做,我们极为迫切的需要一个通用权限系统,界面美观、安全性高、便于管理使用、不侵入业务、又可以支持并发量高个一个通用权限系统,那么传智品达通用权限系统应运而生,解决企业开发中遇到的痛点和难点,也是小伙伴们学习源码、设计模式、常用微服务架构等经典知识的平台和途径! | |
| 22 | + | |
| 23 | +- [了解更多项目](https://project-dev.itheima.net/java),改变命运,少走弯路,进入真项目知识海洋畅游。 | |
| 24 | + | |
| 25 | +功能特性 | |
| 26 | +========================= | |
| 27 | + | |
| 28 | + | |
| 29 | +系统架构 | |
| 30 | +========================= | |
| 31 | + | |
| 32 | + | |
| 33 | +功能结构 | |
| 34 | +========================= | |
| 35 | + | |
| 36 | + | |
| 37 | +技术架构 | |
| 38 | +========================= | |
| 39 | + | |
| 40 | + | |
| 41 | +用户管理流程图 | |
| 42 | +========================= | |
| 43 | + | |
| 44 | + | |
| 45 | +组织管理流程图 | |
| 46 | +========================= | |
| 47 | + | |
| 48 | + | |
| 49 | +角色管理流程图 | |
| 50 | +========================= | |
| 51 | + | |
| 52 | + | |
| 53 | +菜单管理流程图 | |
| 54 | +========================= | |
| 55 | + | |
| 56 | + | |
| 57 | +更多流程图 | |
| 58 | +========================= | |
| 59 | +[全部流程图](docs/img/流程图) | |
| 60 | + | |
| 61 | +环境要求 | |
| 62 | +========================= | |
| 63 | +- Node: 11.3+(集成npm) | |
| 64 | + https://nodejs.org/en/download | |
| 65 | + | |
| 66 | +安装运行步骤 | |
| 67 | +========================= | |
| 68 | + | |
| 69 | +- [安装部署手册(建议下载后查看,避免格式问题)](docs/安装手册/install.md) | |
| 70 | + | |
| 71 | +页面一览 | |
| 72 | +========================= | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | +新的惊喜 | |
| 80 | +========================= | |
| 81 | +想进步、要关注。关注老铁抖音号,成为'铁丝' :) | |
| 82 | + | |
| 83 | +<img src="docs/img/douyin.jpeg" width="300" alt="抖音号" /> | |
| 84 | +<br><br> | |
| 85 | + | |
| 86 | +更多福利 | |
| 87 | +========================= | |
| 88 | + | |
| 89 | +[了解更多项目](https://pip.itcast.cn/home) | ... | ... |
babel.config.js
0 → 100644
cypress.json
0 → 100644
docs/img/douyin.jpeg
0 → 100644
82.1 KB
docs/img/功能特色.png
0 → 100644
74.2 KB
docs/img/技术架构图.png
0 → 100644
210 KB
docs/img/权限管理功能结构图.png
0 → 100644
88.5 KB
docs/img/流程图/删除岗位.png
0 → 100644
124 KB
docs/img/流程图/删除状态.png
0 → 100644
193 KB
docs/img/流程图/删除组织.png
0 → 100644
124 KB
docs/img/流程图/删除角色.png
0 → 100644
126 KB
docs/img/流程图/添加岗位.png
0 → 100644
91.2 KB
docs/img/流程图/用户管理.png
0 → 100644
534 KB
docs/img/流程图/禁用状态.png
0 → 100644
228 KB
docs/img/流程图/组织管理.png
0 → 100644
367 KB
docs/img/流程图/菜单管理.png
0 → 100644
187 KB
docs/img/流程图/角色管理.png
0 → 100644
209 KB
docs/img/系统架构图.png
0 → 100644
46.6 KB
docs/img/页面/应用-品优购.png
0 → 100644
90 KB
docs/img/页面/应用-流程.png
0 → 100644
153 KB
docs/img/页面/应用配置.png
0 → 100644
225 KB
docs/img/页面/权限配置.png
0 → 100644
150 KB
docs/img/页面/菜单.png
0 → 100644
168 KB
docs/安装手册/install.md
0 → 100644
| 1 | +++ a/docs/安装手册/install.md | |
| 1 | +### 技术栈 | |
| 2 | + | |
| 3 | +vue + typescript | |
| 4 | + | |
| 5 | +### 安装依赖 | |
| 6 | + | |
| 7 | +```bash | |
| 8 | +npm install | |
| 9 | +``` | |
| 10 | + | |
| 11 | +### 启动本地开发环境(自带热启动) | |
| 12 | + | |
| 13 | +```bash | |
| 14 | +npm run serve | |
| 15 | +``` | |
| 16 | + | |
| 17 | +### 构建生产环境 (自带压缩) | |
| 18 | + | |
| 19 | +```bash | |
| 20 | +npm build | |
| 21 | +``` | |
| 22 | + | |
| 23 | +### 代码格式检查以及自动修复 | |
| 24 | + | |
| 25 | +```bash | |
| 26 | +npm lint | |
| 27 | +``` | |
| 28 | + | |
| 29 | +### 自定义 Vue 配置 | ... | ... |
jest.config.js
0 → 100644
| 1 | +++ a/jest.config.js | |
| 1 | +module.exports = { | |
| 2 | + moduleFileExtensions: [ | |
| 3 | + 'js', | |
| 4 | + 'jsx', | |
| 5 | + 'json', | |
| 6 | + 'vue', | |
| 7 | + 'ts', | |
| 8 | + 'tsx' | |
| 9 | + ], | |
| 10 | + transform: { | |
| 11 | + '^.+\\.vue$': 'vue-jest', | |
| 12 | + '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub', | |
| 13 | + '^.+\\.tsx?$': 'ts-jest' | |
| 14 | + }, | |
| 15 | + transformIgnorePatterns: [ | |
| 16 | + '/node_modules/' | |
| 17 | + ], | |
| 18 | + moduleNameMapper: { | |
| 19 | + '^@/(.*)$': '<rootDir>/src/$1' | |
| 20 | + }, | |
| 21 | + snapshotSerializers: [ | |
| 22 | + 'jest-serializer-vue' | |
| 23 | + ], | |
| 24 | + testMatch: [ | |
| 25 | + '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)' | |
| 26 | + ], | |
| 27 | + collectCoverage: true, | |
| 28 | + collectCoverageFrom: [ | |
| 29 | + 'src/utils/**/*.{ts,vue}', | |
| 30 | + '!src/utils/auth.ts', | |
| 31 | + '!src/utils/request.ts', | |
| 32 | + 'src/components/**/*.{ts,vue}' | |
| 33 | + ], | |
| 34 | + coverageDirectory: '<rootDir>/tests/unit/coverage', | |
| 35 | + coverageReporters: [ | |
| 36 | + 'lcov', | |
| 37 | + 'text-summary' | |
| 38 | + ], | |
| 39 | + testURL: 'http://localhost/', | |
| 40 | + watchPlugins: [ | |
| 41 | + 'jest-watch-typeahead/filename', | |
| 42 | + 'jest-watch-typeahead/testname' | |
| 43 | + ], | |
| 44 | + globals: { | |
| 45 | + 'ts-jest': { | |
| 46 | + babelConfig: true | |
| 47 | + } | |
| 48 | + } | |
| 49 | +} | ... | ... |