diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000000000000000000000000000000000..d3349ff3addc0aa6d570accacdbf844a705b0302 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,79 @@ +module.exports = { + root: true, + env: { + node: true + }, + globals: { + $: "readonly", + $$: "readonly", + $ref: "readonly", + $shallowRef: "readonly", + $computed: "readonly", + Fn: "readonly", + PromiseFn: "readonly", + RefType: "readonly", + LabelValueOptions: "readonly", + EmitType: "readonly", + TargetContext: "readonly", + ComponentElRef: "readonly", + ComponentRef: "readonly", + ElRef: "readonly", + global: "readonly", + ForDataType: "readonly", + ComponentRoutes: "readonly", + defineProps: "readonly", + defineEmits: "readonly", + defineExpose: "readonly", + withDefaults: "readonly" + }, + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/typescript/recommended", + "@vue/prettier", + "@vue/eslint-config-typescript" + ], + parser: "vue-eslint-parser", + parserOptions: { + parser: "@typescript-eslint/parser", + ecmaVersion: 2020, + sourceType: "module", + jsxPragma: "React", + ecmaFeatures: { + jsx: true + } + }, + rules: { + "vue/no-v-html": "off", + "vue/require-default-prop": "off", + "vue/require-explicit-emits": "off", + "vue/multi-word-component-names": "off", + "@typescript-eslint/no-explicit-any": "off", // any + "no-debugger": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", // setup() + "@typescript-eslint/ban-types": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-unused-vars": [ + "error", + { + argsIgnorePattern: "^_", + varsIgnorePattern: "^_" + } + ], + "no-unused-vars": [ + "error", + { + argsIgnorePattern: "^_", + varsIgnorePattern: "^_" + } + ], + "prettier/prettier": [ + "error", + { + endOfLine: "auto" + } + ] + } +}; diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000000000000000000000000000000000000..d9c8235783c3800f0b17a57b5f4b5e8af4f27c32 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "printWidth": 100, + "tabWidth": 2, + "bracketSpacing": true, + "singleQuote": false, + "arrowParens": "avoid", + "trailingComma": "none" +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..a9f95e579f0c81e2c9fe9269237d33bef780c1f2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,203 @@ +Eclipse Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC +LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM +CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and documentation + distributed under this Agreement, and +b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + + where such changes and/or additions to the Program originate from and are + distributed by that particular Contributor. A Contribution 'originates' + from a Contributor if it was added to the Program by such Contributor + itself or anyone acting on such Contributor's behalf. Contributions do not + include additions to the Program which: (i) are separate modules of + software distributed in conjunction with the Program under their own + license agreement, and (ii) are not derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which are +necessarily infringed by the use or sale of its Contribution alone or when +combined with the Program. + +"Program" means the Contributions distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +2. GRANT OF RIGHTS + a) Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free copyright license to + reproduce, prepare derivative works of, publicly display, publicly + perform, distribute and sublicense the Contribution of such Contributor, + if any, and such derivative works, in source code and object code form. + b) Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free patent license under + Licensed Patents to make, use, sell, offer to sell, import and otherwise + transfer the Contribution of such Contributor, if any, in source code and + object code form. This patent license shall apply to the combination of + the Contribution and the Program if, at the time the Contribution is + added by the Contributor, such addition of the Contribution causes such + combination to be covered by the Licensed Patents. The patent license + shall not apply to any other combinations which include the Contribution. + No hardware per se is licensed hereunder. + c) Recipient understands that although each Contributor grants the licenses + to its Contributions set forth herein, no assurances are provided by any + Contributor that the Program does not infringe the patent or other + intellectual property rights of any other entity. Each Contributor + disclaims any liability to Recipient for claims brought by any other + entity based on infringement of intellectual property rights or + otherwise. As a condition to exercising the rights and licenses granted + hereunder, each Recipient hereby assumes sole responsibility to secure + any other intellectual property rights needed, if any. For example, if a + third party patent license is required to allow Recipient to distribute + the Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + d) Each Contributor represents that to its knowledge it has sufficient + copyright rights in its Contribution, if any, to grant the copyright + license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under +its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + b) its license agreement: + i) effectively disclaims on behalf of all Contributors all warranties + and conditions, express and implied, including warranties or + conditions of title and non-infringement, and implied warranties or + conditions of merchantability and fitness for a particular purpose; + ii) effectively excludes on behalf of all Contributors all liability for + damages, including direct, indirect, special, incidental and + consequential damages, such as lost profits; + iii) states that any provisions which differ from this Agreement are + offered by that Contributor alone and not by any other party; and + iv) states that source code for the Program is available from such + Contributor, and informs licensees how to obtain it in a reasonable + manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + b) a copy of this Agreement must be included with each copy of the Program. + Contributors may not remove or alter any copyright notices contained + within the Program. + +Each Contributor must identify itself as the originator of its Contribution, +if +any, in a manner that reasonably allows subsequent Recipients to identify the +originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with +respect to end users, business partners and the like. While this license is +intended to facilitate the commercial use of the Program, the Contributor who +includes the Program in a commercial product offering should do so in a manner +which does not create potential liability for other Contributors. Therefore, +if a Contributor includes the Program in a commercial product offering, such +Contributor ("Commercial Contributor") hereby agrees to defend and indemnify +every other Contributor ("Indemnified Contributor") against any losses, +damages and costs (collectively "Losses") arising from claims, lawsuits and +other legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such Commercial +Contributor in connection with its distribution of the Program in a commercial +product offering. The obligations in this section do not apply to any claims +or Losses relating to any actual or alleged intellectual property +infringement. In order to qualify, an Indemnified Contributor must: +a) promptly notify the Commercial Contributor in writing of such claim, and +b) allow the Commercial Contributor to control, and cooperate with the +Commercial Contributor in, the defense and any related settlement +negotiations. The Indemnified Contributor may participate in any such claim at +its own expense. + +For example, a Contributor might include the Program in a commercial product +offering, Product X. That Contributor is then a Commercial Contributor. If +that Commercial Contributor then makes performance claims, or offers +warranties related to Product X, those performance claims and warranties are +such Commercial Contributor's responsibility alone. Under this section, the +Commercial Contributor would have to defend claims against the other +Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each +Recipient is solely responsible for determining the appropriateness of using +and distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to the +risks and costs of program errors, compliance with applicable laws, damage to +or loss of data, programs or equipment, and unavailability or interruption of +operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY +CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION +LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of the +remainder of the terms of this Agreement, and without further action by the +parties hereto, such provision shall be reformed to the minimum extent +necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Program itself +(excluding combinations of the Program with other software or hardware) +infringes such Recipient's patent(s), then such Recipient's rights granted +under Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to +comply with any of the material terms or conditions of this Agreement and does +not cure such failure in a reasonable period of time after becoming aware of +such noncompliance. If all Recipient's rights under this Agreement terminate, +Recipient agrees to cease use and distribution of the Program as soon as +reasonably practicable. However, Recipient's obligations under this Agreement +and any licenses granted by Recipient relating to the Program shall continue +and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in +order to avoid inconsistency the Agreement is copyrighted and may only be +modified in the following manner. The Agreement Steward reserves the right to +publish new versions (including revisions) of this Agreement from time to +time. No one other than the Agreement Steward has the right to modify this +Agreement. The Eclipse Foundation is the initial Agreement Steward. The +Eclipse Foundation may assign the responsibility to serve as the Agreement +Steward to a suitable separate entity. Each new version of the Agreement will +be given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version of the +Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly +stated in Sections 2(a) and 2(b) above, Recipient receives no rights or +licenses to the intellectual property of any Contributor under this Agreement, +whether expressly, by implication, estoppel or otherwise. All rights in the +Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to this +Agreement will bring a legal action under this Agreement more than one year +after the cause of action arose. Each party waives its rights to a jury trial in +any resulting litigation. diff --git a/README.md b/README.md index ca3a6fbc0983c3b8be02e0100a92a03b7b9d5089..627041c9df7ed0884b4b9f73156c8618b59d63b4 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,21 @@ # vue3+ts+vite+admin #### 介绍 -{**以下是 Gitee 平台说明,您可以替换此简介** -Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} +本项目前端用来实践和学习Vue3、Vite、qiankun等技术栈,帮助你快速搭建后台管理系统。可拆分为1个主应用项目、2个微前端应用、1个iframe应用。 -#### 软件架构 -软件架构说明 +#### 项目预览 +https://www.xkxk.tech +#### 软件架构 +Vue3、TypeScript、Vite、qiankun #### 安装教程 - -1. xxxx -2. xxxx -3. xxxx +npm install #### 使用说明 +npm run dev -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - +#### 最后 +如果你觉得本项目不错或者对自己工作有帮助,欢迎点个star! -#### 特技 -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/package.json b/package.json index 9d3f48eed69cb22366eed4ea371ce81b4e69ec32..433d7b2f2702fdb0a19dfd9955b16567d8b68ce8 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "scripts": { "dev": "vite", "build": "vue-tsc --noEmit --skipLibCheck && vite build", - "preview": "vite preview" + "preview": "vite preview", + "lint:eslint": "eslint --cache --max-warnings 0 \"{src,mock}/**/*.{vue,ts,tsx}\" --fix" }, "dependencies": { "@element-plus/icons-vue": "^1.1.4", @@ -25,7 +26,14 @@ }, "devDependencies": { "@types/node": "^17.0.25", + "@typescript-eslint/eslint-plugin": "^5.27.0", "@vitejs/plugin-vue": "^2.3.1", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^10.0.0", + "eslint": "^8.16.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-vue": "^9.0.1", + "prettier": "^2.6.2", "sass": "^1.50.0", "sass-loader": "^8.0.2", "typescript": "^4.5.4", diff --git a/src/assets/png/logo.png b/src/assets/png/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a5980873355b115d945ace8c7d25166105a89677 Binary files /dev/null and b/src/assets/png/logo.png differ diff --git a/src/components/navbar/navbar.vue b/src/components/navbar/navbar.vue index 311505cc4118b24d26405e046996601246ddf458..9bcdd73a5bff690327323ab7db97bafdd4dad8f9 100644 --- a/src/components/navbar/navbar.vue +++ b/src/components/navbar/navbar.vue @@ -27,7 +27,7 @@
{{$t("nickName")}} diff --git a/src/micro-app.ts b/src/micro-app.ts index 86ca2fadb5d9b4599e5a3403516a9a61144720bf..04afaf7f86d2b2710f88a677ba2323f1895fcaca 100644 --- a/src/micro-app.ts +++ b/src/micro-app.ts @@ -2,11 +2,11 @@ const microApps = [ { name: 'micro1', entry: import.meta.env.VITE_APP_MICRO_ONE as string, - activeRule: '/micro/app-one' + activeRule: '/main/micro/app-one' }, { name: 'micro2', entry: import.meta.env.VITE_APP_MICRO_TWO as string, - activeRule: '/micro/app-two' + activeRule: '/main/micro/app-two' } ] diff --git a/src/pages/contact/contact.vue b/src/pages/contact/contact.vue index 07f70595cd243704ab44b3c520b9e2c572c91ac7..d7dd3d21ad8d51037932f8bdc8fc00079636962f 100644 --- a/src/pages/contact/contact.vue +++ b/src/pages/contact/contact.vue @@ -2,11 +2,10 @@
-

说明

-

1、如果你有好的想法或建议,欢迎添加作者微信。

-

2、如果有好的工作推荐,欢迎添加作者微信。

-

3、如果有不懂的地方或者项目配置,欢迎添加作者微信。

-

4、如果通过该项目学到了新的知识或者对工作有帮助,欢迎打赏作者一杯咖啡。

+

关于作者

+

1、如果你有好的想法或建议、好的工作推荐或者不懂的地方,欢迎添加作者微信。

+

2、如果通过该项目学到了新的知识或者对工作有帮助,欢迎打赏作者一杯咖啡。

+

3、如果你对于项目构建、部署遇到难题或疑问,可以联系作者免费答疑。

diff --git a/src/pages/container/container.vue b/src/pages/container/container.vue index c82094166247ec55f2e78dbe555d1d38f358941d..66953aae501e85a1e2e9ed28a7a58a55b2f093f6 100644 --- a/src/pages/container/container.vue +++ b/src/pages/container/container.vue @@ -16,7 +16,7 @@ export default defineComponent({ setup() { const store = useStore(); let state = reactive({ - sidebarMenu: computed(() => store.getters.GET_MENU) + sidebarMenu: computed(() => store.getters.getMenu) }) const router = useRouter(); onMounted(() => { diff --git a/src/pages/form/form.vue b/src/pages/form/form.vue index ffc2c34125f8beb104e3fa3457007b61a5097163..93dbaf339fe78fe810a83741039f3ce879e7a89d 100644 --- a/src/pages/form/form.vue +++ b/src/pages/form/form.vue @@ -1,128 +1,246 @@ - \ No newline at end of file diff --git a/src/pages/iframe/iframe.vue b/src/pages/iframe/iframe.vue index 684f89f9fa8e75b40b24cf54fdef9130824b89f0..7213b62c36d14397eaf3b27e9739c324f8497ded 100644 --- a/src/pages/iframe/iframe.vue +++ b/src/pages/iframe/iframe.vue @@ -1,53 +1,96 @@