This commit is contained in:
huangchenhao 2025-11-06 14:58:51 +08:00
commit 71454c47a3
15 changed files with 604 additions and 379 deletions

View File

@ -21,20 +21,20 @@
"author": "",
"license": "MIT",
"engines": {
"node": ">=16.0.0",
"node": ">=20.19.0",
"pnpm": ">=8.0.0"
},
"dependencies": {
"@element-plus/icons-vue": "^2.3.2",
"@vueuse/core": "^14.0.0",
"dayjs": "^1.11.18",
"dayjs": "^1.11.19",
"element-plus": "^2.11.5",
"vant": "^4.9.21"
},
"devDependencies": {
"@vant/auto-import-resolver": "^1.3.0",
"less": "^4.4.2",
"unplugin-auto-import": "^0.17.0",
"unplugin-auto-import": "^20.2.0",
"unplugin-vue-components": "^0.26.0"
}
}

View File

@ -9,17 +9,17 @@
"preview": "vite preview"
},
"dependencies": {
"vue": "^3.4.0",
"vue-router": "^4.2.0",
"pinia": "^2.1.0",
"vant": "^4.8.0",
"axios": "^1.6.0"
"vue": "^3.5.18",
"vue-router": "^4.6.3",
"pinia": "^3.0.3",
"vant": "^4.9.21",
"axios": "^1.13.2"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.0",
"vite": "^5.0.0",
"sass": "^1.70.0",
"@vitejs/plugin-vue": "^6.0.1",
"vite": "^7.2.0",
"sass": "^1.93.3",
"unplugin-vue-components": "^0.26.0",
"unplugin-auto-import": "^0.17.0"
"unplugin-auto-import": "^20.2.0"
}
}

View File

@ -1,37 +1,86 @@
import { defineConfig } from 'vite'
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import Components from 'unplugin-vue-components/vite'
import { VantResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
base: '/bxztapp/',
plugins: [
vue(),
Components({
resolvers: [VantResolver()]
})
],
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
'@shared': resolve(__dirname, '../shared')
const DEFAULT_BUILD_BASE = '/bxztapp/'
const normalizeBasePath = (value) => {
if (!value || value === '/') {
return '/'
}
let base = value.trim()
if (!base.startsWith('/')) {
base = `/${base}`
}
if (!base.endsWith('/')) {
base = `${base}/`
}
return base
}
const resolveCliBase = () => {
const argv = process.argv || []
const directFlagIndex = argv.indexOf('--base')
if (directFlagIndex !== -1 && argv[directFlagIndex + 1]) {
return argv[directFlagIndex + 1]
}
const customFlagIndex = argv.indexOf('--basePath')
if (customFlagIndex !== -1 && argv[customFlagIndex + 1]) {
return argv[customFlagIndex + 1]
}
const equalArg = argv.find(arg => arg.startsWith('--base='))
if (equalArg) {
return equalArg.split('=')[1]
}
const equalCustomArg = argv.find(arg => arg.startsWith('--basePath='))
if (equalCustomArg) {
return equalCustomArg.split('=')[1]
}
return undefined
}
export default defineConfig(({ command, mode }) => {
const env = loadEnv(mode, process.cwd(), '')
const baseCandidate =
command === 'build'
? resolveCliBase() ??
env.VITE_BASE_PATH ??
env.BASE_PATH ??
process.env.BASE_PATH ??
DEFAULT_BUILD_BASE
: '/'
return {
base: process.env.NODE_ENV === 'production' ? normalizeBasePath(baseCandidate) : '/',
plugins: [
vue(),
Components({
resolvers: [VantResolver()]
})
],
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
'@shared': resolve(__dirname, '../shared')
}
},
server: {
port: 8080,
host: '0.0.0.0',
open: true,
proxy: {
'/snow-ops-platform': {
target: 'http://8.137.54.85:8661/',
changeOrigin: true,
},
}
},
build: {
outDir: 'dist',
assetsDir: 'assets',
sourcemap: false
}
},
server: {
port: 8080,
host: '0.0.0.0',
open: true,
proxy: {
'/snow-ops-platform': {
target: 'http://8.137.54.85:8661/',
changeOrigin: true,
},
}
},
build: {
outDir: 'dist',
assetsDir: 'assets',
sourcemap: false
}
})

View File

@ -9,17 +9,17 @@
"preview": "vite preview"
},
"dependencies": {
"vue": "^3.4.0",
"vue-router": "^4.2.0",
"pinia": "^2.1.0",
"axios": "^1.6.0",
"echarts": "^5.5.0",
"vue-echarts": "^6.6.0"
"vue": "^3.5.18",
"vue-router": "^4.6.3",
"pinia": "^3.0.3",
"axios": "^1.13.2",
"echarts": "^6.0.0",
"vue-echarts": "^8.0.1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.0",
"vite": "^5.0.0",
"sass": "^1.70.0",
"@vitejs/plugin-vue": "^6.0.1",
"vite": "^7.2.0",
"sass": "^1.93.3",
"less": "^4.4.2"
}
}

