Files
log-lottery/package.json
log1997 4729566b56 feat(prize-config): 引入拖拽功能并优化奖品配置界面
- 添加 `vue-draggable-plus` 和 `lodash-es` 依赖以支持列表拖拽排序
- 使用 `cloneDeep` 深拷贝奖品列表,避免直接修改原始数据
- 移除原有的手动排序逻辑(上下移动按钮),改用可视化拖拽方式
- 调整 UI 布局和样式,增强用户体验与可操作性
- 在 Demo 页面中添加 draggable 示例用于验证功能实现
2025-12-04 20:40:06 +08:00

94 lines
3.1 KiB
JSON

{
"name": "log-lottery",
"private": true,
"version": "0.0.3",
"type": "module",
"license": "MIT",
"scripts": {
"dev": "vite --host 0.0.0.0",
"build": "vue-tsc --noEmit && vite build",
"build:pre": "vue-tsc --noEmit && vite build --mode prebuild",
"build:file": "vue-tsc --noEmit && vite build --mode file",
"test": "vitest",
"test:ui": "vitest --ui",
"preview": "vite preview",
"lint": "eslint ./src",
"lint:fix": "eslint ./src --fix"
},
"dependencies": {
"@tweenjs/tween.js": "^23.1.2",
"@vueuse/core": "^14.1.0",
"axios": "^1.7.8",
"canvas-confetti": "^1.9.3",
"dayjs": "^1.11.13",
"dexie": "^4.2.1",
"github-markdown-css": "^5.8.0",
"localforage": "^1.10.0",
"lodash-es": "^4.17.21",
"lucide-vue-next": "^0.555.0",
"markdown-it": "^14.1.0",
"pinia": "^3.0.3",
"pinia-plugin-persist": "^1.0.0",
"sparticles": "^1.3.1",
"three": "^0.166.0",
"three-css3d": "^1.0.6",
"uuid": "^13.0.0",
"vue": "^3.5.13",
"vue-dompurify-html": "^5.2.0",
"vue-draggable-plus": "^0.6.0",
"vue-i18n": "^11.1.12",
"vue-router": "^4.5.0",
"vue-toast-notification": "^3",
"vue3-colorpicker": "^2.3.0",
"xlsx": "^0.18.5",
"zod": "^4.1.11"
},
"devDependencies": {
"@antfu/eslint-config": "^6.4.1",
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.15.0",
"@iconify-json/ep": "^1.2.1",
"@iconify-json/fluent": "^1.2.8",
"@tailwindcss/typography": "^0.5.15",
"@tailwindcss/vite": "^4.1.13",
"@testing-library/vue": "^8.1.0",
"@types/canvas-confetti": "^1.6.4",
"@types/lodash-es": "^4.17.12",
"@types/markdown-it": "^14.1.2",
"@types/node": "^24.5.2",
"@types/three": "^0.166.0",
"@typescript-eslint/eslint-plugin": "^8.16.0",
"@typescript-eslint/parser": "^8.16.0",
"@vitejs/plugin-legacy": "^7.2.1",
"@vitejs/plugin-vue": "^6.0.1",
"@vitest/ui": "^4.0.15",
"@vue/test-utils": "^2.4.6",
"autoprefixer": "^10.4.20",
"baseline-browser-mapping": "^2.8.32",
"daisyui": "^5.1.13",
"eslint": "^9.15.0",
"eslint-plugin-vue": "^10.4.0",
"globals": "^16.4.0",
"happy-dom": "^18.0.1",
"husky": "^9.1.7",
"jsdom": "^27.0.0",
"path": "^0.12.7",
"postcss": "^8.4.49",
"rollup-plugin-visualizer": "^6.0.3",
"sass": "^1.81.0",
"sass-loader": "^16.0.3",
"tailwindcss": "^4.1.13",
"terser": "^5.36.0",
"typescript": "5.5.3",
"unplugin-auto-import": "^20.1.0",
"unplugin-icons": "^22.3.0",
"unplugin-vue-components": "^29.1.0",
"vite": "^7.1.6",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-inspect": "^11.3.3",
"vite-plugin-svg-icons": "^2.0.1",
"vite-plugin-vue-devtools": "^8.0.2",
"vitest": "^3.2.4",
"vue-tsc": "^3.0.7"
}
}