# 资产管理系统前端 - 快速开始 ## 环境要求 - Node.js >= 18.0.0 - npm >= 9.0.0 (或 pnpm/yarn) ## 快速启动 ### 1. 安装依赖 ```bash npm install ``` ### 2. 配置环境变量 复制 `.env.development` 文件并修改 API 地址: ```bash cp .env.development .env.local ``` ### 3. 启动开发服务器 ```bash npm run dev ``` 访问 `http://localhost:3000` ### 4. 默认账号 开发环境可以使用以下测试账号: - 用户名: `admin` - 密码: `Admin123` ## 开发命令 ```bash # 启动开发服务器 npm run dev # 构建生产版本 npm run build # 预览生产构建 npm run preview # 代码检查 npm run lint # 代码格式化 npm run format # 运行测试 npm run test ``` ## 项目结构 ``` src/ ├── api/ # API 接口 ├── assets/ # 静态资源 │ └── styles/ # 全局样式 ├── components/ # 通用组件 ├── composables/ # 组合式函数 ├── layouts/ # 布局组件 ├── router/ # 路由配置 ├── stores/ # Pinia 状态管理 ├── types/ # TypeScript 类型定义 ├── utils/ # 工具函数 ├── views/ # 页面组件 ├── App.vue # 根组件 └── main.ts # 应用入口 ``` ## 开发指南 ### 创建新页面 1. 在 `src/views/` 下创建页面组件: ```vue ``` 2. 在 `src/router/index.ts` 添加路由: ```typescript { path: '/page-name', name: 'PageName', component: () => import('@/views/PageName.vue'), meta: { title: '页面标题', icon: 'IconName' } } ``` ### 创建 API 接口 在 `src/api/` 下创建对应的 API 文件: ```typescript import { request } from './request' export const getSomething = (params: any) => { return request.get('/something', { params }) } export const createSomething = (data: any) => { return request.post('/something', data) } ``` ### 创建状态管理 在 `src/stores/modules/` 下创建 store: ```typescript import { defineStore } from 'pinia' import { ref } from 'vue' export const useSomethingStore = defineStore('something', () => { const data = ref(null) const fetchData = async () => { // 获取数据逻辑 } return { data, fetchData } }) ``` ### 创建组合式函数 在 `src/composables/` 下创建 composable: ```typescript import { ref } from 'vue' export function useSomething() { const loading = ref(false) const data = ref([]) const doSomething = async () => { // 业务逻辑 } return { loading, data, doSomething } } ``` ## 代码规范 ### 命名规范 - 组件文件: 大驼峰 - `AssetList.vue` - 组件注册: 大驼峰 - `` - 变量/函数: 小驼峰 - `assetList` - 常量: 大写下划线 - `API_BASE_URL` - 类型/接口: 大驼峰 - `AssetList` ### 组件开发 使用 ` ``` ### 类型定义 所有 API 响应和组件 Props 都需要类型定义: ```typescript interface User { id: number username: string email: string } interface ApiResponse { code: number message: string data: T } ``` ## 样式指南 ### 使用 SCSS 变量 ```scss ``` ### 响应式设计 使用 Element Plus 的栅格系统: ```vue ``` ## 常见问题 ### Q: 为什么组件无法自动导入? A: 检查 `vite.config.ts` 中的 `unplugin-auto-import` 和 `unplugin-vue-components` 配置。 ### Q: 如何调试 API 请求? A: 在浏览器开发者工具的 Network 标签中查看请求详情,或使用 console.log 打印响应数据。 ### Q: 样式不生效怎么办? A: 检查是否使用了 `scoped`,是否正确引入了全局样式文件。 ### Q: TypeScript 类型错误? A: 运行 `npm run lint` 检查类型错误,确保所有类型定义正确。 ## 相关文档 - [Vue 3 文档](https://vuejs.org/) - [Element Plus 文档](https://element-plus.org/) - [Vite 文档](https://vitejs.dev/) - [Pinia 文档](https://pinia.vuejs.org/) - [开发规范指南](./development_standards_guide.md) - [API 接口文档](./complete_api_reference.md) - [页面原型文档](./frontend_page_prototypes.md) ## 获取帮助 如有问题,请联系开发团队或查阅相关文档。 --- **祝开发愉快! 🎉**