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