diff --git a/.env.staging b/.env.staging index 7a0b3d37..eaf96ee6 100644 --- a/.env.staging +++ b/.env.staging @@ -1,6 +1,6 @@ ## 模拟环境 NODE_ENV='staging' -VITE_APP_TITLE = 'vue3-element-admin' +VITE_APP_TITLE = 'shopxo' VITE_APP_PORT = 3000 VITE_APP_BASE_API = '/prod--api' diff --git a/.gitignore b/.gitignore index 18a2cd56..71bdb90c 100644 --- a/.gitignore +++ b/.gitignore @@ -28,4 +28,5 @@ coverage *.njsproj *.sln *.sw? +pnpm-lock.yaml diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..e4e99696 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 ShopXO免费开源商城DIY + +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. diff --git a/README.md b/README.md index 6bab50b9..ab8af0f7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + # vue3-vite This template should help get you started developing with Vue 3 in Vite. diff --git a/package.json b/package.json index fa83d29a..9ed51d44 100644 --- a/package.json +++ b/package.json @@ -1,57 +1,57 @@ { - "name": "shopxo-diy", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "build-pro": "vite build --mode production", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false", - "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", - "format": "prettier --write src/" - }, - "dependencies": { - "@types/dompurify": "^3.0.5", - "@vueuse/core": "^10.2.1", - "@wangeditor/editor": "^5.1.23", - "@wangeditor/editor-for-vue": "^5.1.12", - "axios": "^1.4.0", - "dompurify": "^3.1.6", - "element-plus": "^2.3.7", - "pinia": "^2.1.3", - "qrcode": "^1.5.3", - "swiper": "^11.1.5", - "terser": "^5.31.5", - "tsparticles": "^2.11.0", - "unocss": "^0.53.5", - "vue": "^3.3.4", - "vue-draggable-plus": "^0.5.0", - "vue-router": "^4.0.13", - "vue3-draggable-resizable": "^1.6.5" - }, - "devDependencies": { - "@iconify-json/ep": "^1.1.11", - "@rushstack/eslint-patch": "^1.2.0", - "@tsconfig/node18": "^2.0.1", - "@types/sortablejs": "^1.15.8", - "@vitejs/plugin-vue": "^4.2.3", - "@vue/eslint-config-prettier": "^7.1.0", - "@vue/eslint-config-typescript": "^11.0.3", - "@vue/tsconfig": "^0.4.0", - "eslint": "^8.39.0", - "eslint-plugin-vue": "^9.11.0", - "fast-glob": "3.2.11", - "npm-run-all": "^4.1.5", - "prettier": "^3.0.0", - "sass": "^1.63.6", - "typescript": "~5.0.4", - "unplugin-auto-import": "^0.16.6", - "unplugin-icons": "^0.16.3", - "unplugin-vue-components": "^0.25.1", - "vite": "^4.3.9", - "vite-plugin-svg-icons": "2.0.1", - "vue-tsc": "^1.6.5", - "vue3-particles": "^2.10.1" - } + "name": "shopxo-diy", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build --mode development", + "preview": "vite preview", + "build-pro": "vite build --mode production", + "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", + "format": "prettier --write src/" + }, + "dependencies": { + "@types/dompurify": "^3.0.5", + "@vueuse/core": "^10.2.1", + "@wangeditor/editor": "^5.1.23", + "@wangeditor/editor-for-vue": "^5.1.12", + "axios": "^1.4.0", + "dompurify": "^3.1.6", + "element-plus": "^2.3.7", + "pinia": "^2.1.3", + "qrcode": "^1.5.3", + "swiper": "^11.1.5", + "terser": "^5.31.5", + "tsparticles": "^2.11.0", + "unocss": "^0.53.5", + "vue": "^3.3.4", + "vue-draggable-plus": "^0.5.0", + "vue-router": "^4.0.13", + "vue3-draggable-resizable": "^1.6.5" + }, + "devDependencies": { + "@iconify-json/ep": "^1.1.11", + "@rushstack/eslint-patch": "^1.2.0", + "@tsconfig/node18": "^2.0.1", + "@types/sortablejs": "^1.15.8", + "@vitejs/plugin-vue": "^4.2.3", + "@vue/eslint-config-prettier": "^7.1.0", + "@vue/eslint-config-typescript": "^11.0.3", + "@vue/tsconfig": "^0.4.0", + "eslint": "^8.39.0", + "eslint-plugin-vue": "^9.11.0", + "fast-glob": "3.2.11", + "npm-run-all": "^4.1.5", + "prettier": "^3.0.0", + "sass": "^1.63.6", + "typescript": "~5.0.4", + "unplugin-auto-import": "^0.16.6", + "unplugin-icons": "^0.16.3", + "unplugin-vue-components": "^0.25.1", + "vite": "^4.3.9", + "vite-plugin-svg-icons": "2.0.1", + "vue-tsc": "^1.6.5", + "vue3-particles": "^2.10.1" + } } diff --git a/src/api/auth/types.ts b/src/api/auth/types.ts deleted file mode 100644 index c868b40e..00000000 --- a/src/api/auth/types.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * 登录请求参数 - */ -export interface LoginData { - /** - * 用户名 - */ - username: string; - /** - * 密码 - */ - password: string; - - /** - * 验证码缓存key - */ - // verifyCodeKey?: string; - - /** - * 验证码 - */ - // verifyCode?: string; -} diff --git a/src/api/url-value.ts b/src/api/url-value.ts new file mode 100644 index 00000000..022d319f --- /dev/null +++ b/src/api/url-value.ts @@ -0,0 +1,33 @@ +import request from '@/utils/request'; + +class UrlValueAPI { + /** 链接初始化接口 */ + static getInit() { + return request({ + url: `diyapi/linkinit`, + method: 'post', + }); + } +} + +export default UrlValueAPI; + +// 分类树结构 +export interface Tree { + /** 主键 */ + id: string; + /** 父级id */ + pid: string; + /** 名称 */ + name: string; + /** 路径 */ + path: string; + /** 是否开启 */ + is_enable: Number; + /** 排序 */ + sort: number; + /** 下级 */ + items?: Tree[]; + /** 图标 */ + icon?: string; +} diff --git a/src/assets/icons/demo_index.html b/src/assets/icons/demo_index.html index 9a1630ec..a3225cf3 100644 --- a/src/assets/icons/demo_index.html +++ b/src/assets/icons/demo_index.html @@ -54,6 +54,132 @@
@font-face {
font-family: 'iconfont';
- src: url('iconfont.woff2?t=1721714218560') format('woff2'),
- url('iconfont.woff?t=1721714218560') format('woff'),
- url('iconfont.ttf?t=1721714218560') format('truetype'),
- url('iconfont.svg?t=1721714218560#iconfont') format('svg');
+ src: url('iconfont.woff2?t=1724054334931') format('woff2'),
+ url('iconfont.woff?t=1724054334931') format('woff'),
+ url('iconfont.ttf?t=1724054334931') format('truetype'),
+ url('iconfont.svg?t=1724054334931#iconfont') format('svg');
}