罗广辉
2026-04-24 040ec887cfa2794c0c3203d459b033bfd7a08e48
Merge branch 'feature/v9.0/9.0.4' into prod
15 files modified
23 files deleted
18978 ■■■■ changed files
package.json 1 ●●●● patch | view | raw | blame | history
pnpm-lock.yaml 15486 ●●●●● patch | view | raw | blame | history
src/config/env.js 8 ●●●● patch | view | raw | blame | history
src/hooks/useGlobalWS.js 27 ●●●● patch | view | raw | blame | history
src/manifest.json 14 ●●●●● patch | view | raw | blame | history
src/pages/inspectionTask/index.vue 1 ●●●● patch | view | raw | blame | history
src/pages/login/index.vue 8 ●●●● patch | view | raw | blame | history
src/pages/user/index.vue 13 ●●●●● patch | view | raw | blame | history
src/pages/work/index.vue 6 ●●●● patch | view | raw | blame | history
src/static/fonts/font.css 10 ●●●● patch | view | raw | blame | history
src/subPackages/404/index.vue 2 ●●● patch | view | raw | blame | history
src/subPackages/taskDetail/execution/index.vue 2 ●●● patch | view | raw | blame | history
src/subPackages/userDetail/infos/index.vue 2 ●●● patch | view | raw | blame | history
src/subPackages/userDetail/password/index.vue 2 ●●● patch | view | raw | blame | history
src/subPackages/workDetail/index.vue 1 ●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/GenerateTestUserSig.js 16 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/._lib patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/PaxHeader/lib patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/._TrtcCloudImpl.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/._TrtcCode.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/._TrtcDefines.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/._constants.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/._index.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/TrtcCloudImpl.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/TrtcCode.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/TrtcDefines.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/constants.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/index.js patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/TrtcCloudImpl.js 790 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/TrtcCode.js 612 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/TrtcDefines.js 522 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/constants.js 10 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/lib/index.js 1086 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/permission.js 279 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/view/TrtcLocalView.nvue 19 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/TrtcCloud/view/TrtcRemoteView.nvue 23 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/index.js 36 ●●●●● patch | view | raw | blame | history
src/utils/voiceCallByTX/lib-generate-test-usersig-es.min.js 2 ●●●●● patch | view | raw | blame | history
package.json
@@ -82,7 +82,6 @@
    "leaflet": "^1.9.4",
    "pinia": "2.2.4",
    "pinia-plugin-persistedstate": "4.1.3",
    "trtc-sdk-v5": "^5.14.1",
    "uview-plus": "^3.5.41",
    "vue": "3.4.21",
    "vue-i18n": "9.1.9",
pnpm-lock.yaml
Diff too large
src/config/env.js
@@ -17,9 +17,9 @@
  VITE_API_BASE_URL: 'https://wrj.shuixiongit.com/api',
  // VITE_API_BASE_URL: 'https://aisky.org.cn/api',
  VITE_APP_WS_API_URL:'wss://wrj.shuixiongit.com/drone-wss/api/v1/ws',
  // 静态资源存放地址'
  VITE_APP_ASSETS_URL: 'https://wrj.shuixiongit.com/drone-app/assets/static'
  VITE_APP_ASSETS_URL: 'https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets'
}
const test = {
@@ -28,7 +28,7 @@
  VITE_API_BASE_URL: 'https://wrj.shuixiongit.com/api',
  VITE_APP_WS_API_URL: 'wss://wrj.shuixiongit.com/drone-wss/api/v1/ws',
  // 静态资源存放地址'
  VITE_APP_ASSETS_URL: 'https://wrj.shuixiongit.com/drone-app/assets/static'
  VITE_APP_ASSETS_URL: 'https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets'
}
const production = {
@@ -37,7 +37,7 @@
  VITE_API_BASE_URL: 'https://aisky.org.cn/api',
  VITE_APP_WS_API_URL: 'wss://aisky.org.cn/drone-wss/api/v1/ws',
  // 静态资源存放地址'
  VITE_APP_ASSETS_URL: 'https://wrj.shuixiongit.com/drone-app/assets/static'
  VITE_APP_ASSETS_URL: 'https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets'
}
export default {
src/hooks/useGlobalWS.js
@@ -1,9 +1,9 @@
import {useUserStore} from "@/store/index.js";
import {getEnvObj} from "@/utils/index.js";
import {enterRoom} from "@/utils/voiceCallByTX/index.js";
import useAppStore from "../store/modules/app/index.js";
let socketTask = null
let heartbeatTimer = null
export function useGlobalWS() {
    const userStore = useUserStore();
@@ -30,9 +30,6 @@
                    url: '/pages/login/index'
                })
                break
            case 'VoiceCall':
                enterRoom(payload, userId.value)
                break
            default:
                break;
        }
