shuishen
2025-09-29 ab22f6e51f812d3faa4758e59712a6ea269d128f
feat:项目基础页面创建、基础配置调整
3 files modified
6 files renamed
2 files deleted
11 files added
625 ■■■■■ changed files
src/main.js 5 ●●●●● patch | view | raw | blame | history
src/manifest.json 163 ●●●● patch | view | raw | blame | history
src/pages.json 203 ●●●●● patch | view | raw | blame | history
src/pages/common/webview/index.vue 12 ●●●●● patch | view | raw | blame | history
src/pages/inspectionTask/index.vue 1 ●●●● patch | view | raw | blame | history
src/pages/login/index.vue 1 ●●●● patch | view | raw | blame | history
src/pages/map/index.vue 84 ●●●●● patch | view | raw | blame | history
src/pages/tab/map/index.vue 34 ●●●●● patch | view | raw | blame | history
src/pages/user/index.vue 1 ●●●● patch | view | raw | blame | history
src/pages/work/index.vue 1 ●●●● patch | view | raw | blame | history
src/subPackages/404/index.vue patch | view | raw | blame | history
src/subPackages/taskDetail/addTask/index.vue 18 ●●●●● patch | view | raw | blame | history
src/subPackages/taskDetail/execution/index.vue 8 ●●●●● patch | view | raw | blame | history
src/subPackages/taskDetail/inExecution/index.vue 8 ●●●●● patch | view | raw | blame | history
src/subPackages/taskDetail/index.vue 18 ●●●●● patch | view | raw | blame | history
src/subPackages/theme/index.vue patch | view | raw | blame | history
src/subPackages/userDetail/infos/index.vue 8 ●●●●● patch | view | raw | blame | history
src/subPackages/userDetail/password/index.vue 8 ●●●●● patch | view | raw | blame | history
src/subPackages/workDetail/addWork/index.vue 8 ●●●●● patch | view | raw | blame | history
src/subPackages/workDetail/index.vue 18 ●●●●● patch | view | raw | blame | history
src/subPackages/workDetail/mapWork/index.vue 8 ●●●●● patch | view | raw | blame | history
src/subPackages/workDetail/photoMagnify/index.vue 18 ●●●●● patch | view | raw | blame | history
src/main.js
@@ -4,8 +4,8 @@
 * @LastEditors  : yuan
 * @LastEditTime : 2025-09-28 09:39:15
 * @FilePath     : \src\main.js
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-09-28 09:31:16
 */
