浏览代码

feat(core): download

gemercheung 3 年之前
父节点
当前提交
b4065dd02d
共有 4 个文件被更改,包括 42 次插入26 次删除
  1. 1 1
      .env.development
  2. 5 4
      src/api/scene/list.ts
  3. 4 0
      src/api/scene/model.ts
  4. 32 21
      src/views/scenes/list.vue

+ 1 - 1
.env.development

@@ -7,7 +7,7 @@ VITE_PUBLIC_PATH = /
 # Cross-domain proxy, you can configure multiple
 # Please note that no line breaks
 # http://192.168.0.38:8190/shop
-VITE_PROXY = [["/basic-api","https://cszfb.4dkankan.com/basic-api"],["/kankan-api","http://test.4dkankan.jp"],["/zfb-api","https://cszfb.4dkankan.com"]]
+VITE_PROXY = [["/basic-api","https://cszfb.4dkankan.com/basic-api"],["/kankan-api","http://120.77.76.141:8080"],["/zfb-api","https://cszfb.4dkankan.com"]]
 #["/zfb-api","http://192.168.0.47:7081"]]
 # VITE_PROXY=[["/api","https://vvbin.cn/test"]]
 

+ 5 - 4
src/api/scene/list.ts

@@ -5,6 +5,7 @@ import {
   SceneEditParam,
   SceneDownloadParam,
   GetDownloadProcessModel,
+  SceneDownloadModel,
 } from './model';
 import { Result } from '/#/axios';
 
@@ -16,7 +17,7 @@ enum Api {
 
   pageList = '/kankan-api/api/manager/scene/list',
   generateSceneEditToken = '/kankan-api/api/manager/platform/generateSceneEditToken',
-  downloadSceneData = '/kankan-api/api/manager/user/downloadSceneData',
+  downloadSceneData = '/kankan-api/api/manager/user/downloadScene',
   getDownloadProcess = '/kankan-api/api/manager/user/downloadProcess',
   addDownloadNum = '/kankan-api/api/scene/addDownloadNum',
   checkDownload = '/kankan-api/api/manager/user/checkDownload',
@@ -37,7 +38,7 @@ export const ListApi = (params: PageParams) =>
   });
 
 export const downloadSceneDataAPi = (params: SceneDownloadParam) =>
-  defHttp.get<Result>({
+  defHttp.post<SceneDownloadModel>({
     url: Api.downloadSceneData,
     params,
     headers: {
@@ -46,7 +47,7 @@ export const downloadSceneDataAPi = (params: SceneDownloadParam) =>
     },
   });
 export const getDownloadProcessApi = (params: SceneDownloadParam) =>
-  defHttp.get<GetDownloadProcessModel>({
+  defHttp.post<GetDownloadProcessModel>({
     url: Api.getDownloadProcess,
     params,
     headers: {
@@ -75,7 +76,7 @@ export const addDownloadNumApi = (params: SceneDownloadParam) =>
     },
   });
 export const checkDownloadApi = (params: SceneDownloadParam) =>
-  defHttp.post<Result>({
+  defHttp.post<SceneDownloadModel>({
     url: Api.checkDownload,
     params,
     headers: {

+ 4 - 0
src/api/scene/model.ts

@@ -12,6 +12,7 @@ export interface bindAnchorListParam {
 export interface SceneDownloadParam {
   sceneNum?: string;
 }
+
 export interface SceneEditParam {
   sceneNum: string;
   userName: string;
@@ -71,6 +72,9 @@ export interface sceneItem {
   updateTime: number;
   updateUserId: number;
 }
+export interface SceneDownloadModel {
+  downloadStatus?: number;
+}
 /**
  * @description: Request list return value
  */

+ 32 - 21
src/views/scenes/list.vue

@@ -11,7 +11,7 @@
         <TableImg
           :size="120"
           :simpleShow="true"
-          :imgList="[record.appListPicUrl || '/resource/img/pic_bg@2x.png']"
+          :imgList="[record.thumb || '/resource/img/pic_bg@2x.png']"
         />
       </template>
       <template #action="{ record }">
@@ -67,14 +67,20 @@
   // import { h } from 'vue';
   // addDownloadNumApi,
   // checkDownloadApi,
-  import { ListApi, generateSceneEditTokenApi, downloadSceneDataAPi } from '/@/api/scene/list';
-  import { useI18n } from '/@/hooks/web/useI18n';
   import {
-    downloadByUrl,
-    // downloadByData,
-    // downloadByBase64,
-    // downloadByOnlineUrl,
-  } from '/@/utils/file/download';
+    ListApi,
+    generateSceneEditTokenApi,
+    downloadSceneDataAPi,
+    addDownloadNumApi,
+    checkDownloadApi,
+  } from '/@/api/scene/list';
+  import { useI18n } from '/@/hooks/web/useI18n';
+  // import {
+  //   downloadByUrl,
+  //   // downloadByData,
+  //   // downloadByBase64,
+  //   // downloadByOnlineUrl,
+  // } from '/@/utils/file/download';
 
   import { useUserStore } from '/@/store/modules/user';
   import DownloadModal from './downloadModal.vue';
@@ -113,7 +119,7 @@
         },
         {
           title: t('routes.scenes.appListPicUrl'),
-          dataIndex: 'appListPicUrl',
+          dataIndex: 'thumb',
           slots: { customRender: 'cover' },
           width: 150,
         },
@@ -233,11 +239,19 @@
       }
 
       async function handleDownloadScene(record: Recordable) {
+        await addDownloadNumApi({
+          sceneNum: record.num,
+        });
+        const checker = await checkDownloadApi({
+          sceneNum: record.num,
+        });
         const res = await downloadSceneDataAPi({
           sceneNum: record.num,
         });
-        const downloadUrl = res as any as string;
-        console.log('downloadUrl', downloadUrl, res);
+        console.log('res', res);
+
+        // const downloadUrl = res as any as string;
+        // console.log('downloadUrl', downloadUrl, res);
         /**
          * mark 2022-03-22 message return success 是要进入openDownloadModal轮询,非表面「成功」字意思。
          * message return url 指已下载,转mimeType download
@@ -246,16 +260,13 @@
          *  现在 downloadUrl 是 string[success] / string[url]
          *
          * */
-
-        if (downloadUrl?.length > 0) {
-          if (downloadUrl === 'success') {
-            await openDownloadModal(true, record);
-          } else {
-            downloadByUrl({
-              url: downloadUrl as any as string,
-              target: '_self',
-            });
-          }
+        // await openDownloadModal(true, record);
+        // downloadByUrl({
+        //   url: downloadUrl as any as string,
+        //   target: '_self',
+        // });
+        if (checker.downloadStatus === 0) {
+          await openDownloadModal(true, record);
         }
       }
       return {