From 4de5f40a1a7df4a252b0f44869e7599a066c06b2 Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期三, 15 十一月 2023 09:16:23 +0800
Subject: [PATCH] 修改视频专网

---
 src/views/index.vue                 |   67 +++++++++++++++++++++++++--------
 vite.config.ts                      |    4 +-
 src/views/login.vue                 |   14 +++++-
 package.json                        |    8 ++-
 src/layout/index.vue                |    8 ++-
 src/js-modules.ts                   |    1 
 src/components/FileUpload/index.vue |   10 +++--
 src/api/system/oss/types.ts         |    1 
 8 files changed, 82 insertions(+), 31 deletions(-)

diff --git a/package.json b/package.json
index 1772d36..eae5521 100644
--- a/package.json
+++ b/package.json
@@ -18,19 +18,21 @@
   },
   "dependencies": {
     "@element-plus/icons-vue": "2.1.0",
+    "@fingerprintjs/fingerprintjs": "^4.1.0",
     "@vueup/vue-quill": "1.2.0",
     "@vueuse/core": "9.5.0",
     "animate.css": "4.1.1",
     "await-to-js": "^3.0.0",
     "axios": "^1.3.4",
+    "crypto-js": "^4.1.1",
     "echarts": "5.4.0",
     "element-plus": "2.2.27",
     "file-saver": "2.0.5",
     "fuse.js": "6.6.2",
     "js-cookie": "3.0.1",
     "jsencrypt": "3.3.1",
-    "crypto-js": "^4.1.1",
     "nprogress": "0.2.0",
+    "os": "^0.1.2",
     "path-browserify": "1.0.1",
     "path-to-regexp": "6.2.0",
     "pinia": "2.0.22",
@@ -48,7 +50,7 @@
     "@types/crypto-js": "^4.1.1",
     "@types/file-saver": "2.0.5",
     "@types/js-cookie": "3.0.3",
-    "@types/node": "18.14.2",
+    "@types/node": "^18.18.9",
     "@types/nprogress": "0.2.0",
     "@types/path-browserify": "^1.0.0",
     "@typescript-eslint/eslint-plugin": "5.56.0",
@@ -73,10 +75,10 @@
     "unplugin-auto-import": "0.13.0",
     "unplugin-icons": "0.15.1",
     "unplugin-vue-components": "0.23.0",
+    "unplugin-vue-setup-extend-plus": "0.4.9",
     "vite": "4.3.1",
     "vite-plugin-compression": "0.5.1",
     "vite-plugin-svg-icons": "2.0.1",
-    "unplugin-vue-setup-extend-plus": "0.4.9",
     "vitest": "^0.29.7",
     "vue-eslint-parser": "9.1.0",
     "vue-tsc": "0.35.0"
diff --git a/src/api/system/oss/types.ts b/src/api/system/oss/types.ts
index bc0bc1f..fd6c6a1 100644
--- a/src/api/system/oss/types.ts
+++ b/src/api/system/oss/types.ts
@@ -6,6 +6,7 @@
   url: string;
   createByName: string;
   service: string;
+  password: string | number;
 }
 
 export interface OssQuery extends PageQuery {
diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue
index 681185a..9d3474b 100644
--- a/src/components/FileUpload/index.vue
+++ b/src/components/FileUpload/index.vue
@@ -11,6 +11,7 @@
       class="upload-file-uploader"
       ref="fileUploadRef"
       :auto-upload="false"
+      :on-exceed="handleExceed"
     >
       <!-- 涓婁紶鎸夐挳 -->
       <el-button type="primary">閫夊彇鏂囦欢</el-button>
@@ -47,9 +48,9 @@
 const props = defineProps({
     modelValue: [String, Object, Array],
     // 鏁伴噺闄愬埗
-    limit: propTypes.number.def(10),
+    limit: propTypes.number.def(1),
     // 澶у皬闄愬埗(MB)
-    fileSize: propTypes.number.def(5),
+    fileSize: propTypes.number.def(200),
     // 鏂囦欢绫诲瀷, 渚嬪['png', 'jpg', 'jpeg']
     fileType: propTypes.array.def(["doc","docx","xlsx", "xls", "ppt", "txt", "pdf"]),
     // 鏄惁鏄剧ず鎻愮ず
@@ -174,8 +175,9 @@
 // 涓婁紶鎴愬姛鍥炶皟
 const handleUploadSuccess = (res: any, file: UploadFile) => {
     if (res.code === 200) {
-      emit('closePopup')
-      console.log('璋冪敤鐖剁粍浠�');
+      emit('closePopup',res.data)
+
+      console.log('璋冪敤鐖剁粍浠�',res);
       fileUploadRef.value!.clearFiles()
       downloadLoadingInstance.close();
         uploadList.value.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId });
diff --git a/src/js-modules.ts b/src/js-modules.ts
new file mode 100644
index 0000000..149d663
--- /dev/null
+++ b/src/js-modules.ts
@@ -0,0 +1 @@
+declare module 'os'
diff --git a/src/layout/index.vue b/src/layout/index.vue
index 8239ed7..885499c 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -1,5 +1,5 @@
 <template>
-  <div :class="classObj" class="app-wrapper" :style="{ '--current-color': theme }">
+  <div :class="classObj" class="app-wrapper " :style="{ '--current-color': theme }">
     <div v-if="device === 'mobile' && sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
     <side-bar v-if="!sidebar.hide" class="sidebar-container" />
     <div :class="{ hasTagsView: needTagsView, sidebarHide: sidebar.hide }" class="main-container">
@@ -35,8 +35,10 @@
 const fixedHeader = computed(() => settingsStore.fixedHeader);
 
 const classObj = computed(() => ({
-    hideSidebar: !sidebar.value.opened,
-    openSidebar: sidebar.value.opened,
+    // hideSidebar: !sidebar.value.opened,
+  hideSidebar: true,
+    // openSidebar: sidebar.value.opened,
+  openSidebar: false,
     withoutAnimation: sidebar.value.withoutAnimation,
     mobile: device.value === 'mobile'
 }))
diff --git a/src/views/index.vue b/src/views/index.vue
index cb759dd..62f6842 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -25,11 +25,11 @@
             <el-button type="primary" plain icon="Upload" @click="handleFile" v-if="isContains(useUserStore().permissions, 'system:oss:upload')">涓婁紶鏂囦欢</el-button>
           </el-col>
 
-          <el-col :span="1.5">
-            <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-if="isContains(useUserStore().permissions, 'system:oss:remove')">
-              鍒犻櫎
-            </el-button>
-          </el-col>
+<!--          <el-col :span="1.5">-->
+<!--            <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-if="isContains(useUserStore().permissions, 'system:oss:remove')">-->
+<!--              鍒犻櫎-->
+<!--            </el-button>-->
+<!--          </el-col>-->
           <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
       </template>
@@ -41,9 +41,10 @@
         @header-click="handleHeaderCLick"
         v-if="showTable"
       >
-        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column type="index"  />
+<!--        <el-table-column type="selection" width="55" align="center" />-->
         <el-table-column label="鍘熷悕" align="center" prop="originalName" />
-        <el-table-column label="涓婁紶浜�" align="center" prop="createByName" />
+        <el-table-column label="涓婁紶鏃堕棿" align="center" prop="createTime" />
         <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
           <template #default="scope">
             <el-tooltip content="鏌ョ湅鎻愬彇鐮�" placement="top">
@@ -65,7 +66,7 @@
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
       <el-form ref="ossFormRef" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="鏂囦欢鍚�">
-          <fileUpload ref="childFile" @closePopup="getList()"  v-model="form.file"  v-if="type === 0" />
+          <fileUpload ref="childFile" @closePopup="getList();lookPawsd($event)"  v-model="form.file"  v-if="type === 0" />
           <imageUpload v-model="form.file" v-if="type === 1" />
           <video-upload v-model="form.file" v-if="type === 2" />"
         </el-form-item>
@@ -78,9 +79,15 @@
       </template>
     </el-dialog>
     <el-dialog :title="titleDownload" v-model="visibleCode" width="500px" append-to-body>
+      <p style="color: red">鎻愬彇鐮佸皢浼氬湪24灏忔椂鍚庡け鏁堣灏藉揩涓嬭浇!</p>
       <span v-show="titleDownload=='鏌ョ湅鎻愬彇鐮�'">{{testtxt}}</span>
-      <el-input style="margin: 10px 0" ref="inputRef" :style="inputSty" v-show="titleDownload!='鏌ョ湅鎻愬彇鐮�'"  v-model="pasTxt" v-if="isContains(useUserStore().permissions, 'system:oss:download')" placeholder="璇疯緭鍏ユ枃浠舵彁鍙栫爜"></el-input>
-      <el-button link type="primary"   v-show="titleDownload!='鏌ョ湅鎻愬彇鐮�'" icon="Download" @click="handleDownloadFile()" v-if="isContains(useUserStore().permissions, 'system:oss:download')">涓嬭浇</el-button>
+      <div  >
+
+      </div>
+      <el-input style="margin: 10px 0" ref="inputRef" :style="inputSty" v-show="titleDownload=='杈撳叆鎻愬彇鐮�'"  v-model="pasTxt" v-if="isContains(useUserStore().permissions, 'system:oss:download')" placeholder="璇疯緭鍏ユ枃浠舵彁鍙栫爜"></el-input>
+      <el-input style="margin: 10px 0" ref="inputRef" :style="inputSty" v-show="titleDownload=='璇疯緭鍏ユ彁鍙栫爜'"  v-model="pasTxt"  placeholder="璇疯緭鍏ユ枃浠舵彁鍙栫爜"></el-input>
+      <el-button link type="primary"   v-show="titleDownload=='杈撳叆鎻愬彇鐮�'" icon="Download" @click="handleDownloadFile()" v-if="isContains(useUserStore().permissions, 'system:oss:download')">涓嬭浇</el-button>
+      <el-button link type="primary"   v-show="titleDownload=='璇疯緭鍏ユ彁鍙栫爜'"  icon="Delete" @click="delFile()" >鍒犻櫎</el-button>
       <template #footer>
         <div class="dialog-footer">
           <el-button  type="primary" @click="visibleCode = false">纭� 瀹�</el-button>
@@ -127,6 +134,7 @@
 const inputSty =ref<any>()
 const currentIp = ref('')
 const childFile = ref<any>()
+const figType = ref<any>()
 // 榛樿鎺掑簭
 const defaultSort = ref({ prop: 'createTime', order: 'ascending' });
 
@@ -281,6 +289,13 @@
   await childFile.value.handleCilck()
   dialog.visible = false;
 }
+const lookPawsd = async (row: OssVO) => {
+  console.log(row, row.ossId);
+      testtxt.value = row.password;
+      titleDownload.value = '鏌ョ湅鎻愬彇鐮�'
+      pasTxt.value = ''
+      visibleCode.value = true
+}
 const handleCode = async (row: OssVO) => {
   console.log(row, row.ossId);
 
@@ -314,6 +329,13 @@
   downIds.value = ref(row.ossId)
   console.log(toRaw(downIds.value.value));
 }
+const delFile=async () => {
+  let oss = figType.value+'/'+ pasTxt.value;
+  await delOss(oss).finally(() => loading.value = false);
+  await getList();
+  proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+  visibleCode.value = false
+}
 const handleDownloadFile = ()=>{
   console.log(downIds.value);
   if (pasTxt.value){
@@ -330,12 +352,22 @@
 /** 鐢ㄦ埛鐘舵�佷慨鏀�  */
 /** 鍒犻櫎鎸夐挳鎿嶄綔 */
 const handleDelete = async (row?: OssVO) => {
-  const ossIds = row?.ossId || ids.value;
-  await proxy?.$modal.confirm('鏄惁纭鍒犻櫎OSS瀵硅薄瀛樺偍缂栧彿涓�"' + ossIds + '"鐨勬暟鎹」?');
-  loading.value = true;
-  await delOss(ossIds).finally(() => loading.value = false);
-  await getList();
-  proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+  let ossIds = row?.ossId || ids.value;
+  titleDownload.value = '璇疯緭鍏ユ彁鍙栫爜'
+  pasTxt.value = ''
+  inputSty.value ={
+    border: '1px solid blue',
+    borderRadius: '5px'
+  }
+  visibleCode.value = true
+  figType.value = ossIds
+  console.log(figType);
+  // await proxy?.$modal.confirm('鏄惁纭鍒犻櫎OSS瀵硅薄瀛樺偍缂栧彿涓�"' + ossIds + '"鐨勬暟鎹」?');
+  // loading.value = true;
+  // ossIds = ossIds+'/'+pasTxt.value;
+  // await delOss(ossIds).finally(() => loading.value = false);
+  // await getList();
+  // proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
 }
 const refreshPage = async () => {
   const accessRoutes = await usePermissionStore().generateRoutes();
@@ -402,8 +434,11 @@
   // 绛夊緟 useUserStore() 鏂规硶鐨� getInfo() 鏂规硶杩斿洖缁撴灉骞惰祴鍊肩粰 err 鍙橀噺
   // const [err] = await tos(useUserStore().getInfo());
   if (getToken()){
+    console.log('鏈塼oken');
     await getList();
   }else {
+    console.log('鏃爐oken');
+
     router.push('/login')
   }
   // 璋冪敤 getList() 鏂规硶
diff --git a/src/views/login.vue b/src/views/login.vue
index 96e8be5..3fc0f89 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -205,6 +205,7 @@
   });
 };
 
+
 const setAddUser = async (val: any | number | (string | number)[]) => {
   console.log(val);
   const res = await createUser(val)
@@ -215,8 +216,17 @@
 
   }
 }
+import FingerprintJS from '@fingerprintjs/fingerprintjs'
 
 onMounted(async () => {
+
+  FingerprintJS.load().then(fp => {
+    fp.get().then(result => {
+      const visitorId = result.visitorId;
+      console.log(visitorId,'娴忚鍣ㄦ寚绾硅瘑鍒爜');
+    });
+  });
+
   try {
     // 浣跨敤fetch API鑾峰彇褰撳墠IP鍦板潃
     await fetch('https://api.ipify.org/?format=json')
@@ -234,9 +244,7 @@
     console.log(error);
   }
   router.push('index')
-  // getCode();
-  // initTenantList();
-  // getLoginData();
+
 });
 </script>
 
diff --git a/vite.config.ts b/vite.config.ts
index 0d1183e..09b4663 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -26,8 +26,8 @@
       open: true,
       proxy: {
         [env.VITE_APP_BASE_API]: {
-          target: 'http://162.14.79.111:8080',
-          // target: 'http://192.168.3.228:8080',
+          // target: 'http://162.14.79.111:8080',
+          target: 'http://192.168.3.228:8080',
           changeOrigin: true,
           rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '')
         }

--
Gitblit v1.8.0