@@ -40,6 +37,7 @@
    // 关闭ws
    function closeWS() {
    stopHeartbeat()
        socketTask?.close({
            success: () => {
                console.log('ws关闭连接');
@@ -80,7 +78,7 @@
    // 监听连接关闭
    socketTask.onClose((res) => {
      console.log(`WebSocket连接关闭,代码: ${res.code}, 原因: ${res.reason}`)
      startHeartbeat()
      // 根据不同的关闭代码处理
      if (res.code === 1000) { // 正常关闭
        console.log('连接正常关闭')
@@ -99,6 +97,25 @@
    })
    }
  function startHeartbeat() {
    stopHeartbeat()
    heartbeatTimer = setInterval(() => {
      if (socketTask && socketTask.readyState === 1) {
        // 尝试以 JSON 格式发送,并降低频率(30秒一次)以减少服务器负担
        socketTask.send({
          data: JSON.stringify({ type: 'ping', timestamp: Date.now() })
        });
      }
    }, 30000)
  }
  function stopHeartbeat() {
    if (heartbeatTimer) {
      clearInterval(heartbeatTimer)
      heartbeatTimer = null
    }
  }
    watch(access_token, initWS, {immediate: true})
}
src/manifest.json
@@ -69,20 +69,6 @@
            }
        },
        "nativePlugins" : {
            "TRTCCloudUniPlugin-TRTCCloudImpl" : {
                "__plugin_info__" : {
                    "name" : "【官方】腾讯云实时音视频SDK",
                    "description" : "uni-app TRTC SDK 是腾讯云实时音视频通讯解决方案在 uni-app 上的 SDK,提供实时音视频服务",
                    "platforms" : "Android,iOS",
                    "url" : "https://ext.dcloud.net.cn/plugin?id=7774",
                    "android_package_name" : "uni.app.UNI0981D7F",
                    "ios_bundle_id" : "",
                    "isCloud" : true,
                    "bought" : 1,
                    "pid" : "7774",
                    "parameters" : {}
                }
            }
        }
    },
    /* 快应用特有相关 */
src/pages/inspectionTask/index.vue
@@ -9,7 +9,6 @@
import { getWebViewUrl } from "@/utils/index.js";
import WebViewPlus from "@/components/WebViewPlus.vue";
import { onHide, onShow } from "@dcloudio/uni-app";
import { errorFactory } from "sass-loader/dist/utils.js";
import { useAppStore } from "@/store/index.js";
const appStore = useAppStore();
src/pages/login/index.vue
@@ -42,10 +42,10 @@
import { HOME_PATH, LOGIN_PATH, removeQueryString } from "@/router";
import { onMounted } from "vue";
const droneSvg = getAssetsImage("/images/login/droneSvg.svg");
const usernameSvg = getAssetsImage("/images/login/username.svg");
const passwordSvg = getAssetsImage("/images/login/password.svg");
const logoSvg = getAssetsImage("/images/login/logo.svg");
const droneSvg = getAssetsImage("/images/login/droneSvg.png");
const usernameSvg = getAssetsImage("/images/login/username.png");
const passwordSvg = getAssetsImage("/images/login/password.png");
const logoSvg = getAssetsImage("/images/login/logo.png");
const userStore = useUserStore();
const loginForm = ref({
src/pages/user/index.vue
@@ -10,7 +10,7 @@
          <view class="userName">{{ userStore?.userInfo?.nick_name }}</view>
          <view class="departs">
            <image
              src="https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/images/user/mobile.svg"
              src="https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/images/user/mobile.png"
              alt=""
            />
            <span>{{ user.deptName }}</span>
@@ -60,7 +60,7 @@
const { setClipboardData, getClipboardData } = useClipboard();
const rightImage = getAssetsImage("/images/user/rightBtn.svg");
const rightImage = getAssetsImage("/images/user/rightBtn.png");
const logoImage = getAssetsImage("/images/user/logo1.png");
const userStore = useUserStore();
@@ -115,6 +115,11 @@
.userBox {
  padding-top: 88rpx;
}
/* #ifdef MP-WEIXIN */
.userBox {
    padding-top: 180rpx;
}
/* #endif */
.userName {
  font-weight: 700;
  font-size: 36rpx;
@@ -214,13 +219,13 @@
  }
  .message {
    background: url(https://wrj.shuixiongit.com/drone-app/assets/static/images/user/info.png)
    background: url(https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/images/user/info.png)
      no-repeat center;
    background-size: 100% 100%;
  }
  .passwordBox {
    background: url(https://wrj.shuixiongit.com/drone-app/assets/static/images/user/password.png)
    background: url(https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/images/user/password.png)
      no-repeat center;
    background-size: 100% 100%;
  }
src/pages/work/index.vue
@@ -4,8 +4,8 @@
 * @LastEditors  : yuan
 * @LastEditTime : 2025-12-20 14:18:42
 * @FilePath     : \src\pages\work\index.vue
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-12-18 10:06:30
-->
<template>
@@ -56,7 +56,7 @@
    });
  } else if (data.type === "workid") {
    uni.navigateTo({
      url: `/subPackages/workDetail/index?eventNum=${data.eventNum}&totalNum=${data.totalNum}&keyword=${data.keyword}&aiType=${data.aiType}&status=${data.status}`,
      url: `/subPackages/workDetail/index?eventNum=${data.eventNum}&totalNum=${data.totalNum}&keyword=${data.keyword}&aiType=${data.aiType}&status=${data.status}&current=${data.current}`,
    });
  } else if (data.type === "bigImage") {
    uni.navigateTo({
src/static/fonts/font.css
@@ -1,6 +1,6 @@
@font-face {
  font-family: "Source Han Sans CN";
  src: url("https://wrj.shuixiongit.com/drone-app/assets/static/fonts/SourceHanSansCN-Regular.woff2")
  src: url("https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/fonts/SourceHanSansCN-Regular.woff2")
    format("opentype");
  font-weight: 400;
  font-style: normal;
@@ -9,7 +9,7 @@
@font-face {
  font-family: "Source Han Sans CN";
  src: url("https://wrj.shuixiongit.com/drone-app/assets/static/fonts/SourceHanSansCN-Bold.woff2")
  src: url("https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/fonts/SourceHanSansCN-Bold.woff2")
    format("opentype");
  font-weight: 700;
  font-style: normal;
@@ -18,7 +18,7 @@
@font-face {
  font-family: "Segoe UI";
  src: url("https://wrj.shuixiongit.com/drone-app/assets/static/fonts/SourceHanSansCN-Regular.woff2")
  src: url("https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/fonts/SourceHanSansCN-Regular.woff2")
    format("opentype");
  font-weight: 400;
  font-style: normal;
@@ -27,7 +27,7 @@
@font-face {
  font-family: "Segoe UI";
  src: url("https://wrj.shuixiongit.com/drone-app/assets/static/fonts/SourceHanSansCN-Bold.woff2")
  src: url("https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/fonts/SourceHanSansCN-Bold.woff2")
    format("opentype");
  font-weight: 700;
  font-style: normal;
@@ -37,7 +37,7 @@
/* 额外的标题字体 */
@font-face {
  font-family: "YouSheBiaoTiHei";
  src: url("https://wrj.shuixiongit.com/drone-app/assets/static/fonts/YouSheBiaoTiHei.TTF")
  src: url("https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/fonts/YouSheBiaoTiHei.TTF")
    format("truetype");
  font-weight: normal;
  font-style: normal;
src/subPackages/404/index.vue
@@ -26,7 +26,7 @@
import { getAssetsImage } from "@/utils/index.js";
import { HOME_PATH } from "@/router";
const errorImage = getAssetsImage("/404.png");
const errorImage = getAssetsImage("/images/404.png");
function handleBack() {
  uni.$u.route({
src/subPackages/taskDetail/execution/index.vue
@@ -32,7 +32,7 @@
    });
  } else if(data.type === 'workid') {
    uni.navigateTo({
      url: `/subPackages/workDetail/index?eventNum=${data.eventNum}&wLJobInfoId=${data.wLJobInfoId}`
      url: `/subPackages/workDetail/index?eventNum=${data.eventNum}&wLJobInfoId=${data.wLJobInfoId}&current=${data.current}`
    });
  }
}
src/subPackages/userDetail/infos/index.vue
@@ -300,7 +300,7 @@
        width: 276rpx;
        height: 76rpx;
    }
    :deep(.u-button.data-v-461e713c){
    :deep(.u-button){
        width: 276rpx !important;
        height: 76rpx !important;
    }
src/subPackages/userDetail/password/index.vue
@@ -233,7 +233,7 @@
        width: 276rpx;
        height: 76rpx;
    }
    :deep(.u-button.data-v-461e713c){
    :deep(.u-button){
        width: 276rpx !important;
        height: 76rpx !important;
    }
src/subPackages/workDetail/index.vue
@@ -26,6 +26,7 @@
    aiType: options.aiType,
    wLJobInfoId: options.wLJobInfoId,
    status: options.status,
    current: options.current,
  });
});
src/utils/voiceCallByTX/GenerateTestUserSig.js
File was deleted
src/utils/voiceCallByTX/TrtcCloud/._lib
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/PaxHeader/lib
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/._TrtcCloudImpl.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/._TrtcCode.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/._TrtcDefines.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/._constants.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/._index.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/TrtcCloudImpl.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/TrtcCode.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/TrtcDefines.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/constants.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/PaxHeader/index.js
Binary files differ
src/utils/voiceCallByTX/TrtcCloud/lib/TrtcCloudImpl.js
File was deleted
src/utils/voiceCallByTX/TrtcCloud/lib/TrtcCode.js
File was deleted
src/utils/voiceCallByTX/TrtcCloud/lib/TrtcDefines.js
File was deleted
src/utils/voiceCallByTX/TrtcCloud/lib/constants.js
File was deleted
src/utils/voiceCallByTX/TrtcCloud/lib/index.js
File was deleted
src/utils/voiceCallByTX/TrtcCloud/permission.js
File was deleted
src/utils/voiceCallByTX/TrtcCloud/view/TrtcLocalView.nvue
File was deleted
src/utils/voiceCallByTX/TrtcCloud/view/TrtcRemoteView.nvue
File was deleted
src/utils/voiceCallByTX/index.js
File was deleted
src/utils/voiceCallByTX/lib-generate-test-usersig-es.min.js
File was deleted