import { createSSRApp } from "vue"
@@ -13,6 +13,7 @@
import setupPlugins from "@/plugins"
// 引入UnoCSS
import "virtual:uno.css"
import 'leaflet/dist/leaflet.css'
export function createApp() {
  const app = createSSRApp(App)
src/manifest.json
@@ -1,78 +1,93 @@
{
    "name" : "",
    "appid" : "",
    "description" : "",
    "versionName" : "1.0.0",
    "versionCode" : "100",
    "transformPx" : false,
    /* 5+App特有相关 */
    "app-plus" : {
        "usingComponents" : true,
        "nvueStyleCompiler" : "uni-app",
        "compilerVersion" : 3,
        "splashscreen" : {
            "alwaysShowBeforeRender" : true,
            "waiting" : true,
            "autoclose" : true,
            "delay" : 0
        },
        /* 模块配置 */
        "modules" : {},
        /* 应用发布信息 */
        "distribute" : {
            /* android打包配置 */
            "android" : {
                "permissions" : [
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                ]
            },
            /* ios打包配置 */
            "ios" : {},
            /* SDK配置 */
            "sdkConfigs" : {}
        }
  "name": "掌控智飞",
  "appid": "__UNI__0981D7F",
  "description": "",
  "versionName": "1.0.0",
  "versionCode": "100",
  "transformPx": false,
  /* 5+App特有相关 */
  "app-plus": {
    "orientation": [
      //竖屏正方向
      "portrait-primary",
      //竖屏反方向
      "portrait-secondary",
      //横屏正方向
      "landscape-primary",
      //横屏反方向
      "landscape-secondary",
      //自然方向
      "default"
    ],
    "usingComponents": true,
    "nvueStyleCompiler": "uni-app",
    "compilerVersion": 3,
    "splashscreen": {
      "alwaysShowBeforeRender": true,
      "waiting": true,
      "autoclose": true,
      "delay": 0
    },
    /* 快应用特有相关 */
    "quickapp" : {},
    /* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "wx1ff4bbc24b343ef1",
        "setting" : {
            "urlCheck" : false
        },
        "usingComponents" : true
    },
    "mp-alipay" : {
        "usingComponents" : true
    },
    "mp-baidu" : {
        "usingComponents" : true
    },
    "mp-toutiao" : {
        "usingComponents" : true
    },
    "uniStatistics" : {
        "enable" : false
    },
    "vueVersion" : "3",
    "h5" : {
        "router" : {
            "mode" : "hash",
            "base" : "/uniapp-vue3-template/"
        }
    /* 模块配置 */
    "modules": {},
    /* 应用发布信息 */
    "distribute": {
      /* android打包配置 */
      "android": {
        "permissions": [
          "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
          "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
          "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
          "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
          "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
          "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
          "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
          "<uses-permission android:name=\"android.permission.CAMERA\"/>",
          "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
          "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
          "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
          "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
          "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
          "<uses-feature android:name=\"android.hardware.camera\"/>",
          "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
        ]
      },
      /* ios打包配置 */
      "ios": {
        "dSYMs": false
      },
      /* SDK配置 */
      "sdkConfigs": {}
    }
  },
  /* 快应用特有相关 */
  "quickapp": {},
  /* 小程序特有相关 */
  "mp-weixin": {
    "appid": "wx1ff4bbc24b343ef1",
    "setting": {
      "urlCheck": false
    },
    "usingComponents": true
  },
  "mp-alipay": {
    "usingComponents": true
  },
  "mp-baidu": {
    "usingComponents": true
  },
  "mp-toutiao": {
    "usingComponents": true
  },
  "uniStatistics": {
    "enable": false
  },
  "vueVersion": "3",
  "h5": {
    "router": {
      "mode": "hash",
      "base": "/uniapp-vue3-template/"
    }
  }
}
src/pages.json
@@ -7,100 +7,153 @@
      "^(?!z-paging-refresh|z-paging-load-more)z-paging(.*)": "z-paging/components/z-paging$1/z-paging$1.vue"
    }
  },
  "pages": [
    {
      "path": "pages/tab/home/index",
      "style": {
        "navigationBarTitleText": "首页"
      }
    },
    {
      "path": "pages/tab/map/index",
  "pages": [{
      "path": "pages/map/index",
      "style": {
        "navigationBarTitleText": "地图"
      }
    },
    {
      "path": "pages/tab/list/index",
      "path": "pages/inspectionTask/index",
      "style": {
        "navigationBarTitleText": "列表"
        "navigationBarTitleText": "巡检任务"
      }
    }, {
      "path": "pages/work/index",
      "style": {
        "navigationBarTitleText": "事件工单"
      }
    },
    {
      "path": "pages/tab/user/index",
      "path": "pages/user/index",
      "style": {
        "navigationStyle": "custom"
      },
      "needLogin": true
    }
  ],
  "subPackages": [
        "navigationBarTitleText": "我的"
      }
    },
    {
      "root": "pages/common",
      "pages": [
        {
          "path": "login/index",
          "style": {
            "navigationBarTitleText": "登录",
            "navigationStyle": "custom"
          }
        },
        {
          "path": "webview/index",
          "style": {
            "navigationBarTitleText": "网页"
          }
        },
        {
          "path": "404/index",
          "style": {
            "navigationBarTitleText": "404",
            "navigationStyle": "custom"
          }
        },
        {
          "path": "theme/index",
          "style": {
            "navigationBarTitleText": "主题设置"
          }
        }
      ]
      "path": "pages/login/index",
      "style": {
        "navigationBarTitleText": "登录页"
      }
    }
  ],
  "preloadRule": {
    "pages/tab/home/index": {
      "network": "all",
      "packages": ["pages/common"]
    }
  },
  "subPackages": [{
    "root": "subPackages",
    "pages": [
      {
        "path": "404/index",
        "style": {
          "navigationBarTitleText": "404",
          "navigationStyle": "custom"
        }
      },
      {
        "path": "theme/index",
        "style": {
          "navigationBarTitleText": "主题设置"
        }
      },
      {
        "path": "taskDetail/index",
        "style": {
          "navigationBarTitleText": "任务详情"
        }
      },
      {
        "path": "taskDetail/addTask/index",
        "style": {
          "navigationBarTitleText": "新建任务"
        }
      },
      {
        "path": "taskDetail/execution/index",
        "style": {
          "navigationBarTitleText": "已执行"
        }
      },
      {
        "path": "taskDetail/inExecution/index",
        "style": {
          "navigationBarTitleText": "执行中"
        }
      },
      {
        "path": "workDetail/index",
        "style": {
          "navigationBarTitleText": "工单详情"
        }
      },
      {
        "path": "workDetail/addWork/index",
        "style": {
          "navigationBarTitleText": "新建工单"
        }
      },
      {
        "path": "workDetail/mapWork/index",
        "style": {
          "navigationBarTitleText": "地图展示"
        }
      },
      {
        "path": "workDetail/photoMagnify/index",
        "style": {
          "navigationBarTitleText": "照片放大"
        }
      },
      {
        "path": "userDetail/infos/index",
        "style": {
          "navigationBarTitleText": "个人资料"
        }
      },
      {
        "path": "userDetail/password/index",
        "style": {
          "navigationBarTitleText": "修改密码"
        }
      }
    ]
  }],
  "tabBar": {
    "color": "#1b233b",
    "selectedColor": "#21d59d",
    "borderStyle": "black",
    "backgroundColor": "#ffffff",
    "list": [{
      "iconPath": "static/images/tabbar/icon_home.png",
      "selectedIconPath": "static/images/tabbar/icon_home_selected.png",
      "pagePath": "pages/tab/home/index",
      "text": "首页"
    },
    {
      "iconPath": "static/images/tabbar/icon_home.png",
      "selectedIconPath": "static/images/tabbar/icon_home_selected.png",
      "pagePath": "pages/tab/map/index",
      "text": "地图"
    },
    {
      "iconPath": "static/images/tabbar/icon_list.png",
      "selectedIconPath": "static/images/tabbar/icon_list_selected.png",
      "pagePath": "pages/tab/list/index",
      "text": "列表"
    }, {
      "iconPath": "static/images/tabbar/icon_me.png",
      "selectedIconPath": "static/images/tabbar/icon_me_selected.png",
      "pagePath": "pages/tab/user/index",
      "text": "我的"
    }]
        "iconPath": "static/images/tabbar/icon_home.png",
        "selectedIconPath": "static/images/tabbar/icon_home_selected.png",
        "pagePath": "pages/map/index",
        "text": "地图"
      },
      {
        "iconPath": "static/images/tabbar/icon_list.png",
        "selectedIconPath": "static/images/tabbar/icon_list_selected.png",
        "pagePath": "pages/inspectionTask/index",
        "text": "巡检任务"
      }, {
        "iconPath": "static/images/tabbar/icon_home.png",
        "selectedIconPath": "static/images/tabbar/icon_home_selected.png",
        "pagePath": "pages/work/index",
        "text": "事件工单"
      },
      {
        "iconPath": "static/images/tabbar/icon_me.png",
        "selectedIconPath": "static/images/tabbar/icon_me_selected.png",
        "pagePath": "pages/user/index",
        "text": "我的"
      }
    ]
  },
  "globalStyle": {
    "navigationBarTextStyle": "black",
src/pages/common/webview/index.vue
File was deleted
src/pages/inspectionTask/index.vue
File was renamed from src/pages/tab/list/index.vue
@@ -1,3 +1,4 @@
 <!-- 巡检任务 -->
<template>
  <z-paging ref="pagingRef" v-model="dataList" @query="queryList">
    <view v-for="(item, index) in dataList" :key="index">
src/pages/login/index.vue
File was renamed from src/pages/common/login/index.vue
@@ -1,3 +1,4 @@
<!-- 登录页 -->
<template>
  <view>
    <view class="login-form-wrap">
src/pages/map/index.vue
New file
@@ -0,0 +1,84 @@
<!-- 地图 -->
<template>
  <!-- 地图容器 -->
  <view id="map" class="map" style="width: 100%; height: 80vh;"></view>
</template>
<script setup>
  onShow(() => {
   console.log(222)
   // #ifdef APP-PLUS
   console.log(111)
   plus.screen.lockOrientation('landscape-primary');
   // #endif
  })
  onHide(() => {
    console.log(123123)
    // #ifdef APP-PLUS
        plus.screen.lockOrientation('portrait-primary');
        // #endif
  })
</script>
<script module="leaflet" lang="renderjs">
  import L from 'leaflet'
  import {
    onBeforeUnmount,
    onMounted
  } from 'vue';
  export default {
    mounted() {
      var basemapLayer0 = L.tileLayer(
        'http://t1.tianditu.com/vec_c/wmts?layer=vec&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=e110584a27d506da2740edca951683f4', {
          maxZoom: 18,
          minZoom: 1,
          tileSize: 256,
          zoomOffset: 1
        });
      var basemapLayer1 = L.tileLayer(
        'http://t1.tianditu.com/cva_c/wmts?layer=cva&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=e110584a27d506da2740edca951683f4', {
          maxZoom: 18,
          minZoom: 1,
          tileSize: 256,
          zoomOffset: 1
        });
      var basemapLayer2 = L.tileLayer(
        'http://t1.tianditu.com/img_c/wmts?layer=img&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=e110584a27d506da2740edca951683f4', {
          maxZoom: 18,
          minZoom: 1,
          tileSize: 256,
          zoomOffset: 1
        });
      var basemapLayer3 = L.tileLayer(
        'http://t1.tianditu.com/cia_c/wmts?layer=cia&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=e110584a27d506da2740edca951683f4', {
          maxZoom: 18,
          minZoom: 1,
          tileSize: 256,
          zoomOffset: 1
        });
      var basemap0 = L.layerGroup([basemapLayer0, basemapLayer1]);
      var basemap1 = L.layerGroup([basemapLayer2, basemapLayer3]);
      let map = L.map('map', {
        preferCanvas: true,
        crs: L.CRS.EPSG4326,
        layers: [basemap1],
        zoomControl: false,
        attributionControl: false,
        doubleClickZoom: false,
        editable: true //绘制控件
      }).setView([25.992338, 114.823254], 13);
    }
  }
</script>
<style scoped>
  /* Leaflet 默认容器要有高度 */
  .map {
    width: 100%;
    height: 100%;
  }
</style>
src/pages/tab/map/index.vue
File was deleted
src/pages/user/index.vue
File was renamed from src/pages/tab/user/index.vue
@@ -1,3 +1,4 @@
<!-- 我的 -->
<template>
  <view class="page-wrap">
    <u-navbar title="" placeholder left-icon="" right-icon="camera-fill" />
src/pages/work/index.vue
File was renamed from src/pages/tab/home/index.vue
@@ -1,3 +1,4 @@
<!-- 事件工单 -->
<template>
  <view class="min-h-screen flex flex-col items-center">
    <image class="mb-50rpx mt-200rpx h-200rpx w-200rpx" src="@/static/images/logo.png" width="200rpx" height="200rpx" />
src/subPackages/404/index.vue
src/subPackages/taskDetail/addTask/index.vue
New file
@@ -0,0 +1,18 @@
<!--
 * @Author       : yuan
 * @Date         : 2025-09-29 13:50:59
 * @LastEditors  : yuan
 * @LastEditTime : 2025-09-29 13:59:49
 * @FilePath     : \src\subPackages\taskDetail\addTask\index.vue
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-09-29 13:50:59
-->
<!-- 新建任务 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/taskDetail/execution/index.vue
New file
@@ -0,0 +1,8 @@
<!-- 已执行 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/taskDetail/inExecution/index.vue
New file
@@ -0,0 +1,8 @@
<!-- 执行中-直播画面 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/taskDetail/index.vue
New file
@@ -0,0 +1,18 @@
<!--
 * @Author       : yuan
 * @Date         : 2025-09-29 10:58:31
 * @LastEditors  : yuan
 * @LastEditTime : 2025-09-29 11:38:21
 * @FilePath     : \src\subPackages\taskDetail\index.vue
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-09-29 10:58:31
-->
<!-- 任务详情-执行中 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/theme/index.vue
src/subPackages/userDetail/infos/index.vue
New file
@@ -0,0 +1,8 @@
<!-- 个人资料 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/userDetail/password/index.vue
New file
@@ -0,0 +1,8 @@
<!-- 修改密码 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/workDetail/addWork/index.vue
New file
@@ -0,0 +1,8 @@
<!-- 新建工单 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/workDetail/index.vue
New file
@@ -0,0 +1,18 @@
<!--
 * @Author       : yuan
 * @Date         : 2025-09-29 13:52:16
 * @LastEditors  : yuan
 * @LastEditTime : 2025-09-29 13:53:32
 * @FilePath     : \src\subPackages\workDetail\index.vue
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-09-29 13:52:16
-->
<!-- 工单详情 - 包含待审核、待处理、处理中、已完成 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/workDetail/mapWork/index.vue
New file
@@ -0,0 +1,8 @@
<!-- 地图展示 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
src/subPackages/workDetail/photoMagnify/index.vue
New file
@@ -0,0 +1,18 @@
<!--
 * @Author       : yuan
 * @Date         : 2025-09-29 13:56:16
 * @LastEditors  : yuan
 * @LastEditTime : 2025-09-29 13:56:25
 * @FilePath     : \src\subPackages\workDetail\photoMagnify\index.vue
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-09-29 13:56:16
-->
<!-- 照片放大 -->
<template>
  <view> 基础 </view>
</template>
<script setup></script>
<style lang="scss" scoped></style>