tangning 4 months ago
parent
commit
a1e10a4f04

+ 2 - 2
src/App.vue

@@ -8,7 +8,7 @@
 </template>
 
 <script setup lang="ts">
-import { setUrlData } from "@/store/user";
+// import { setUrlData } from "@/store/user";
 import Locale from "@/config/locale.vue";
-setUrlData()
+// setUrlData()
 </script>

+ 0 - 1
src/app/criminal/routeConfig.ts

@@ -8,7 +8,6 @@ export const CriminalRouteName = {
 
 export const menuRouteNames = [
   // CriminalRouteName.statistics,
-  CriminalRouteName.vrmodel,
   CriminalRouteName.abstract,
   CriminalRouteName.originalPhoto,
   CriminalRouteName.material,

+ 0 - 1
src/app/fire/routeConfig.ts

@@ -8,7 +8,6 @@ export const FireRouteName = {
 } as const;
 
 export const menuRouteNames = [
-  FireRouteName.vrmodel,
   FireRouteName.camera,
   FireRouteName.dispatch,
   FireRouteName.teaching,

+ 2 - 8
src/request/config.ts

@@ -1,4 +1,3 @@
-import { getUrlData } from "@/store/user";
 import {
   exampleList,
   ffmpegMergeImage,
@@ -69,11 +68,6 @@ export const PostUrls = [
 export const unAuthCode = [3004, 4008];
 export const successCode = [0, "000000", 200];
 // baseURL
-export const baseURL =  import.meta.env.DEV ? "/api" : getHost();
+export const baseURL =  import.meta.env.DEV ? "/api" : "https://testeur.4dkankan.com";
 
-export const notOpenUrls: string[] = [uploadModel, getDownloadProcess];
-
-function getHost () {
-  let urlData = getUrlData()
-  return urlData.appServer || "http://192.168.0.62:8808"
-}
+export const notOpenUrls: string[] = [uploadModel, getDownloadProcess];

+ 3 - 3
src/request/index.ts

@@ -48,7 +48,6 @@ axios.interceptors.request.use(async (config) => {
 
   const { token, userId } = getAuth();
   let caseId = router.currentRoute.value?.params?.caseId
-  console.log("token",localStorage.getItem('token'), token, "userId", userId, config.url);
   // if (!token && !~notLoginUrls.indexOf(config.url)) {
   //   let redirect = encodeURIComponent(`${window.location.href}`);
   //   window.location.href = window.location.origin + "/admin/#/login?redirect=" + redirect;
@@ -58,6 +57,7 @@ axios.interceptors.request.use(async (config) => {
   config.headers['caseid'] = caseId;
   config.headers['page-type'] = 'edit';
   config.headers.userid = userId;
+  console.log("token",config.headers);
 
   if (~GetUrls.indexOf(config.url)) {
     config.method = "GET";
@@ -122,9 +122,9 @@ const responseInterceptor = (res: AxiosResponse<any, any>) => {
       errMsg === "token已经失效,请重新登录"
     ) {
       let redirect = encodeURIComponent(`${window.location.href}`);
-      window.location.href = window.location.origin + "/admin/#/login?redirect=" + redirect;
+      // window.location.href = window.location.origin + "/admin/#/login?redirect=" + redirect;
       // router.replace({ name: RouteName.login });
-      getAuth().clear();
+      // getAuth().clear();
     }
     throw res.data.msg;
   }

+ 52 - 37
src/store/case.ts

@@ -49,7 +49,6 @@ import { router } from "@/router";
 import { ModelScene, QuoteScene, Scene, SceneType } from "./scene";
 import { CaseFile } from "./caseFile";
 import { ref } from "vue";
-import { getUrlData } from "@/store/user";
 
 export type Case = {
   caseId: number;
@@ -337,43 +336,59 @@ export const getSceneListTree = (list = sceneList.value) => {
   return [{ numList: myData[0], type: 0 }, { numList: myData[1], type: 1 }]
 }
 
-export const getUrlSrc = (item, caseId) => {
-  // 初始化参数对象
-  let param = {
-    root: '',
-    ossRoot: '',
-    serviceUrl: '',
-    laserRoot: '',
-    swssUrl: '',
-    swkkUrl: '',
-    swssmxUrl: '',
-    fuse: '',
-  }
-  let params = getUrlData();
-  let langKey = params.lang || "zh";
-  const ip = params.ip ? params.ip + ":" : "";
-  param.root = `${ip}${params.laserServicePort || ''}`;
-  param.ossRoot = `${ip}${params.laserServicePort}${params.static}`;
-  param.serviceUrl = `${ip}${params.servicePort}/fusion`;
-  param.laserRoot = param.root;
-  console.log('param', param, ip);
-  param.swssUrl = `${params.swssUrl}?lang=${langKey}&serve_link=${param.laserRoot}&basePath=${param.laserRoot}&m=${item.num}`;
-  param.swssmxUrl = `${params.swssUrl}?lang=${langKey}&serve_link=${param.laserRoot}&basePath=${param.laserRoot}&m=${item.num}`;
-  param.swkkUrl = `${params.swkkUrl}?lang=${langKey}&app_server=${params.ip}:${params.swkkPort}&m=${item.num}&app_resource=${param.root}/${item.mapping}`;
-  param.fuse = `${params.fuse}?caseId=${caseId}&ip=${params.ip}&swkkPort=${params.swkkPort}&swssUrl=${params.swssUrl }&swkkUrl=${params.swkkUrl && params.swkkUrl.replace('epg','spg')}&laserServicePort=${params.laserServicePort}&servicePort=${params.servicePort}&lang=${langKey}&app_server=${ip}${params.swkkPort}&testMap=1&static=${params.static||''}&`;
+// export const getUrlSrc = (item, caseId) => {
+//   // 初始化参数对象
+//   let param = {
+//     root: '',
+//     ossRoot: '',
+//     serviceUrl: '',
+//     laserRoot: '',
+//     swssUrl: '',
+//     swkkUrl: '',
+//     swssmxUrl: '',
+//     fuse: '',
+//   }
+//   let params = getUrlData();
+//   let langKey = params.lang || "zh";
+//   const ip = params.ip ? params.ip + ":" : "";
+//   param.root = `${ip}${params.laserServicePort || ''}`;
+//   param.ossRoot = `${ip}${params.laserServicePort}${params.static}`;
+//   param.serviceUrl = `${ip}${params.servicePort}/fusion`;
+//   param.laserRoot = param.root;
+//   console.log('param', param, ip);
+//   param.swssUrl = `${params.swssUrl}?lang=${langKey}&serve_link=${param.laserRoot}&basePath=${param.laserRoot}&m=${item.num}`;
+//   param.swssmxUrl = `${params.swssUrl}?lang=${langKey}&serve_link=${param.laserRoot}&basePath=${param.laserRoot}&m=${item.num}`;
+//   param.swkkUrl = `${params.swkkUrl}?lang=${langKey}&app_server=${params.ip}:${params.swkkPort}&m=${item.num}&app_resource=${param.root}/${item.mapping}`;
+//   param.fuse = `${params.fuse}?caseId=${caseId}&ip=${params.ip}&swkkPort=${params.swkkPort}&swssUrl=${params.swssUrl }&swkkUrl=${params.swkkUrl && params.swkkUrl.replace('epg','spg')}&laserServicePort=${params.laserServicePort}&servicePort=${params.servicePort}&lang=${langKey}&app_server=${ip}${params.swkkPort}&testMap=1&static=${params.static||''}&`;
+//   let SceneType = {
+//     0: param.swkkUrl,//`/spg.html?m=${item.num}`,
+//     1: param.swkkUrl,//`/spg.html?m=${item.num}`,
+//     2: param.swssmxUrl,//`/mega/index.html?m=${item.num}`,
+//     3: param.swkkUrl,//`/swss/index.html?m=${item.num}`,
+//     4: param.swkkUrl,//`/spg.html?m=${item.num}`,
+//     5: param.swssmxUrl,//`/mega/index.html?m=${item.num}`,
+//     6: param.swkkUrl,//`/spg.html?m=${item.num}`,
+//     7: param.swkkUrl,//`/spg.html?m=${item.num}`,
+//     99: param.fuse + '#/show/summary',//多元融合查看页面`/code/index.html?caseId=${caseId}&single#/show`,
+//     100: param.fuse + '#/fuseEdit/merge',//多元融合编辑页面`/code/index.html?caseId=${caseId}&single#/show`,
+//     101: param.fuse + `title=${item.fileName}&single&type=${item.fileFormat}&fileUrl=${item.fileUrl}` + '#/sign-model',//多元融合模型查看页面`/code/index.html?caseId=${caseId}&single#/show`,
+//     102: param.root,//资源访问链接,
+//   };
+//   return SceneType[item.type];
+// }
+export const getUrlSrc = (item, caseId, locale) => {
   let SceneType = {
-    0: param.swkkUrl,//`/spg.html?m=${item.num}`,
-    1: param.swkkUrl,//`/spg.html?m=${item.num}`,
-    2: param.swssmxUrl,//`/mega/index.html?m=${item.num}`,
-    3: param.swkkUrl,//`/swss/index.html?m=${item.num}`,
-    4: param.swkkUrl,//`/spg.html?m=${item.num}`,
-    5: param.swssmxUrl,//`/mega/index.html?m=${item.num}`,
-    6: param.swkkUrl,//`/spg.html?m=${item.num}`,
-    7: param.swkkUrl,//`/spg.html?m=${item.num}`,
-    99: param.fuse + '#/show/summary',//多元融合查看页面`/code/index.html?caseId=${caseId}&single#/show`,
-    100: param.fuse + '#/fuseEdit/merge',//多元融合编辑页面`/code/index.html?caseId=${caseId}&single#/show`,
-    101: param.fuse + `title=${item.fileName}&single&type=${item.fileFormat}&fileUrl=${item.fileUrl}` + '#/sign-model',//多元融合模型查看页面`/code/index.html?caseId=${caseId}&single#/show`,
-    102: param.root,//资源访问链接,
+    0: `/spg.html?m=${item.num}`,
+    1: `/spg.html?m=${item.num}`,
+    2: `/mega/index.html?m=${item.num}`,
+    3: `/swss/index.html?m=${item.num}`,
+    4: `/spg.html?m=${item.num}`,
+    // 5: `/spg.html?m=${item.num}`,
+    // 5: `index.html?caseId=${caseId}&modelId=${item.num}#sign-model`,
+    5: `/mega/index.html?m=${item.num}`,
+    6: `/spg.html?m=${item.num}`,
+    7: `/spg.html?m=${item.num}`,
+    99: `/code/index.html?caseId=${caseId}&lang=${locale}&single#/show`,
   };
   return SceneType[item.type];
 }

+ 14 - 89
src/store/user.ts

@@ -1,6 +1,5 @@
 import { getLocal, changSaveLocal } from "@/util/localUtil";
 import { ref, watchEffect } from "vue";
-import { changeLang } from "@/i18n";
 import {
   PaggingReq,
   PaggingRes,
@@ -11,6 +10,7 @@ import {
   getUserList,
   getUserListSelect,
   sendUserMsg,
+  setAuthHook,
   updatePsw,
   userAdd,
   userEdit,
@@ -38,22 +38,6 @@ export type UserInfo = {
   password: string;
   userName: string;
 };
-export type urlData = {
-  ga?: string;
-  lang: string;
-  appServer?: string;
-  photography: string;
-  modeling: string;
-  ip?: string;
-  laserServicePort?: string;
-  servicePort?: string;
-  swssUrl?: string;
-  fuse?: string;
-  swkkUrl?: string;
-  swkkPort?: string;
-  static?: string;
-  testMap?: string;
-};
 
 type Params = Pick<UserInfo, "nickName" | "status" | "userName"> & {
   deptId: string;
@@ -64,40 +48,10 @@ export const getUserPagging = async (params: PaggingReq<Params>) =>
 export const getUsers = async (deptId?: string) =>
   (await axios.get<UserInfo[]>(getUserListSelect, { params: { deptId } })).data;
 // 当前用户的信息
-
 export const user = ref({
-  token: localStorage.getItem("token") || "",
+  token: getLocal("token", false) || "",
   info: getLocal("info", {} as UserInfo),
 });
-const getAllParams = () => {
-  let href = window.location.href;
-  let query = href.substring(href.indexOf("?") + 1);
-  let vars = query.split("&");
-  let obj = {};
-  for (let i = 0; i < vars.length; i++) {
-    let pair = vars[i].split("=");
-    // 将参数名和参数值分别作为对象的属性名和属性值
-    obj[pair[0]] = pair[1];
-  }
-  return obj;
-};
-let querys = getAllParams() || {};
-export const urlData = ref<urlData>({
-  ga: querys.ga || false,
-  lang: querys.lang || "zh",
-  photography: '0',
-  modeling: '0',
-  appServer: localStorage.getItem('appServer') || querys.appServer || localStorage.getItem('appServer')||'http://localhost/:8808',
-  ip: localStorage.getItem('ip') || querys.ip || "http://localhost",
-  laserServicePort: localStorage.getItem('laserServicePort') || querys.laserServicePort || '9008',
-  servicePort: localStorage.getItem('servicePort') || querys.laserServiceservicePortPort ||'9250',
-  swssUrl: localStorage.getItem('swssUrl') || '',
-  fuse: localStorage.getItem('fuse') || decodeURIComponent('file%3A%2F%2F%2FD%3A%2F4DMega%2Fbin%2Fresources%2Fstatic%2Flib%2Ffuse%2Findex.html'),
-  swkkUrl: localStorage.getItem('swkkUrl') || '',
-  swkkPort: localStorage.getItem('swkkPort') || querys.swkkPort || '9008',
-  // static: '',
-  testMap: '',
-});
 
 export const logout = async () => {
   await axios.post(userLogout);
@@ -105,35 +59,6 @@ export const logout = async () => {
   user.value.info = {} as any;
 };
 
-export const getUrlData = () => {
-  return urlData.value
-};
-
-export const setUrlData = async (backFun) => {
-  let objData = getAllParams() || {};
-  objData.appServer && localStorage.setItem('appServer', objData.appServer);
-  objData.swkkPort && localStorage.setItem('swkkPort', objData.swkkPort);
-  objData.fuse && localStorage.setItem('fuse', objData.fuse);
-  objData.laserServicePort && localStorage.setItem('laserServicePort', objData.laserServicePort);
-  objData.servicePort && localStorage.setItem('servicePort', objData.servicePort);
-  objData.swkkUrl && localStorage.setItem('swkkUrl', objData.swkkUrl);
-  objData.swssUrl && localStorage.setItem('swssUrl', objData.swssUrl);
-  if(objData.lang){
-    localStorage.setItem('lang', objData.swssUrl)
-    changeLang(objData.lang, false)
-  }
-  if(objData.appServer && objData.appServer != urlData.value.appServer){
-    !import.meta.env.DEV && window.location.reload();
-  }
-  for (const key in objData) {
-      if (objData.hasOwnProperty(key)) {
-        urlData.value[key] = objData[key]
-      }
-  }
-  console.log(objData, urlData.value, 'getAllParams');
-  return urlData
-};
-
 type UpdataPassowrdParams = {
   userName: string;
   code: string;
@@ -214,15 +139,15 @@ changSaveLocal(`token`, () => user.value.token);
 changSaveLocal("info", () => user.value.info);
 
 // 设置全局请求hook
-// setAuthHook(() => {
-//   return {
-//     token: user.value.token,
-//     userId: user.value.info.id,
-//     clear: () => {
-//       user.value = {
-//         token: "",
-//         info: {} as UserInfo,
-//       };
-//     },
-//   };
-// });
+setAuthHook(() => {
+  return {
+    token: user.value.token,
+    userId: user.value.info.id,
+    clear: () => {
+      user.value = {
+        token: "",
+        info: {} as UserInfo,
+      };
+    },
+  };
+});

+ 9 - 2
src/util/localUtil.ts

@@ -8,13 +8,20 @@ export const getLocal = <T>(key: string, def: T): T => {
       result = JSON.parse(str);
     }
   } catch {
-    result = def;
+    result = localStorage.getItem(key)||def;
   }
   return result;
 };
 
 export const changSaveLocal = <T>(key: string, get: () => T) => {
-  watch(get, () => localStorage.setItem(key, JSON.stringify(get())), {
+  watch(get, () => {
+    if(key == 'token'){
+      localStorage.setItem(key, get())
+      return
+    }
+    localStorage.setItem(key, JSON.stringify(get()))
+  },
+  {
     deep: true,
   });
 };

+ 4 - 6
src/view/aiList/index.vue

@@ -24,7 +24,6 @@ import { useUpload } from "@/hook/upload";
 import { RouteName, router } from "@/router";
 import { getSceneListHasAi } from "@/store/case";
 import { Delete, Edit } from "@element-plus/icons-vue";
-import { getUrlData } from "@/store/user";
 import { windowOpen } from "@/util";
 const srcList = [
   "https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg",
@@ -42,12 +41,11 @@ const { size, fileList, upload, removeFile, previewFile, file, accept } =
     formats: [".doc", ".docx", , ".pdf"],
   });
 const handleItem = (item) => {
-  let url = getUrlData();
   active.value = item;
-  windowOpen({
-    url: `${url.swkkUrl}?m=${item.num}&ai=floorplan`,
-    title: item.title,
-  })
+  // windowOpen({
+  //   url: `${url.swkkUrl}?m=${item.num}&ai=floorplan`,
+  //   title: item.title,
+  // })
 };
 const getList = async () => {
   getSceneListHasAi(caseId.value).then((res) => {

+ 2 - 2
src/view/layout/index.vue

@@ -44,7 +44,7 @@ import lySlide from "./slide/index.vue";
 import { routeIsSystem, router } from "@/router";
 import { computed, ref, onMounted, watch } from "vue";
 import { menuRouteNames } from "@/app";
-import { setUrlData } from "@/store/user";
+// import { setUrlData } from "@/store/user";
 import { useRouter, useRoute } from "vue-router";
 import { updateByTreeFileLists, getCaseSceneListData, getUrlSrc, getcaseLists, getCaseSceneList  } from "@/store/case";
 import { json } from "stream/consumers";
@@ -69,7 +69,7 @@ const getAllParams = () => {
   return obj;
 };
 let querys = getAllParams() || {};
-setUrlData(querys)
+// setUrlData(querys)
 if(querys.ga == 'true'){
     router.replace('/home/'+caseId.value as number)
   }

+ 11 - 7
src/view/layout/top/index.vue

@@ -7,7 +7,7 @@
       </div>
     </div>
     <div class="oper-btns">
-      <el-input
+      <!-- <el-input
         v-model="bindExample.caseAddress"
         :placeholder="$t('sceneHome.nameSearch')"
         clearable
@@ -17,10 +17,10 @@
         <template #append>
           <el-button :icon="Search" @click="searchAMapAddress" />
         </template>
-      </el-input>
-      <el-button style="padding: 5px 10px;margin-left: 12px;" type="primary" @click="handlemtk"
+      </el-input> -->
+      <!-- <el-button style="padding: 5px 10px;margin-left: 12px;" type="primary" @click="handlemtk"
         >{{$t('sceneHome.library')}}</el-button
-      >
+      > -->
       <el-button style="padding: 5px 10px" type="primary" @click="handleSee"
         >{{$t('sceneHome.caseView')}}</el-button
       >
@@ -63,6 +63,7 @@ import { Search } from "@element-plus/icons-vue";
 import { selectMapImage } from "@/view/case/quisk";
 import { setExample } from "@/app/criminal/store/example";
 
+const locale = ui18n.locale
 const bindExample = ref({
   caseTitle: "",
   caseNum: "",
@@ -115,9 +116,12 @@ const searchAMapAddress = async () => {
   await setExample({...bindExample.value, caseId :caseId.value })
 };
 const handleSee = () => {
-  let url = getUrlSrc({ type: 99 }, caseId.value);
-  console.log("handleSee", url, title.value);
-  windowOpen({ url, title: title.value});
+  // let url = getUrlSrc({ type: 99 }, caseId.value);
+  // console.log("handleSee", url, title.value);
+  // windowOpen({ url, title: title.value});
+  let url = getUrlSrc({ type: 99 }, caseId.value, locale.value)
+  console.log("handleAdddyrh", url);
+  window.open(url);
 };
 const logout = async () => {
   if (await confirm("确定要退出登录吗?")) {

+ 0 - 2
src/view/mediaLibrary/TableComponent.vue

@@ -344,7 +344,6 @@ import osgb from "@/assets/images/osgb.jpg";
 import { ElMessage, ElMessageBox, genFileId } from "element-plus";
 import { ui18n } from "@/i18n";
 import { windowOpen } from "@/util";
-import { getUrlData } from "@/store/user";
 import groupingSvg from "@/assets/images/grouping.svg";
 import { ElLoading } from "element-plus";
 
@@ -421,7 +420,6 @@ const hanleFzDle = (item) => {
 
   console.log("upload", file);
 };
-const { photography, modeling } = getUrlData();
 const previewFile = (file) => {
   console.log("previewFile", file);
 };

+ 12 - 10
src/view/vrmodel/index.vue

@@ -91,14 +91,14 @@ const getAllParams = () => {
   }
   return obj;
 };
-let querys = getAllParams()
-console.log("getAllParams", route.name, querys.ga);
-if(querys.ga === 'true' && route.name != 'scene'){
-  router.replace('/home/'+caseId.value as number)
-}
-if(querys.ga === 'false' && route.name != 'homes'){
-  router.replace('/homes/'+caseId.value as number)
-}
+// let querys = getAllParams()
+// console.log("getAllParams", route.name, querys.ga);
+// if(querys.ga === 'true' && route.name != 'scene'){
+//   router.replace('/home/'+caseId.value as number)
+// }
+// if(querys.ga === 'false' && route.name != 'homes'){
+//   router.replace('/homes/'+caseId.value as number)
+// }
 // setUrlData
 async function geiList() {
   list.value = await getCaseSceneList(caseId.value);
@@ -113,8 +113,10 @@ function handlegotoEdit(record) {
       // windowOpen({url: url.replace("spg", "epg"),title:record.name || ui18n.t('common.edit'), icon: 'scene' });
 }
 function handleAdddyrh(record) {
-  let url = getUrlSrc({ type: 100 }, caseId.value)
-  windowOpen({url, title: title.value || ui18n.t('sceneHome.dyrh')});
+  let url = getUrlSrc({ type: 99 }, caseId.value, locale.value)
+  console.log("handleAdddyrh", url);
+  window.open(url);
+  // windowOpen({url, title: title.value || ui18n.t('sceneHome.dyrh')});
 }
 async function handlegotoelT(record) {
   isEdit.value = true;

+ 3 - 3
vite.config.ts

@@ -51,12 +51,12 @@ export default defineConfig({
     host: "0.0.0.0",
     proxy: {
       "/api": {
-        target: dev ? "http://192.168.0.108:8808" : "mix3d.4dkankan.com",
+        target: dev ? "http://testeur.4dkankan.com" : "mix3d.4dkankan.com",
         changeOrigin: true,
         rewrite: (path) => path.replace(new RegExp(`^/api`), ""),
       },
       "/fusion": {
-        target: dev ? "http://192.168.0.108:8808" : "mix3d.4dkankan.com",
+        target: dev ? "http://testeur.4dkankan.com" : "mix3d.4dkankan.com",
         changeOrigin: true,
         rewrite: (path) => path.replace(new RegExp(`^/api`), "/fusion"),
       },
@@ -75,7 +75,7 @@ export default defineConfig({
         rewrite: (path) => path.replace(new RegExp(`^/swkk`), ""),
       },
       "/service": {
-        target: dev ? "http://192.168.0.25" : "https://www.4dkankan.com",
+        target: dev ? "http://testeur.4dkankan.com" : "https://www.4dkankan.com",
         changeOrigin: true,
       },
       "/swss": {