From c59e2cf505d035cc46f1a93bcd79f14ab7963815 Mon Sep 17 00:00:00 2001 From: wzclm <2855471171@qq.com> Date: Thu, 20 Feb 2025 20:44:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 22 ++ .env.development | 14 ++ .env.production | 14 ++ .env.test | 14 ++ index.html | 2 +- package-lock.json | 7 +- package.json | 3 +- src/api/login/index.js | 20 ++ src/api/report.ts | 49 ---- src/api/request.ts | 35 --- src/api/user/index.js | 0 src/components/HelloWorld.vue | 41 ---- src/components/report/EnvironmentAnalysis.vue | 34 +-- src/components/report/MonitorDataChart.vue | 30 ++- src/components/report/SpeciesAnalysis.vue | 24 +- src/layout/AdminLayout.vue | 4 +- .../Sidebar/{menuData.ts => menuData.js} | 2 +- src/{main.ts => main.js} | 2 +- src/router/{index.ts => index.js} | 16 +- src/stores/{systemLog.ts => systemLog.js} | 21 +- src/stores/user.js | 53 +++++ src/stores/user.ts | 44 ---- src/utils/request.js | 166 ++++++++++++++ src/views/dashboard/index.vue | 14 +- src/views/dashboard/screen/index.vue | 2 +- src/views/login/index.vue | 10 +- src/views/monitor/environment/index.vue | 54 ++--- src/views/monitor/species/index.vue | 25 +- src/views/patrol/points/index.vue | 50 ++-- src/views/patrol/records/index.vue | 27 +-- src/views/patrol/tasks/index.vue | 89 +++----- src/views/report/about/index.vue | 2 +- src/views/report/analysis/index.vue | 204 +++++++++++------ src/views/report/daily/index.vue | 213 +++++++++++++----- src/views/reports/analysis/index.vue | 35 +-- src/views/reports/daily/index.vue | 56 ++--- src/views/system/data/index.vue | 25 +- src/views/system/devices/index.vue | 43 ++-- src/views/system/logs/index.vue | 17 +- src/views/system/permissions/index.vue | 26 +-- src/views/system/roles/index.vue | 18 +- src/views/system/settings/index.vue | 6 +- src/views/system/users/index.vue | 19 +- src/vite-env.d.ts | 1 - tsconfig.app.json | 14 -- tsconfig.json | 13 -- tsconfig.node.json | 24 -- vite.config.ts => vite.config.js | 9 +- 48 files changed, 879 insertions(+), 734 deletions(-) create mode 100644 .env create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .env.test create mode 100644 src/api/login/index.js delete mode 100644 src/api/report.ts delete mode 100644 src/api/request.ts create mode 100644 src/api/user/index.js delete mode 100644 src/components/HelloWorld.vue rename src/layout/components/Sidebar/{menuData.ts => menuData.js} (99%) rename src/{main.ts => main.js} (96%) rename src/router/{index.ts => index.js} (91%) rename src/stores/{systemLog.ts => systemLog.js} (77%) create mode 100644 src/stores/user.js delete mode 100644 src/stores/user.ts create mode 100644 src/utils/request.js delete mode 100644 src/vite-env.d.ts delete mode 100644 tsconfig.app.json delete mode 100644 tsconfig.json delete mode 100644 tsconfig.node.json rename vite.config.ts => vite.config.js (68%) diff --git a/.env b/.env new file mode 100644 index 0000000..ba65ba3 --- /dev/null +++ b/.env @@ -0,0 +1,22 @@ +# 所有环境都会加载的配置 + +# 项目名称 +VITE_APP_TITLE=智慧湿地管理平台 + +# 项目描述 +VITE_APP_DESC=科技赋能生态保护 智慧守护绿色家园 + +# 版本号 +VITE_APP_VERSION=1.0.0 + +# 版权信息 +VITE_APP_COPYRIGHT=Copyright © 2025 智慧湿地管理平台 All Rights Reserved. + +# 是否启用 gzip 压缩 +VITE_BUILD_GZIP=false + +# 是否启用 brotli 压缩 +VITE_BUILD_BROTLI=false + +# 是否删除 console +VITE_DROP_CONSOLE=true \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..d8640f1 --- /dev/null +++ b/.env.development @@ -0,0 +1,14 @@ +# 开发环境 +VITE_NODE_ENV=development + +# API 基础路径 +VITE_API_BASE_URL=http://localhost:3000 + +# 项目基础路径 +VITE_BASE_URL=/ + +# Mock API 路径 +VITE_MOCK_API=true + +# 是否开启调试工具 +VITE_DEV_TOOLS=true \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..f5561ec --- /dev/null +++ b/.env.production @@ -0,0 +1,14 @@ +# 生产环境 +VITE_NODE_ENV=production + +# API 基础路径 - 实际项目中替换为真实的后端接口地址 +VITE_API_BASE_URL=https://api.your-domain.com + +# 项目基础路径 +VITE_BASE_URL=/ + +# Mock API 路径 +VITE_MOCK_API=false + +# 是否开启调试工具 +VITE_DEV_TOOLS=false \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..6db513b --- /dev/null +++ b/.env.test @@ -0,0 +1,14 @@ +# 测试环境 +VITE_NODE_ENV=test + +# API 基础路径 +VITE_API_BASE_URL=https://test-api.your-domain.com + +# 项目基础路径 +VITE_BASE_URL=/ + +# Mock API 路径 +VITE_MOCK_API=false + +# 是否开启调试工具 +VITE_DEV_TOOLS=true \ No newline at end of file diff --git a/index.html b/index.html index 11104c1..bff11de 100644 --- a/index.html +++ b/index.html @@ -8,6 +8,6 @@
- + diff --git a/package-lock.json b/package-lock.json index 105fefe..4fad924 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,8 @@ "json-server": "^1.0.0-beta.3", "pinia": "^2.3.1", "vue": "^3.5.13", - "vue-router": "^4.5.0" + "vue-router": "^4.5.0", + "wetlandguard-admin": "file:" }, "devDependencies": { "@types/node": "^22.13.0", @@ -2750,6 +2751,10 @@ "typescript": ">=5.0.0" } }, + "node_modules/wetlandguard-admin": { + "resolved": "", + "link": true + }, "node_modules/zrender": { "version": "5.6.1", "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz", diff --git a/package.json b/package.json index e383da0..4f50e9b 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "json-server": "^1.0.0-beta.3", "pinia": "^2.3.1", "vue": "^3.5.13", - "vue-router": "^4.5.0" + "vue-router": "^4.5.0", + "wetlandguard-admin": "file:" }, "devDependencies": { "@types/node": "^22.13.0", diff --git a/src/api/login/index.js b/src/api/login/index.js new file mode 100644 index 0000000..ddc01d1 --- /dev/null +++ b/src/api/login/index.js @@ -0,0 +1,20 @@ +import request from '@/utils/request' + +/** + * 用户登录 + * @param {Object} data - 登录参数 + * @param {string} data.username - 用户名 + * @param {string} data.password - 密码 + * @returns {Promise} 返回包含token和用户信息的Promise + */ +export function login(data) { + return request.post('/api/users/login', data) +} + +/** + * 退出登录 + * @returns {Promise} + */ +export function logout() { + return request.post('/api/users/logout') +} diff --git a/src/api/report.ts b/src/api/report.ts deleted file mode 100644 index 26fd721..0000000 --- a/src/api/report.ts +++ /dev/null @@ -1,49 +0,0 @@ -import request from './request'; - -// 日常报告接口 -export const dailyReportApi = { - // 获取日常报告列表 - getList: (params: any) => request.get('/report/daily/list', { params }), - - // 获取日常报告详情 - getDetail: (id: number) => request.get(`/report/daily/${id}`), - - // 创建日常报告 - create: (data: any) => request.post('/report/daily', data), - - // 更新日常报告 - update: (id: number, data: any) => request.put(`/report/daily/${id}`, data), - - // 删除日常报告 - delete: (id: number) => request.delete(`/report/daily/${id}`), - - // 导出日常报告 - export: (id: number) => request.get(`/report/daily/export/${id}`, { responseType: 'blob' }) -}; - -// 分析报告接口 -export const analysisReportApi = { - // 获取分析报告列表 - getList: (params: any) => request.get('/report/analysis/list', { params }), - - // 获取分析报告详情 - getDetail: (id: number) => request.get(`/report/analysis/${id}`), - - // 创建分析报告 - create: (data: any) => request.post('/report/analysis', data), - - // 更新分析报告 - update: (id: number, data: any) => request.put(`/report/analysis/${id}`, data), - - // 删除分析报告 - delete: (id: number) => request.delete(`/report/analysis/${id}`), - - // 导出分析报告 - export: (id: number) => request.get(`/report/analysis/export/${id}`, { responseType: 'blob' }), - - // 获取监测数据统计 - getMonitorStats: (params: any) => request.get('/report/analysis/monitor-stats', { params }), - - // 获取物种数据统计 - getSpeciesStats: (params: any) => request.get('/report/analysis/species-stats', { params }) -}; \ No newline at end of file diff --git a/src/api/request.ts b/src/api/request.ts deleted file mode 100644 index 2ba193c..0000000 --- a/src/api/request.ts +++ /dev/null @@ -1,35 +0,0 @@ -import axios from 'axios' -import { ElMessage } from 'element-plus' - -const request = axios.create({ - baseURL: '/api', - timeout: 5000 -}) - -// 请求拦截器 -request.interceptors.request.use( - (config) => { - const token = localStorage.getItem('token') - if (token) { - config.headers.Authorization = `Bearer ${token}` - } - return config - }, - (error) => { - return Promise.reject(error) - } -) - -// 响应拦截器 -request.interceptors.response.use( - (response) => { - const { data } = response - return data - }, - (error) => { - ElMessage.error(error.message || '请求失败') - return Promise.reject(error) - } -) - -export default request \ No newline at end of file diff --git a/src/api/user/index.js b/src/api/user/index.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index b58e52b..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/src/components/report/EnvironmentAnalysis.vue b/src/components/report/EnvironmentAnalysis.vue index 4a82cad..c86c9ad 100644 --- a/src/components/report/EnvironmentAnalysis.vue +++ b/src/components/report/EnvironmentAnalysis.vue @@ -1,15 +1,23 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/patrol/records/index.vue b/src/views/patrol/records/index.vue index bb5e7b3..d9790a3 100644 --- a/src/views/patrol/records/index.vue +++ b/src/views/patrol/records/index.vue @@ -1,20 +1,9 @@ - @@ -242,7 +231,7 @@ const handleCurrentChange = (val: number) => { diff --git a/src/views/report/daily/index.vue b/src/views/report/daily/index.vue index dc80ca8..20b01d6 100644 --- a/src/views/report/daily/index.vue +++ b/src/views/report/daily/index.vue @@ -1,29 +1,11 @@ - @@ -73,7 +65,7 @@ const handleDelete = (row: RoleData) => {