diff --git a/policeManagement/.env.production b/policeManagement/.env.production index 99d9241..d7a7d29 100644 --- a/policeManagement/.env.production +++ b/policeManagement/.env.production @@ -5,4 +5,6 @@ VITE_DROP_CONSOLE=true # axios VITE_APP_BASE_API=/api -VITE_APP_PROXY_URL=https://172.10.10.238:8765 +VITE_APP_PROXY_URL=http://172.10.10.93:8765 +# rsa 公钥 +VITE_APP_RSA_PUBLIC_KEY=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpu1C3JHZ+Ng/eVVCZtwKsOZv9RktpAL13pKy4FoRHyNv2t8TPV2AMzLzfEzlWx001nBxyVxEMR2N9jAcqFLHv7r16ciOzbtzB9dky2G+bc9jIs4/EdVK5bAZcPRh5Jrb78sC9PHyR4AeceDyCIKHLUbWBJB4NTZE0s1Wh5kMynQIDAQAB \ No newline at end of file diff --git a/policeManagement/.gitignore b/policeManagement/.gitignore index eca7316..bb4e3e5 100644 --- a/policeManagement/.gitignore +++ b/policeManagement/.gitignore @@ -9,6 +9,8 @@ lerna-debug.log* node_modules dist +policeManagement +package-lock.json dist-ssr *.local diff --git a/policeManagement/components.d.ts b/policeManagement/components.d.ts index 83807bb..61c71f9 100644 --- a/policeManagement/components.d.ts +++ b/policeManagement/components.d.ts @@ -7,18 +7,47 @@ export {} /* prettier-ignore */ declare module 'vue' { export interface GlobalComponents { + AAvatar: typeof import('ant-design-vue/es')['Avatar'] AButton: typeof import('ant-design-vue/es')['Button'] ACascader: typeof import('ant-design-vue/es')['Cascader'] ACheckbox: typeof import('ant-design-vue/es')['Checkbox'] + ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup'] + ACol: typeof import('ant-design-vue/es')['Col'] AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider'] + ADatePicker: typeof import('ant-design-vue/es')['DatePicker'] ADivider: typeof import('ant-design-vue/es')['Divider'] + ADropdown: typeof import('ant-design-vue/es')['Dropdown'] AForm: typeof import('ant-design-vue/es')['Form'] AFormItem: typeof import('ant-design-vue/es')['FormItem'] AInput: typeof import('ant-design-vue/es')['Input'] + AInputNumber: typeof import('ant-design-vue/es')['InputNumber'] AInputPassword: typeof import('ant-design-vue/es')['InputPassword'] + ALayout: typeof import('ant-design-vue/es')['Layout'] + ALayoutContent: typeof import('ant-design-vue/es')['LayoutContent'] + ALayoutHeader: typeof import('ant-design-vue/es')['LayoutHeader'] + ALayoutSider: typeof import('ant-design-vue/es')['LayoutSider'] + AMenu: typeof import('ant-design-vue/es')['Menu'] + AMenuItem: typeof import('ant-design-vue/es')['MenuItem'] + AModal: typeof import('ant-design-vue/es')['Modal'] + APagination: typeof import('ant-design-vue/es')['Pagination'] + APopconfirm: typeof import('ant-design-vue/es')['Popconfirm'] + APopover: typeof import('ant-design-vue/es')['Popover'] + ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup'] + ARangePicker: typeof import('ant-design-vue/es')['RangePicker'] + ARow: typeof import('ant-design-vue/es')['Row'] + ASelect: typeof import('ant-design-vue/es')['Select'] + ASpace: typeof import('ant-design-vue/es')['Space'] ASpin: typeof import('ant-design-vue/es')['Spin'] + ASubMenu: typeof import('ant-design-vue/es')['SubMenu'] + ATable: typeof import('ant-design-vue/es')['Table'] ATabPane: typeof import('ant-design-vue/es')['TabPane'] ATabs: typeof import('ant-design-vue/es')['Tabs'] + ATag: typeof import('ant-design-vue/es')['Tag'] + ATextarea: typeof import('ant-design-vue/es')['Textarea'] + ATimePicker: typeof import('ant-design-vue/es')['TimePicker'] + ATimeRangePicker: typeof import('ant-design-vue/es')['TimeRangePicker'] + ATooltip: typeof import('ant-design-vue/es')['Tooltip'] + ATreeSelect: typeof import('ant-design-vue/es')['TreeSelect'] FormProMax: typeof import('./src/components/form/FormProMax.vue')['default'] IconFont: typeof import('./src/components/iconfont/IconFont.vue')['default'] Layout: typeof import('./src/components/layout/layout.vue')['default'] diff --git a/policeManagement/package-lock.json b/policeManagement/package-lock.json index 969b040..14ee8a0 100644 --- a/policeManagement/package-lock.json +++ b/policeManagement/package-lock.json @@ -28,6 +28,7 @@ "autoprefixer": "^10.4.20", "postcss": "^8.4.41", "tailwindcss": "^3.4.10", + "terser": "^5.36.0", "typescript": "^5.5.3", "unplugin-vue-components": "^0.27.4", "vite": "^5.4.1", @@ -924,6 +925,17 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", @@ -1748,6 +1760,13 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -3152,6 +3171,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", @@ -3160,6 +3189,17 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -3356,6 +3396,32 @@ "node": ">=10.13.0" } }, + "node_modules/terser": { + "version": "5.36.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", diff --git a/policeManagement/package.json b/policeManagement/package.json index d0630cf..34b3803 100644 --- a/policeManagement/package.json +++ b/policeManagement/package.json @@ -6,7 +6,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "vue-tsc -b && vite build", + "build": "vite build --mode production", "preview": "vite preview" }, "dependencies": { @@ -16,9 +16,9 @@ "lodash-es": "^4.17.21", "pinia": "^2.2.2", "pinia-plugin-persistedstate": "^3.2.0", - "vue-component-type-helpers": "^2.1.2", "sass": "^1.77.8", "vue": "^3.4.37", + "vue-component-type-helpers": "^2.1.2", "vue-router": "4", "vue-uuid": "^3.0.0" }, @@ -30,6 +30,7 @@ "autoprefixer": "^10.4.20", "postcss": "^8.4.41", "tailwindcss": "^3.4.10", + "terser": "^5.36.0", "typescript": "^5.5.3", "unplugin-vue-components": "^0.27.4", "vite": "^5.4.1", diff --git a/policeManagement/src/router/index.ts b/policeManagement/src/router/index.ts index b4a5b80..bdd4fb3 100644 --- a/policeManagement/src/router/index.ts +++ b/policeManagement/src/router/index.ts @@ -10,7 +10,7 @@ import { ROUTER_WHITE_LIST } from "@/config"; * createWebHashHistory: 路径带#号 这部分 URL 从未被发送到服务器,所以它不需要在服务器层面上进行任何特殊处理,影响SEO */ const router = createRouter({ - history: createWebHistory(), + history: createWebHistory('/policeManagement/'), routes: [...staticRouter], strict: false, scrollBehavior: () => ({ left: 0, top: 0 }) diff --git a/policeManagement/src/views/dashboard/index.vue b/policeManagement/src/views/dashboard/index.vue index a081747..48146d0 100644 --- a/policeManagement/src/views/dashboard/index.vue +++ b/policeManagement/src/views/dashboard/index.vue @@ -1,4 +1,4 @@ - +