View File

@ -1,4 +1,4 @@
@import './mixins.scss';
@use './mixins.scss' as *;
* {
margin: 0;

View File

@ -36,7 +36,7 @@ const stats = ref([
</script>
<style scoped lang="scss">
@import '@/styles/mixins.scss';
@use '@/styles/mixins.scss' as *;
.block-event {
background: url(../assets/img/block-panel-bg.png) no-repeat;

View File

@ -29,7 +29,7 @@ import YearStatistics from './YearStatistics.vue'
</script>
<style scoped lang="scss">
@import '@/styles/mixins.scss';
@use '@/styles/mixins.scss' as *;
.cockpit-layout {
width: 100vw;

View File

@ -99,7 +99,7 @@ const resources = ref([
</script>
<style scoped lang="scss">
@import '@/styles/mixins.scss';
@use '@/styles/mixins.scss' as *;
.emergency-resources {
background: url(../assets/img/emergency-panel-bg.png) no-repeat;

View File

@ -110,7 +110,7 @@ const markers = ref([
</script>
<style scoped lang="scss">
@import '@/styles/mixins.scss';
@use '@/styles/mixins.scss' as *;
.map-center {
width: 100%;

View File

@ -11,7 +11,7 @@
</script>
<style scoped lang="scss">
@import '@/styles/mixins.scss';
@use '@/styles/mixins.scss' as *;
.page-header {
height: vh(137);

View File

@ -116,7 +116,7 @@ const districts = ref([
</script>
<style scoped lang="scss">
@import '@/styles/mixins.scss';
@use '@/styles/mixins.scss' as *;
.weather-warning {
background: url(../assets/img/weather-panel-bg.png) no-repeat;

View File

@ -51,7 +51,7 @@ const xAxisYears = ref([
</script>
<style scoped lang="scss">
@import '@/styles/mixins.scss';
@use '@/styles/mixins.scss' as *;
.year-statistics {
background: url(../assets/img/statistics-panel-bg.png) no-repeat;

View File

@ -1,48 +1,97 @@
import { defineConfig } from 'vite'
import { defineConfig, loadEnv } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
export default defineConfig({
base: '/bxztpc/',
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
'@shared': resolve(__dirname, '../shared')
}
},
server: {
port: 3000,
open: true,
cors: true,
proxy: {
'/snow-ops-platform': {
target: 'http://8.137.54.85:8661/',
changeOrigin: true,
},
}
},
build: {
outDir: 'dist',
assetsDir: 'assets',
sourcemap: false,
minify: 'terser',
rollupOptions: {
output: {
chunkFileNames: 'js/[name]-[hash].js',
entryFileNames: 'js/[name]-[hash].js',
assetFileNames: '[ext]/[name]-[hash].[ext]'
const DEFAULT_BUILD_BASE = '/bxztpc/'
const normalizeBasePath = (value) => {
if (!value || value === '/') {
return '/'
}
let base = value.trim()
if (!base.startsWith('/')) {
base = `/${base}`
}
if (!base.endsWith('/')) {
base = `${base}/`
}
return base
}
const resolveCliBase = () => {
const argv = process.argv || []
const directFlagIndex = argv.indexOf('--base')
if (directFlagIndex !== -1 && argv[directFlagIndex + 1]) {
return argv[directFlagIndex + 1]
}
const customFlagIndex = argv.indexOf('--basePath')
if (customFlagIndex !== -1 && argv[customFlagIndex + 1]) {
return argv[customFlagIndex + 1]
}
const equalArg = argv.find(arg => arg.startsWith('--base='))
if (equalArg) {
return equalArg.split('=')[1]
}
const equalCustomArg = argv.find(arg => arg.startsWith('--basePath='))
if (equalCustomArg) {
return equalCustomArg.split('=')[1]
}
return undefined
}
export default defineConfig(({ command, mode }) => {
const env = loadEnv(mode, process.cwd(), '')
const baseCandidate =
command === 'build'
? resolveCliBase() ??
env.VITE_BASE_PATH ??
env.BASE_PATH ??
process.env.BASE_PATH ??
DEFAULT_BUILD_BASE
: '/'
return {
base: process.env.NODE_ENV === 'production' ? normalizeBasePath(baseCandidate) : '/',
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
'@shared': resolve(__dirname, '../shared')
}
},
server: {
port: 3000,
open: true,
cors: true,
proxy: {
'/snow-ops-platform': {
target: 'http://8.137.54.85:8661/',
changeOrigin: true,
},
}
},
build: {
outDir: 'dist',
assetsDir: 'assets',
sourcemap: false,
minify: 'terser',
rollupOptions: {
output: {
chunkFileNames: 'js/[name]-[hash].js',
entryFileNames: 'js/[name]-[hash].js',
assetFileNames: '[ext]/[name]-[hash].[ext]'
}
}
}
}

View File

@ -6,6 +6,6 @@
"main": "index.js",
"scripts": {},
"dependencies": {
"axios": "^1.6.0"
"axios": "^1.13.2"
}
}

689
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff