فهرست منبع

黑名单软件名称解析 @@@

刘洋 1 سال پیش
والد
کامیت
da2b077bad
2فایلهای تغییر یافته به همراه32 افزوده شده و 2 حذف شده
  1. 11 0
      src/features/UserLogin/useRemoteAppChecker.tsx
  2. 21 2
      src/utils/common.ts

+ 11 - 0
src/features/UserLogin/useRemoteAppChecker.tsx

@@ -88,6 +88,16 @@ export function useRemoteAppChecker() {
         .replace("wemeetapp", "腾讯会议")
         .replace("wechat", "微信");
 
+      try{
+        const { nameMap } = await getBlackAppConfig();
+        for(const key in nameMap){
+          const value:string = (nameMap )[key]
+          names.replace(key, value);
+        }
+      }catch(err){
+        console.log('获取nameMap失败:',err)
+      }
+
       names = [...new Set(names.split(",").map((v) => v.trim()))].join(",");
       $message.info(
         () => (
@@ -135,6 +145,7 @@ export function useRemoteAppChecker() {
       try {
         if (fileExists("Project2.exe")) {
           const { remoteApp: remoteAppName } = await getBlackAppConfig();
+          console.log('remoteAppName:',remoteAppName)
           exe = `Project2.exe "${remoteAppName}" `;
         }
 

+ 21 - 2
src/utils/common.ts

@@ -6,16 +6,19 @@ import { decryptB } from "@/utils/utils";
 interface ParsedBlackAppConfig {
   vCamList: string[];
   remoteApp: string[];
+  nameMap?: any;
 }
 
 interface RawBlackAppConfig {
   vCamList: string;
   remoteApp: string;
+  nameMap?: any;
 }
 
 interface MergedBlackAppConfig {
   vCamList: string[];
   remoteApp: string;
+  nameMap?: any;
 }
 
 interface GetBlackAppConfig {
@@ -43,6 +46,7 @@ export let getBlackAppConfig: GetBlackAppConfig = () => {
     .then(parseBlackAppConfig)
     .then(mergeBlackAppConfig)
     .then((result) => {
+      console.log("result:", result);
       if (getBlackAppConfig.fetch) {
         getBlackAppConfig = () => Promise.resolve(result);
       }
@@ -66,8 +70,21 @@ function parseBlackAppConfig(str: string): ParsedBlackAppConfig {
           if (ret) {
             try {
               const parsed: RawBlackAppConfig = JSON.parse(ret);
+              console.log("parsed::::", parsed);
+              const nameMap: any = {};
               result.vCamList = processEditText(parsed.vCamList);
-              result.remoteApp = processEditText(parsed.remoteApp);
+              result.remoteApp = processEditText(parsed.remoteApp).map(
+                (item: string) => {
+                  if (item.includes("@@@")) {
+                    const arr = item.split("@@@");
+                    nameMap[arr[0]] = arr[1];
+                    return arr[0];
+                  } else {
+                    return item;
+                  }
+                }
+              );
+              result.nameMap = nameMap;
             } catch (error) {
               console.warn("config json parse error!", error);
             }
@@ -105,6 +122,7 @@ function mergeBlackAppConfig(
   const result: MergedBlackAppConfig = {
     vCamList: [],
     remoteApp: "",
+    nameMap: {},
   };
   try {
     if (
@@ -112,11 +130,12 @@ function mergeBlackAppConfig(
       typeof remoteConfig === "object" &&
       remoteConfig.vCamList
     ) {
-      const { vCamList, remoteApp } = remoteConfig;
+      const { vCamList, remoteApp, nameMap } = remoteConfig;
       result.vCamList = [...new Set([...vCamList, ...VCAM_LIST])];
       result.remoteApp = [
         ...new Set(REMOTE_APP_NAME.split(";").concat(...remoteApp)),
       ].join(";");
+      result.nameMap = nameMap;
     }
   } catch (error) {
     console.warn("processBlackAppConfig error", error);