78ff060420
- 模板 art-design-pro(MIT)GitHub 直连克隆后裁剪落地 admin/:删除演示页面/示例数据/mock/未用组件,保留构建与依赖清单 - 品牌化:应用名/标题/侧栏与登录页 logo/浏览器 favicon 全部替换为 all-kefu 自有资源(static/kefu-small.png),中文界面 - 八页骨架:login / force-change-password / dashboard / tenants / conversations / config / stats / settings 占位页 + 6 组路由模块 - 权限菜单:meta.roles 前端过滤,super 全量,tenant 隐藏 租户管理/平台设置(角色值与后端一致) - 开发代理:/api 直转 + /api/public 与 /static 携带租户 Host 改写(VITE_TENANT_PREVIEW_HOST),适配后端 TenantHostMiddleware - 认证 API 为开发桩(角色调试开关),Task 3 对接真实登录 Co-Authored-By: Claude Code <noreply@anthropic.com>
85 lines
2.4 KiB
JSON
85 lines
2.4 KiB
JSON
{
|
|
"name": "all-kefu-admin",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=20.19.0",
|
|
"pnpm": ">=8.8.0"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"@parcel/watcher",
|
|
"@tailwindcss/oxide",
|
|
"core-js",
|
|
"esbuild",
|
|
"es5-ext",
|
|
"vue-demi"
|
|
]
|
|
},
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vue-tsc --noEmit && vite build",
|
|
"serve": "vite preview",
|
|
"lint": "eslint",
|
|
"fix": "eslint --fix",
|
|
"lint:prettier": "prettier --write \"**/*.{js,cjs,ts,json,tsx,vue,html,md}\"",
|
|
"lint:stylelint": "stylelint \"**/*.{css,scss,vue}\" --fix",
|
|
"clean:dev": "tsx scripts/clean-dev.ts"
|
|
},
|
|
"dependencies": {
|
|
"@element-plus/icons-vue": "^2.3.2",
|
|
"@iconify/vue": "^5.0.0",
|
|
"@tailwindcss/vite": "^4.1.14",
|
|
"@vue/reactivity": "^3.5.21",
|
|
"@vueuse/core": "^13.9.0",
|
|
"axios": "^1.12.2",
|
|
"crypto-js": "^4.2.0",
|
|
"echarts": "^6.0.0",
|
|
"element-plus": "^2.11.2",
|
|
"mitt": "^3.0.1",
|
|
"nprogress": "^0.2.0",
|
|
"ohash": "^2.0.11",
|
|
"pinia": "^3.0.3",
|
|
"pinia-plugin-persistedstate": "^4.3.0",
|
|
"tailwindcss": "^4.1.14",
|
|
"vue": "^3.5.21",
|
|
"vue-draggable-plus": "^0.6.0",
|
|
"vue-i18n": "^9.14.0",
|
|
"vue-router": "^4.5.1"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.9.1",
|
|
"@types/node": "^24.0.5",
|
|
"@typescript-eslint/eslint-plugin": "^8.3.0",
|
|
"@typescript-eslint/parser": "^8.3.0",
|
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
"@vue/compiler-sfc": "^3.0.5",
|
|
"eslint": "^9.9.1",
|
|
"eslint-config-prettier": "^9.1.0",
|
|
"eslint-plugin-prettier": "^5.2.1",
|
|
"eslint-plugin-vue": "^9.27.0",
|
|
"globals": "^15.9.0",
|
|
"prettier": "^3.5.3",
|
|
"rollup-plugin-visualizer": "^5.12.0",
|
|
"sass": "^1.81.0",
|
|
"stylelint": "^16.20.0",
|
|
"stylelint-config-html": "^1.1.0",
|
|
"stylelint-config-recess-order": "^4.6.0",
|
|
"stylelint-config-recommended-scss": "^14.1.0",
|
|
"stylelint-config-recommended-vue": "^1.5.0",
|
|
"stylelint-config-standard": "^36.0.1",
|
|
"terser": "^5.36.0",
|
|
"tsx": "^4.20.3",
|
|
"typescript": "~5.6.3",
|
|
"typescript-eslint": "^8.9.0",
|
|
"unplugin-auto-import": "^20.2.0",
|
|
"unplugin-element-plus": "^0.10.0",
|
|
"unplugin-vue-components": "^29.1.0",
|
|
"vite": "^7.1.5",
|
|
"vite-plugin-compression": "^0.5.1",
|
|
"vite-plugin-vue-devtools": "^7.7.6",
|
|
"vue-tsc": "~2.1.6"
|
|
}
|
|
}
|