first commit

This commit is contained in:
lijianzhong 2024-01-24 14:15:13 +08:00
commit 6739c5d295
167 changed files with 26517 additions and 0 deletions

14
.env.development Normal file
View File

@ -0,0 +1,14 @@
# 开发环境配置
VITE_PORT = 8080
# title
VITE_TITLE = 道孚县鲜水镇“智慧鲜水”数字化平台
# version
VITE_VERSION = 2.6.4
# open
VITE_OPEN = false
# public path
VITE_PUBLIC_PATH = /
# Cross-domain proxy, you can configure multiple
VITE_PROXY = [ ["/api", "http://127.0.0.1:3000" ] ]

5
.env.production Normal file
View File

@ -0,0 +1,5 @@
# 生产环境配置
# title
VITE_TITLE = 道孚县鲜水镇“智慧鲜水”数字化平台
VITE_PUBLIC_PATH = /

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
node_modules
.DS_Store
dist
dist-ssr
*.local

3
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"recommendations": ["johnsoncodehk.volar"]
}

56
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,56 @@
{
// You should install these plugins:
// ESLint
// Prettier - Code formatter
// stylelint
// vscode-icons
// TypeScript Vue Plugin (Volar)
// Vue Language Features (Volar)
"terminal.integrated.rendererType": "dom",
"editor.formatOnType": true,
"editor.formatOnSave": true,
"javascript.updateImportsOnFileMove.enabled": "always",
"[vue]": {
"editor.defaultFormatter": "octref.vetur"
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"editor.tabSize": 2,
"editor.formatOnPaste": true,
"git.confirmSync": false,
"workbench.startupEditor": "newUntitledFile",
"editor.suggestSelection": "first",
"editor.acceptSuggestionOnCommitCharacter": false,
"css.lint.propertyIgnoredDueToDisplay": "ignore",
// Prevent inline styles from being automatically formatted to all lowercase
"editor.quickSuggestions": {
"other": true,
"comments": true,
"strings": true
},
// Automatically fix some syntax errors of ts
"tslint.autoFixOnSave": true,
"files.associations": {
// Specifies the location of snippets in the suggestion widget
"editor.snippetSuggestions": "top"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"cSpell.userWords": [
"sourcemap",
"vite"
],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"volar.tsPlugin": true,
"typescript.tsdk": "node_modules/typescript/lib",
"i18n-ally.localesPaths": [
"src/plugins/i18n"
],
"cSpell.words": [
"pnpm"
]
}

22
.vscode/vue3.0.code-snippets vendored Normal file
View File

@ -0,0 +1,22 @@
{
"Vue3.0快速生成模板": {
"prefix": "Vue3.0",
"body": [
"<template>",
"\t<div>\n",
"\t</div>",
"</template>\n",
"<script lang='ts'>",
"export default {",
"\tsetup(){",
"\t\treturn{\n\n\t\t}",
"\t},",
"}",
"</script>\n",
"<style scoped>\n",
"</style>",
"$2"
],
"description": "Vue3.0"
}
}

20
.vscode/vue3.2.code-snippets vendored Normal file
View File

@ -0,0 +1,20 @@
{
"Vue3.2快速生成模板": {
"prefix": "Vue3.2",
"body": [
"<!-- $1 -->",
"<script setup lang='ts'>",
"\t$2",
"</script>\n",
"<template>",
"\t<div>",
"\t\t$3",
"\t</div>",
"</template>\n",
"<style scoped>",
"\t$4",
"</style>"
],
"description": "Vue3.2"
}
}

11
README.md Normal file
View File

@ -0,0 +1,11 @@
# Vue 3 + Typescript + Vite
This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
## Recommended IDE Setup
- [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar)
## Type Support For `.vue` Imports in TS
Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's `.vue` type support plugin by running `Volar: Switch TS Plugin on/off` from VSCode command palette.

19
build/proxy.ts Normal file
View File

@ -0,0 +1,19 @@
type ProxyItem = [string, string];
type ProxyList = ProxyItem[];
const regExps = (value: string, reg: string): string => {
return value.replace(new RegExp(reg, "g"), "");
};
export function createProxy(list: ProxyList = []) {
const ret: any = {};
for (const [prefix, target] of list) {
ret[prefix] = {
target: target,
changeOrigin: true,
rewrite: (path: string) => regExps(path, prefix)
};
}
return ret;
}

37
build/utils.ts Normal file
View File

@ -0,0 +1,37 @@
/**
*
* @param envConf
* @returns
*/
const wrapperEnv = (envConf: Recordable): ViteEnv => {
const ret: any = {};
for (const envName of Object.keys(envConf)) {
let realName = envConf[envName].replace(/\\n/g, "\n");
realName =
realName === "true" ? true : realName === "false" ? false : realName;
if (envName === "VITE_PORT") {
realName = Number(realName);
}
if (envName === "VITE_PROXY" && realName) {
try {
realName = JSON.parse(realName.replace(/'/g, '"'));
} catch (error) {
realName = "";
}
}
ret[envName] = realName;
if (typeof realName === "string") {
process.env[envName] = realName;
} else if (typeof realName === "object") {
process.env[envName] = JSON.stringify(realName);
}
}
return ret;
};
const loadEnv = (): ViteEnv => {
return import.meta.env;
};
export { loadEnv, wrapperEnv };

24
config/proxy.ts Normal file
View File

@ -0,0 +1,24 @@
type ProxyItem = [string, string];
type ProxyList = ProxyItem[];
const regExp = (value: string, reg: string): string => {
return value.replace(new RegExp(reg, "g"), "");
};
/**
*
* @param list
* @returns ProxyList
*/
export function createProxy(list: ProxyList) {
const proxy = {};
for (const [prefix, target] of list) {
proxy[prefix] = {
target: target,
changeOrigin: true,
rewrite: (path: string) => regExp(path, prefix),
};
}
return proxy;
}

19
index.html Normal file
View File

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0" />
<title>
<%- VITE_TITLE %>
</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

9314
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

44
package.json Normal file
View File

@ -0,0 +1,44 @@
{
"name": "huayang-fulong",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "rimraf dist && cross-env vite build",
"preview": "vite preview"
},
"devDependencies": {
"@types/js-cookie": "^3.0.1",
"@types/node": "14.14.14",
"@vitejs/plugin-vue": "1.9.4",
"@vitejs/plugin-vue-jsx": "^1.2.0",
"@vue/compiler-sfc": "3.2.1",
"cross-env": "7.0.3",
"sass": "^1.43.4",
"sass-loader": "^12.3.0",
"typescript": "^4.4.4",
"vite": "2.6.4",
"vite-plugin-html": "^2.1.1",
"vite-plugin-mars3d": "2.0.3",
"vite-plugin-style-import": "^1.2.1",
"vite-plugin-svg-icons": "^1.0.5",
"vue-tsc": "^0.29.8"
},
"dependencies": {
"@turf/turf": "^6.5.0",
"axios": "^0.21.1",
"echarts": "^5.4.3",
"element-plus": "^2.4.3",
"js-cookie": "^3.0.1",
"mars3d": "^3.6.15",
"mars3d-cesium": "^1.96.8",
"mars3d-space": "^3.6.15",
"mitt": "^3.0.0",
"path": "^0.12.7",
"pinia": "^2.0.0-rc.14",
"rimraf": "^3.0.2",
"vue": "3.2.1",
"vue-router": "^4.0.11",
"vue-types": "^4.1.0",
"vue3-marquee": "^4.1.0"
}
}

6561
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

210
public/config/config.json Normal file
View File

@ -0,0 +1,210 @@
{
"map3d": {
"scene": {
"center": {
"lat": 30.393487,
"lng": 104.08042,
"alt": 49375,
"heading": 3,
"pitch": -53
},
"scene3DOnly": true,
"shadows": false,
"removeDblClick": true,
"sceneMode": 3,
"showSun": false,
"showMoon": false,
"showSkyBox": false,
"showSkyAtmosphere": true,
"fog": false,
"fxaa": true,
"requestRenderMode": false,
"contextOptions": {
"requestWebgl1": false
},
"globe": {
"depthTestAgainstTerrain": true,
"baseColor": "#546a53",
"showGroundAtmosphere": true,
"enableLighting": false
},
"cameraController": {
"zoomFactor": 3.0,
"minimumZoomDistance": 1,
"maximumZoomDistance": 50000000,
"enableRotate": true,
"enableTranslate": true,
"enableTilt": true,
"enableZoom": true,
"enableCollisionDetection": true,
"minimumCollisionTerrainHeight": 15000
}
},
"control": {
"homeButton": false,
"baseLayerPicker": false,
"sceneModePicker": false,
"vrButton": false,
"fullscreenButton": false,
"navigationHelpButton": false,
"animation": false,
"timeline": false,
"infoBox": false,
"geocoder": false,
"selectionIndicator": false,
"showRenderLoopErrors": false,
"locationBar": {
"crs": "CGCS2000_GK_Zone_3",
"crsDecimal": 0,
"template": "<div>经度:{lng}</div> <div>纬度:{lat}</div> <div class='hide1000'>横{crsx} 纵{crsy}</div> <div>海拔:{alt}米</div> <div class='hide700'>层级:{level}</div><div>方向:{heading}°</div> <div>俯仰角:{pitch}°</div><div class='hide700'>视高:{cameraHeight}米</div><div class='hide700'>帧率:{fps} FPS</div>"
}
},
"basemaps": [
{
"id": 10,
"name": "地图底图",
"type": "group"
},
{
"pid": 10,
"name": "高德影像",
"type": "group",
"icon": "/img/basemaps/gaode_img.png",
"layers": [
{
"name": "底图",
"type": "gaode",
"layer": "img_d"
},
{
"name": "注记",
"type": "gaode",
"layer": "img_z"
}
]
},
{
"pid": 10,
"name": "高德电子",
"type": "gaode",
"icon": "/img/basemaps/gaode_vec.png",
"layer": "vec"
},
{
"pid": 10,
"name": "百度影像",
"type": "group",
"icon": "/img/basemaps/bd-img.png",
"layers": [
{
"name": "底图",
"type": "baidu",
"layer": "img_d"
},
{
"name": "注记",
"type": "baidu",
"layer": "img_z"
}
]
},
{
"pid": 10,
"name": "百度电子",
"icon": "/img/basemaps/bd-vec.png",
"type": "baidu",
"layer": "vec"
},
{
"pid": 10,
"name": "腾讯影像",
"icon": "/img/basemaps/tencent_img.png",
"type": "group",
"layers": [
{
"name": "底图",
"type": "tencent",
"layer": "img_d"
},
{
"name": "注记",
"type": "tencent",
"layer": "img_z"
}
]
},
{
"pid": 10,
"name": "腾讯电子",
"icon": "/img/basemaps/tencent_vec.png",
"type": "tencent",
"layer": "vec"
},
{
"pid": 10,
"name": "ArcGIS影像",
"icon": "/img/basemaps/esriWorldImagery.png",
"type": "xyz",
"url": "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
"enablePickFeatures": false
},
{
"pid": 10,
"name": "微软影像",
"icon": "/img/basemaps/bingAerial.png",
"type": "bing",
"layer": "Aerial"
},
{
"id": 2017,
"pid": 10,
"name": "暗色底图",
"type": "gaode",
"icon": "/img/basemaps/blackMarble.png",
"layer": "vec",
"invertColor": true,
"filterColor": "#4e70a6",
"brightness": 0.6,
"contrast": 1.8,
"gamma": 0.3,
"hue": 1,
"saturation": 0
},
{
"pid": 10,
"name": "蓝色底图",
"icon": "/img/basemaps/bd-c-midnight.png",
"type": "xyz",
"url": "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}",
"chinaCRS": "GCJ02",
"enablePickFeatures": false
},
{
"pid": 10,
"name": "黑色底图",
"icon": "/img/basemaps/bd-c-dark.png",
"type": "tencent",
"layer": "custom",
"style": "4",
"show": true
},
{
"pid": 10,
"name": "单张图片 (本地离线)",
"icon": "/img/basemaps/offline.png",
"type": "image",
"url": "//data.mars3d.cn/file/img/world/world.jpg"
},
{
"id": 2023,
"pid": 10,
"name": "无底图",
"icon": "/img/basemaps/null.png",
"type": "grid",
"color": "#ffffff",
"alpha": 0.03,
"cells": 2
}
]
}
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
public/img/icon/calib.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
public/img/tietu/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

2651
public/json/daofu.json Normal file

File diff suppressed because it is too large Load Diff

3
src/App.vue Normal file
View File

@ -0,0 +1,3 @@
<template>
<router-view />
</template>

8
src/api/common.ts Normal file
View File

@ -0,0 +1,8 @@
import request from "../utils/request";
export function test() {
return request({
url: "",
method: "POST",
});
}

20
src/assets/font/font.css Normal file
View File

@ -0,0 +1,20 @@
@font-face {
font-family: 'YouSheBiaoTiHei';
src: url('./ttf/YouSe.ttf');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PingFang-SC';
src: url('./ttf/PingFang-SC-Regular.woff');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PingFangSC-Regular';
src: url('./ttf/PingFangSC-Regular.woff2');
font-weight: normal;
font-style: normal;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,34 @@
html,
body {
margin: 0;
height: 100%;
}
html {
box-sizing: border-box;
}
#app,
.layout-container {
height: 100%;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
/** disable-outline-a */
a:focus,
a:active {
outline: none;
}
a,
a:focus,
a:hover {
cursor: pointer;
color: inherit;
text-decoration: none;
}

View File

Some files were not shown because too many files have changed in this diff Show More