bill 3 months ago
parent
commit
86d59cf548
6 changed files with 61 additions and 12 deletions
  1. 1 1
      .env.fusedev
  2. 12 0
      .env.jm
  3. 14 0
      .env.jmdev
  4. 12 0
      .env.jmtest
  5. 5 3
      package.json
  6. 17 8
      src/example/fuse/enter.ts

+ 1 - 1
.env.fusedev

@@ -1,4 +1,4 @@
-VITE_PRIMARY='#109BE0'
+VITE_PRIMARY='#D8000A'
 VITE_TITLE='绘图'
 VITE_ENTRY='./example/fuse/enter.ts'
 VITE_ENTRY_EXAMPLE='./main.ts'

+ 12 - 0
.env.jm

@@ -0,0 +1,12 @@
+VITE_PRIMARY='#109BE0'
+VITE_TITLE='绘图'
+VITE_ENTRY='./example/fuse/enter.ts'
+VITE_ENTRY_EXAMPLE='./main.ts'
+VITE_MESH_OSS='https://4dkk.4dage.com/'
+VITE_MESH_API='https://www.4dkankan.com/'
+VITE_CLOUD_API='https://laser.4dkankan.com/backend/'
+VITE_FUSE_API='https://mix3d.4dkankan.com/'
+VITE_MESH_VIEW='https://www.4dkankan.com/spg.html?m={m}&lang=zh'
+VITE_CLOUD_VIEW='https://laser.4dkankan.com/index.html?m={m}&lang=zh'
+VITE_FUSE_VIEW='https://mix3d.4dkankan.com/'
+VITE_LOGIN_VIEW='https://test-mix3d.4dkankan.com/fire/?redirect={redirect}#login'

+ 14 - 0
.env.jmdev

@@ -0,0 +1,14 @@
+VITE_PRIMARY='#109BE0'
+VITE_TITLE='绘图'
+VITE_ENTRY='./example/fuse/enter.ts'
+VITE_ENTRY_EXAMPLE='./main.ts'
+VITE_MOCK_ENV=fusetest
+VITE_MESH_OSS='/meshOSS/'
+VITE_MESH_API='/meshAPI/'
+VITE_CLOUD_API='/cloudAPI/'
+VITE_FUSE_API='/fuseAPI/'
+
+VITE_MESH_VIEW='https://test.4dkankan.com/spg.html?m={m}&lang=zh'
+VITE_CLOUD_VIEW='https://uat-laser.4dkankan.com/uat/index.html?m={m}&lang=zh'
+VITE_FUSE_VIEW='https://test-mix3d.4dkankan.com/'
+VITE_LOGIN_VIEW='https://test-mix3d.4dkankan.com/fire/?redirect={redirect}#login'

+ 12 - 0
.env.jmtest

@@ -0,0 +1,12 @@
+VITE_PRIMARY='#109BE0'
+VITE_TITLE='绘图'
+VITE_ENTRY='./example/fuse/enter.ts'
+VITE_ENTRY_EXAMPLE='./main.ts'
+VITE_MESH_OSS='https://4dkk.4dage.com/'
+VITE_MESH_API='https://test.4dkankan.com/'
+VITE_CLOUD_API='https://uat-laser.4dkankan.com/uat/'
+VITE_FUSE_API='https://test-mix3d.4dkankan.com/'
+VITE_MESH_VIEW='https://test.4dkankan.com/spg.html?m={m}&lang=zh'
+VITE_CLOUD_VIEW='https://uat-laser.4dkankan.com/uat/index.html?m={m}&lang=zh'
+VITE_FUSE_VIEW='https://test-mix3d.4dkankan.com/'
+VITE_LOGIN_VIEW='https://test-mix3d.4dkankan.com/fire/?redirect={redirect}#login'

+ 5 - 3
package.json

@@ -4,11 +4,13 @@
   "version": "0.0.0",
   "type": "module",
   "scripts": {
-    "dev:fuse": "vite --mode=fusetest",
+    "dev:fuse": "vite --mode=fusedev",
     "build:fusetest": "vite build --mode=fusetest",
     "build:fuse": "vite build --mode=fuse",
-    "build": "vite build",
-    "preview": "vite preview"
+
+    "dev:jm": "vite --mode=jmdev",
+    "build:jmtest": "vite build --mode=jmtest",
+    "build:jm": "vite build --mode=jm"
   },
   "dependencies": {
     "@amap/amap-jsapi-loader": "^1.0.1",

+ 17 - 8
src/example/fuse/enter.ts

@@ -60,22 +60,27 @@ const postFile = (url: string, data: Record<string, any>) => {
   );
 };
 
-const login = () => {
+const login = (isBack = true) => {
   if (import.meta.env.VITE_LOGIN_VIEW) {
-    setTimeout(() => {
-      location.replace(
-        tempStrFill(import.meta.env.VITE_LOGIN_VIEW, {
+    const link = isBack
+      ? tempStrFill(import.meta.env.VITE_LOGIN_VIEW, {
           redirect: escape(location.href),
         })
-      );
-    }, 1000);
+      : import.meta.env.VITE_LOGIN_VIEW;
+    const url = new URL(link)
+    if (!isBack) {
+      url.searchParams.delete('redirect')
+    }
+    location.replace(url.toString());
   }
 };
 
 const after = async (fet: Promise<Response>) => {
   const res = await fet.then((res) => res.json());
   if (res.code === 4008) {
-    login();
+    setTimeout(() => {
+      login();
+    }, 1000);
     throw res.message;
   } else if (res.code !== 0) {
     throw res.message;
@@ -84,7 +89,11 @@ const after = async (fet: Promise<Response>) => {
   }
 };
 
-const token = params.token;
+const token = (params.token || localStorage.getItem("token")) as string;
+if (!params.caseId || !token) {
+  login(!!params.caseId);
+}
+
 const getSceneList = genLoading(async (keyword: string): Promise<Scene[]> => {
   const list = await post(`fusion/case/sceneListPost`, {
     caseId: params.caseId,