commit f62289c97b76ca9cbb9b5ba0ffc8eec98e3717a3 Author: liangzai <2440983361@qq.com> Date: Wed Apr 8 14:14:10 2026 +0800 first commit diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 0000000..d49e16f --- /dev/null +++ b/.cursorrules @@ -0,0 +1,37 @@ +// Uniapp Vue 3 best practices + +const vue3CompositionApiBestPractices = [ + "Use setup() function for component logic", + "Utilize ref and reactive for reactive state", + "Implement computed properties with computed()", + "Use watch and watchEffect for side effects", + "Implement lifecycle hooks with onMounted, onUpdated, etc.", + "Utilize provide/inject for dependency injection", +]; + +// Folder structure + +const folderStructure = ` +src/ + components/ + composables/ + views/ + static/ + ui/ + App.vue + main.ts +`; + +// Additional instructions + +const additionalInstructions = ` +1. Follow the uniapp vue3 version +2. Pay attention to the compatibility of mobile APP +3. Implement proper props and emits definitions +4. Utilize Vue 3's Teleport component when needed +5. Use Suspense for async components +6. Implement proper error handling +7. Follow Vue 3 style guide and naming conventions +8. Use Vite for fast development and building +`; + diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b732723 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +*.local + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +./src/components.d.ts +./src/auto-imports.d.ts diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..e0ba03e --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,15 @@ +{ + "version" : "1.0", + "configurations" : [ + { + "playground" : "standard", + "type" : "uni-app:app-ios" + }, + { + "app-plus" : { + "launchtype" : "local" + }, + "type" : "uniCloud" + } + ] +} diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..d8b8386 --- /dev/null +++ b/.npmrc @@ -0,0 +1,3 @@ +strict-peer-dependencies=false +auto-install-peers=true +shamefully-hoist=true diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..209e3ef --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +20 diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..54d3dc3 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,11 @@ +{ + "recommendations": [ + "antfu.vite", + "antfu.iconify", + "antfu.unocss", + "vue.volar", + "dbaeumer.vscode-eslint", + "editorConfig.editorConfig", + "uni-helper.uni-helper-vscode" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..f8e3c32 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Debug h5", + "type": "chrome", + "runtimeArgs": [ + "--remote-debugging-port=9222" + ], + "request": "launch", + "url": "http://localhost:5173", + "webRoot": "${workspaceFolder}", + "preLaunchTask": "uni:h5" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c08e65a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,55 @@ +{ + // Disable the default formatter, use eslint instead + "prettier.enable": false, + "editor.formatOnSave": false, + + // Auto fix + "editor.codeActionsOnSave": { + "source.organizeImports": "never" + }, + + // Silent the stylistic rules in you IDE, but still auto fix them + "eslint.rules.customizations": [ + { "rule": "style/*", "severity": "off", "fixable": true }, + { "rule": "format/*", "severity": "off", "fixable": true }, + { "rule": "*-indent", "severity": "off", "fixable": true }, + { "rule": "*-spacing", "severity": "off", "fixable": true }, + { "rule": "*-spaces", "severity": "off", "fixable": true }, + { "rule": "*-order", "severity": "off", "fixable": true }, + { "rule": "*-dangle", "severity": "off", "fixable": true }, + { "rule": "*-newline", "severity": "off", "fixable": true }, + { "rule": "*quotes", "severity": "off", "fixable": true }, + { "rule": "*semi", "severity": "off", "fixable": true } + ], + + // Enable eslint for all supported languages + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml", + "toml", + "xml", + "gql", + "graphql", + "astro", + "svelte", + "css", + "less", + "scss", + "pcss", + "postcss" + ], + + // Enable file nesting + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.patterns": { + "vite.config.*": "pages.config.*, manifest.config.*, uno.config.*, volar.config.*, *.env, .env.*" + } +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..e8c343f --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,16 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "uni:h5", + "type": "npm", + "script": "dev --devtools", + "isBackground": true, + "problemMatcher": "$vite", + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e321c3c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023-PRESENT KeJun + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..351d24e --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +
+
+