Merge remote-tracking branch 'origin/master'
7 files modified
2 files deleted
2 files added
| | |
| | | "stylelint": "stylelint \"src/**/*.{vue,scss,css,sass,less}\"", |
| | | "stylelint:fix": "stylelint \"src/**/*.{vue,scss,css,sass,less}\" --fix", |
| | | "cz": "git add . && npx czg", |
| | | "postinstall": "simple-git-hooks", |
| | | "clean": "npx rimraf node_modules", |
| | | "clean:cache": "npx rimraf node_modules/.cache" |
| | | }, |
| | |
| | | "rollup-plugin-visualizer": "^6.0.3", |
| | | "sass": "1.79.6", |
| | | "sass-loader": "^16.0.4", |
| | | "simple-git-hooks": "^2.13.1", |
| | | "stylelint": "^16.23.0", |
| | | "stylelint-config-recess-order": "^6.1.0", |
| | | "stylelint-config-standard": "^39.0.0", |
| | |
| | | "overrides": { |
| | | "vue": "3.4.21" |
| | | } |
| | | }, |
| | | "simple-git-hooks": { |
| | | "pre-commit": "npx lint-staged", |
| | | "commit-msg": "node ./scripts/verify-commit.js" |
| | | }, |
| | | "lint-staged": { |
| | | "src/**/*.{js,jsx}": "eslint --fix", |
| | |
| | | const emit = defineEmits(['webMessage']) |
| | | |
| | | function viewMessage(event) { |
| | | messageFun({data: {data: {arg: event.detail.data[0]}}}) |
| | | messageFun({ |
| | | data: {data: {arg: event.detail.data[0]}}, |
| | | type: 'WEB_INVOKE_APPSERVICE' |
| | | }) |
| | | } |
| | | |
| | | // WEB_INVOKE_APPSERVICE |
| | | function messageFun(e) { |
| | | emit('webMessage', e.data.data.arg) |
| | | if(e.data.type === 'WEB_INVOKE_APPSERVICE'){ |
| | | emit('webMessage', e.data.data.arg) |
| | | } |
| | | } |
| | | |
| | | onShow(() => { |
| | |
| | | "^(?!z-paging-refresh|z-paging-load-more)z-paging(.*)": "z-paging/components/z-paging$1/z-paging$1.vue" |
| | | } |
| | | }, |
| | | "pages": [{ |
| | | "pages": [ |
| | | { |
| | | "path": "pages/map/index", |
| | | "style": { |
| | | "navigationBarTitleText": "地图" |
| | |
| | | "style": { |
| | | "navigationBarTitleText": "巡检任务" |
| | | } |
| | | }, { |
| | | }, |
| | | { |
| | | "path": "pages/work/index", |
| | | "style": { |
| | | "navigationBarTitleText": "事件工单" |
| | |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/droneConsole/index", |
| | | "path": "pages/inspectionTask/TaskDetails/TaskDetails", |
| | | "style": { |
| | | "navigationBarTitleText": "执行中", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/inspectionTask/TaskDetails/DroneConsole/DroneConsole", |
| | | "style": { |
| | | "navigationBarTitleText": "控制台", |
| | | "navigationStyle": "custom" |
| | |
| | | } |
| | | } |
| | | ], |
| | | "subPackages": [{ |
| | | "root": "subPackages", |
| | | "pages": [ |
| | | { |
| | | "path": "404/index", |
| | | "style": { |
| | | "navigationBarTitleText": "404", |
| | | "navigationStyle": "custom" |
| | | "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": "修改密码" |
| | | } |
| | | }, |
| | | { |
| | | "path": "browser/index", |
| | | "style": { |
| | | "navigationBarTitleText": "地图" |
| | | } |
| | | }, |
| | | { |
| | | "path": "qrCode/index", |
| | | "style": { |
| | | "navigationBarTitleText": "扫码", |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | "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": "修改密码" |
| | | } |
| | | }, |
| | | |
| | | { |
| | | "path": "browser/index", |
| | | "style": { |
| | | "navigationBarTitleText": "地图" |
| | | } |
| | | } |
| | | ] |
| | | }], |
| | | |
| | | ] |
| | | } |
| | | ], |
| | | "tabBar": { |
| | | "color": "#1b233b", |
| | | "selectedColor": "#21d59d", |
| | | "borderStyle": "black", |
| | | "backgroundColor": "#ffffff", |
| | | "list": [{ |
| | | "list": [ |
| | | { |
| | | "iconPath": "static/images/tabbar/icon_home.png", |
| | | "selectedIconPath": "static/images/tabbar/icon_home_selected.png", |
| | | "pagePath": "pages/map/index", |
| | |
| | | "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", |
| | |
| | | "navigationBarBackgroundColor": "#F8F8F8", |
| | | "backgroundColor": "#F8F8F8" |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | <template> |
| | | <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage"/> |
| | | </template> |
| | | <script setup> |
| | | import {onHide, onShow} from "@dcloudio/uni-app"; |
| | | import WebViewPlus from "@/components/WebViewPlus.vue"; |
| | | import {getWebViewUrl} from "@/utils/index.js"; |
| | | |
| | | const viewUrl = getWebViewUrl('/droneConsole', {wayLineJodInfoId: 6120}) |
| | | |
| | | function onPostMessage(event) { |
| | | |
| | | } |
| | | |
| | | |
| | | onShow(() => { |
| | | // #ifdef APP-PLUS |
| | | plus.screen.lockOrientation("landscape-primary"); |
| | | // #endif |
| | | }); |
| | | |
| | | onHide(() => { |
| | | // #ifdef APP-PLUS |
| | | plus.screen.lockOrientation("portrait-primary"); |
| | | // #endif |
| | | }); |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
| | |
| | | <template> |
| | | <view class="page-wrap"> |
| | | <web-view |
| | | ref="sWebViewRef" |
| | | :src='`${viewUrl}?token=${token}&wayLineJodInfoId=${active.id}`' |
| | | @message="onPostMessage" |
| | | @onPostMessage="onPostMessage" |
| | | /> |
| | | </view> |
| | | <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage"/> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import {onLoad} from "@dcloudio/uni-app"; |
| | | import {useUserStore} from "@/store/index.js"; |
| | | import WebViewPlus from "@/components/WebViewPlus.vue"; |
| | | import {getWebViewUrl} from "@/utils/index.js"; |
| | | |
| | | const active = defineModel('active') |
| | | const sWebViewRef = ref(null) |
| | | const viewUrl = 'http://192.168.1.15:5173/drone-app-web-view/#/appTaskDetails' |
| | | const userStore = useUserStore() |
| | | const token = computed(() => userStore?.userInfo?.access_token) |
| | | |
| | | function onPostMessage(event) { |
| | | if (event.detail.data[0].type === 'back') { |
| | | active.value = null |
| | | const viewUrl = getWebViewUrl('/appTaskDetails', {wayLineJodInfoId: 6120}) |
| | | |
| | | |
| | | function onPostMessage(data) { |
| | | if (data.type === 'back'){ |
| | | uni.switchTab({ |
| | | url: '/pages/inspectionTask/index' |
| | | }); |
| | | }else if(data.type === 'control'){ |
| | | uni.redirectTo({ |
| | | url: '/pages/inspectionTask/TaskDetails/DroneConsole/DroneConsole' |
| | | }); |
| | | } |
| | | } |
| | | |
| | | onLoad(() => { |
| | | window.addEventListener('message', function (e) { |
| | | if (e.data.data.type === 'back') { |
| | | active.value = null |
| | | } |
| | | }); |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | |
| | | |
| | | const sWebViewRef = ref(null); |
| | | const userStore = useUserStore(); |
| | | const viewUrl = `http://192.168.1.178:5173/drone-app-web-view/#/webViewWrapper/inspectionTask?params=${JSON.stringify(userStore?.userInfo)}`; |
| | | const viewUrl = `http://192.168.1.15:5174/drone-app-web-view/#/webViewWrapper/inspectionTask?params=${JSON.stringify(userStore?.userInfo)}`; |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | |
| | |
| | | <template> |
| | | <view class="page-wrap"> |
| | | <web-view ref="sWebViewRef" :src="`${viewUrl}`" /> |
| | | <web-view |
| | | ref="sWebViewRef" |
| | | :src="`${viewUrl}`" |
| | | @message="onPostMessage" |
| | | @onPostMessage="onPostMessage" |
| | | /> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | |
| | | const sWebViewRef = ref(null); |
| | | const userStore = useUserStore(); |
| | | const viewUrl = `http://192.168.1.194:5174/drone-app-web-view/#/webViewWrapper/defaultMap?params=${JSON.stringify(userStore?.userInfo)}`; |
| | | const viewUrl = `https://192.168.1.194:5174/drone-app-web-view/#/webViewWrapper/defaultMap?params=${JSON.stringify( |
| | | userStore?.userInfo |
| | | )}`; |
| | | |
| | | const onPostMessage = (event) => { |
| | | // #ifdef APP-PLUS |
| | | if (event.detail.data[0].type === "scanCode") { |
| | | scanCode(); |
| | | } |
| | | // #endif |
| | | }; |
| | | |
| | | const scanCode = () => { |
| | | // 只允许通过相机扫码 |
| | | uni.scanCode({ |
| | | onlyFromCamera: true, |
| | | success: function (res) { |
| | | console.log("条码类型:" + res.scanType); |
| | | console.log("条码内容:" + res.result); |
| | | |
| | | // 获取扫码结果 |
| | | let url = res.result; |
| | | |
| | | // 跳转到B页面,并传递URL参数 |
| | | uni.navigateTo({ |
| | | url: "/subPackages/browser/index?url=" + encodeURIComponent(url), |
| | | }); |
| | | }, |
| | | fail: function (err) { |
| | | console.log("扫码失败:", err); |
| | | uni.showToast({ |
| | | title: "扫码失败", |
| | | icon: "none", |
| | | }); |
| | | }, |
| | | }); |
| | | }; |
| | | |
| | | onLoad(() => { |
| | | // #ifdef H5 |
| | | window.addEventListener("message", function (e) { |
| | | if (e.data.data.type === "scanCode") { |
| | | scanCode(); |
| | | } |
| | | }); |
| | | // #endif |
| | | }); |
| | | </script> |
| | | |
| New file |
| | |
| | | <template> |
| | | <web-view ref="sWebViewRef" :src="`${viewUrl}`" /> |
| | | </template> |
| | | |
| | | <script setup> |
| | | const viewUrl = `https://192.168.1.194:5174/drone-app-web-view/#/webViewWrapper/QrCodeScanner`; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
| | |
| | | // 小程序更新检测 |
| | | import {useUserStore} from "@/store/index.js"; |
| | | |
| | | export function mpUpdate () { |
| | | const updateManager = uni.getUpdateManager() |
| | | updateManager.onCheckForUpdate(res => { |
| | |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | export function getWebViewUrl(targetUrl,otherParams){ |
| | | const userStore = useUserStore() |
| | | const url = import.meta.env.VITE_APP_WEBVIEW_URL |
| | | // 构建查询参数 |
| | | const params = new URLSearchParams() |
| | | params.append('params', JSON.stringify(userStore?.userInfo)) |
| | | // 处理 otherParams 对象 |
| | | if (otherParams && typeof otherParams === 'object') { |
| | | Object.keys(otherParams).forEach(key => { |
| | | params.append(key, otherParams[key]) |
| | | }) |
| | | } |
| | | return `${url}${targetUrl}?${params.toString()}` |
| | | } |